summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2012-04-08 17:51:45 +0000
committerChandler Carruth <chandlerc@gmail.com>2012-04-08 17:51:45 +0000
commitede4a8aa2be346d4f175e61cf4a18a023ea3198d (patch)
tree22fc4c7592d859d08f4da518df0429a3c9100236 /llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
parent16f0ebcbb576f197422426b64f4ad54269f273d1 (diff)
downloadbcm5719-llvm-ede4a8aa2be346d4f175e61cf4a18a023ea3198d.tar.gz
bcm5719-llvm-ede4a8aa2be346d4f175e61cf4a18a023ea3198d.zip
Teach LLVM about a PIE option which, when enabled on top of PIC, makes
optimizations which are valid for position independent code being linked into a single executable, but not for such code being linked into a shared library. I discussed the design of this with Eric Christopher, and the decision was to support an optional bit rather than a completely separate relocation model. Fundamentally, this is still PIC relocation, its just that certain optimizations are only valid under a PIC relocation model when the resulting code won't be in a shared library. The simplest path to here is to expose a single bit option in the TargetOptions. If folks have different/better designs, I'm all ears. =] I've included the first optimization based upon this: changing TLS models to the *Exec models when PIE is enabled. This is the LLVM component of PR12380 and is all of the hard work. llvm-svn: 154294
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud