mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 12:12:47 +01:00
[Passes] Use MemorySSA for LICM during LTO.
Split off from D102345 to commit this separately from other changes in the patch. This aligns the behavior of the new PM with the legacy PM for LTO, with respect to running LICM. Together with the remaining changes in D102345, this fixes new PM regressions where we fail to vectorize loops that are vectorized with the legacy PM.
This commit is contained in:
parent
9adf3b1a1e
commit
9aee17d8b4
@ -1826,7 +1826,8 @@ PassBuilder::buildLTODefaultPipeline(OptimizationLevel Level,
|
||||
FunctionPassManager MainFPM;
|
||||
|
||||
MainFPM.addPass(createFunctionToLoopPassAdaptor(
|
||||
LICMPass(PTO.LicmMssaOptCap, PTO.LicmMssaNoAccForPromotionCap)));
|
||||
LICMPass(PTO.LicmMssaOptCap, PTO.LicmMssaNoAccForPromotionCap),
|
||||
EnableMSSALoopDependency, /*UseBlockFrequencyInfo=*/true));
|
||||
|
||||
if (RunNewGVN)
|
||||
MainFPM.addPass(NewGVNPass());
|
||||
|
@ -82,6 +82,7 @@
|
||||
; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass on foo
|
||||
; CHECK-O23SZ-NEXT: Running analysis: LoopAnalysis on foo
|
||||
; CHECK-O23SZ-NEXT: Running pass: LCSSAPass on foo
|
||||
; CHECK-O23SZ-NEXT: Running analysis: MemorySSAAnalysis on foo
|
||||
; CHECK-O23SZ-NEXT: Running analysis: ScalarEvolutionAnalysis on foo
|
||||
; CHECK-O23SZ-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O23SZ-NEXT: Running pass: LICMPass on Loop
|
||||
@ -89,7 +90,6 @@
|
||||
; CHECK-O23SZ-NEXT: Running analysis: MemoryDependenceAnalysis on foo
|
||||
; CHECK-O23SZ-NEXT: Running analysis: PhiValuesAnalysis on foo
|
||||
; CHECK-O23SZ-NEXT: Running pass: MemCpyOptPass on foo
|
||||
; CHECK-O23SZ-NEXT: Running analysis: MemorySSAAnalysis on foo
|
||||
; CHECK-O23SZ-NEXT: Running pass: DSEPass on foo
|
||||
; CHECK-O23SZ-NEXT: Running analysis: PostDominatorTreeAnalysis on foo
|
||||
; CHECK-O23SZ-NEXT: Running pass: MergedLoadStoreMotionPass on foo
|
||||
|
Loading…
Reference in New Issue
Block a user