forked from OSchip/llvm-project
[PassBuilder] Don't use MemorySSA for standalone LoopRotate passes
Two standalone LoopRotate passes scheduled using createFunctionToLoopPassAdaptor() currently enable MemorySSA. However, while LoopRotate can preserve MemorySSA, it does not use it, so requiring MemorySSA is unnecessary. This change doesn't have a practical compile-time impact by itself, because subsequent passes still request MemorySSA. Differential Revision: https://reviews.llvm.org/D108073
This commit is contained in:
parent
427c9aa7c4
commit
0a031449b2
|
@ -134,7 +134,6 @@
|
|||
; CHECK-O: Running pass: LoopSimplifyPass on main
|
||||
; CHECK-O: Running analysis: LoopAnalysis on main
|
||||
; CHECK-O: Running pass: LCSSAPass on main
|
||||
; CHECK-O: Running analysis: MemorySSAAnalysis on main
|
||||
; CHECK-O: Running analysis: AAManager on main
|
||||
; CHECK-O: Running analysis: BasicAA on main
|
||||
; CHECK-O: Running analysis: ScalarEvolutionAnalysis on main
|
||||
|
@ -147,6 +146,7 @@
|
|||
; CHECK-O: Running analysis: BranchProbabilityAnalysis on main
|
||||
; CHECK-O: Running analysis: PostDominatorTreeAnalysis on main
|
||||
; CHECK-O: Running analysis: DemandedBitsAnalysis on main
|
||||
; CHECK-O: Running analysis: MemorySSAAnalysis on main
|
||||
; CHECK-O: Running pass: LoopLoadEliminationPass on main
|
||||
; CHECK-O: Running pass: InstCombinePass on main
|
||||
; CHECK-O: Running pass: SimplifyCFGPass on main
|
||||
|
|
|
@ -923,7 +923,7 @@ void PassBuilder::addPGOInstrPasses(ModulePassManager &MPM,
|
|||
FunctionPassManager FPM;
|
||||
// Disable header duplication in loop rotation at -Oz.
|
||||
FPM.addPass(createFunctionToLoopPassAdaptor(
|
||||
LoopRotatePass(Level != OptimizationLevel::Oz), EnableMSSALoopDependency,
|
||||
LoopRotatePass(Level != OptimizationLevel::Oz), /*UseMemorySSA=*/false,
|
||||
/*UseBlockFrequencyInfo=*/false));
|
||||
MPM.addPass(createModuleToFunctionPassAdaptor(std::move(FPM)));
|
||||
|
||||
|
@ -1399,8 +1399,7 @@ PassBuilder::buildModuleOptimizationPipeline(OptimizationLevel Level,
|
|||
// Disable header duplication at -Oz.
|
||||
OptimizePM.addPass(createFunctionToLoopPassAdaptor(
|
||||
LoopRotatePass(Level != OptimizationLevel::Oz, LTOPreLink),
|
||||
EnableMSSALoopDependency,
|
||||
/*UseBlockFrequencyInfo=*/false));
|
||||
/*UseMemorySSA=*/false, /*UseBlockFrequencyInfo=*/false));
|
||||
|
||||
// Distribute loops to allow partial vectorization. I.e. isolate dependences
|
||||
// into separate loop that would otherwise inhibit vectorization. This is
|
||||
|
|
Loading…
Reference in New Issue