llvm.org GIT mirror llvm / 396de7f
Add loop pass insertion point EP_LateLoopOptimizations Differential Revision: https://reviews.llvm.org/D28694 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@293067 91177308-0d34-0410-b5e6-96231b3b80d8 Krzysztof Parzyszek 2 years ago
2 changed file(s) with 10 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
100100 /// will be inserted after each instance of the instruction combiner pass.
101101 EP_Peephole,
102102
103 /// EP_LateLoopOptimizations - This extension point allows adding late loop
104 /// canonicalization and simplification passes. This is the last point in
105 /// the loop optimization pipeline before loop deletion. Each pass added
106 /// here must be an instance of LoopPass.
107 /// This is the place to add passes that can remove loops, such as target-
108 /// specific loop idiom recognition.
109 EP_LateLoopOptimizations,
110
103111 /// EP_CGSCCOptimizerLate - This extension point allows adding CallGraphSCC
104112 /// passes at the end of the main CallGraphSCC passes and before any
105113 /// function simplification passes run by CGPassManager.
315315 addInstructionCombiningPass(MPM);
316316 MPM.add(createIndVarSimplifyPass()); // Canonicalize indvars
317317 MPM.add(createLoopIdiomPass()); // Recognize idioms like memset.
318 addExtensionsToPM(EP_LateLoopOptimizations, MPM);
318319 MPM.add(createLoopDeletionPass()); // Delete dead loops
320
319321 if (EnableLoopInterchange) {
320322 MPM.add(createLoopInterchangePass()); // Interchange loops
321323 MPM.add(createCFGSimplificationPass());