summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorJames Molloy <james.molloy@arm.com>2015-11-18 11:24:42 +0000
committerJames Molloy <james.molloy@arm.com>2015-11-18 11:24:42 +0000
commit9ad4f225382fa8cc1281965eeb271e31841c2411 (patch)
tree47d002e73f10340a63491cb30a6ac82474d2a3b1 /llvm/lib/Transforms
parent0d957b8b091e58939e56ca1046a5dcb1d2017ca4 (diff)
downloadbcm5719-llvm-9ad4f225382fa8cc1281965eeb271e31841c2411.tar.gz
bcm5719-llvm-9ad4f225382fa8cc1281965eeb271e31841c2411.zip
[LTO] Add an early run of functionattrs
Because we internalize early, we can potentially mark a bunch of functions as norecurse. Do this before globalopt. llvm-svn: 253451
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/IPO/PassManagerBuilder.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp b/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
index 6e0d23961ca..ec6f21e8c64 100644
--- a/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
+++ b/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
@@ -482,6 +482,7 @@ void PassManagerBuilder::addLTOOptimizationPasses(legacy::PassManagerBase &PM) {
PM.add(createIPSCCPPass());
// Now that we internalized some globals, see if we can hack on them!
+ PM.add(createFunctionAttrsPass()); // Add norecurse if possible.
PM.add(createGlobalOptimizerPass());
// Linking modules together can lead to duplicated global constants, only
OpenPOWER on IntegriCloud