summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachineBasicBlock.cpp
diff options
context:
space:
mode:
authorKit Barton <kbarton@ca.ibm.com>2015-08-06 18:02:53 +0000
committerKit Barton <kbarton@ca.ibm.com>2015-08-06 18:02:53 +0000
commit45c20b474e8057b8dae813b799136ca4d36bdcb7 (patch)
tree024c4b065a254bdafe99ffce7fc3e2dc0679adfc /llvm/lib/CodeGen/MachineBasicBlock.cpp
parentcc9fd3cbe9dec96598f97070e31ee7474360edf3 (diff)
downloadbcm5719-llvm-45c20b474e8057b8dae813b799136ca4d36bdcb7.tar.gz
bcm5719-llvm-45c20b474e8057b8dae813b799136ca4d36bdcb7.zip
This patch changes the interface to enable the shrink wrapping optimization.
It adds a new constructor, which takes a std::function predicate function that is run at the beginning of shrink wrapping to determine whether the optimization should run on the given machine function. The std::function can be overridden by each target, allowing target-specific decisions to be made on each machine function. This is necessary for PowerPC, as the decision to run shrink wrapping is partially based on the ABI. Futhermore, this operates nicely with the GCC iFunc capability, which allows option overrides on a per-function basis. Phabricator: http://reviews.llvm.org/D11421 llvm-svn: 244235
Diffstat (limited to 'llvm/lib/CodeGen/MachineBasicBlock.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud