aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2016-07-28 03:28:43 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2016-07-28 03:28:43 +0000
commit6e9b47bc8a52bc6a42fede54d385804700218f25 (patch)
tree5a6f4538fca27d39399673e7803c7fc4ffe8c672 /llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
parent0be7155350be3f26108487f0cb10ae0b183ea5a8 (diff)
downloadllvm-6e9b47bc8a52bc6a42fede54d385804700218f25.zip
llvm-6e9b47bc8a52bc6a42fede54d385804700218f25.tar.gz
llvm-6e9b47bc8a52bc6a42fede54d385804700218f25.tar.bz2
Add EP_CGSCCOptimizerLate extension point to PassManagerBuilder
The EP_CGSCCOptimizerLate extension point allows adding CallGraphSCC passes at the end of the main CallGraphSCC passes and before any function simplification passes run by CGPassManager. Patch by Gor Nishanov! Differential Revision: https://reviews.llvm.org/D22897 llvm-svn: 276953
Diffstat (limited to 'llvm/lib/Transforms/IPO/PassManagerBuilder.cpp')
-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 ec3973e..99fb422 100644
--- a/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
+++ b/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
@@ -440,6 +440,7 @@ void PassManagerBuilder::populateModulePassManager(
if (OptLevel > 2)
MPM.add(createArgumentPromotionPass()); // Scalarize uninlined fn args
+ addExtensionsToPM(EP_CGSCCOptimizerLate, MPM);
addFunctionSimplificationPasses(MPM);
// FIXME: This is a HACK! The inliner pass above implicitly creates a CGSCC