forked from OSchip/llvm-project
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
This commit is contained in:
parent
0be7155350
commit
6e9b47bc8a
|
@ -100,6 +100,11 @@ public:
|
|||
/// peephole optimizations similar to the instruction combiner. These passes
|
||||
/// will be inserted after each instance of the instruction combiner pass.
|
||||
EP_Peephole,
|
||||
|
||||
/// EP_CGSCCOptimizerLate - This extension point allows adding CallGraphSCC
|
||||
/// passes at the end of the main CallGraphSCC passes and before any
|
||||
/// function simplification passes run by CGPassManager.
|
||||
EP_CGSCCOptimizerLate,
|
||||
};
|
||||
|
||||
/// The Optimization Level - Specify the basic optimization level.
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue