summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/SystemZ/SystemZConstantPoolValue.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [SystemZ] Support all TLS access models - CodeGen partUlrich Weigand2015-02-181-0/+5
| | | | | | | | | | | | | | | | | | | | | | The current SystemZ back-end only supports the local-exec TLS access model. This patch adds all required CodeGen support for the other TLS models, which means in particular: - Expand initial-exec TLS accesses by loading TLS offsets from the GOT using @indntpoff relocations. - Expand general-dynamic and local-dynamic accesses by generating the appropriate calls to __tls_get_offset. Note that this routine has a non-standard ABI and requires loading the GOT pointer into %r12, so the patch also adds support for the GLOBAL_OFFSET_TABLE ISD node. - Add a new platform-specific optimization pass to remove redundant __tls_get_offset calls in the local-dynamic model (modeled after the corresponding X86 pass). - Add test cases verifying all access models and optimizations. llvm-svn: 229654
* [SystemZ] Use "auto" for cast resultsRichard Sandiford2014-03-061-1/+1
| | | | | | No functional change intended. llvm-svn: 203106
* Replace some unnecessary vector copies with references.Benjamin Kramer2013-09-151-1/+1
| | | | llvm-svn: 190770
* [SystemZ] Add back endUlrich Weigand2013-05-061-0/+62
This adds the actual lib/Target/SystemZ target files necessary to implement the SystemZ target. Note that at this point, the target cannot yet be built since the configure bits are missing. Those will be provided shortly by a follow-on patch. This version of the patch incorporates feedback from reviews by Chris Lattner and Anton Korobeynikov. Thanks to all reviewers! Patch by Richard Sandiford. llvm-svn: 181203
OpenPOWER on IntegriCloud