[NPM][LTO] Do not enable MemorySSA with LoopFullUnrollPass As with the standard opt pipeline, we disable the MemorySSA dependency in the LTO LPM pipeline as not all passes preserve MemorySSA. GitOrigin-RevId: c141c6551be64f220b71786d24e98f6de906e6de
diff --git a/lib/Passes/PassBuilder.cpp b/lib/Passes/PassBuilder.cpp index 1581af9..236d54b 100644 --- a/lib/Passes/PassBuilder.cpp +++ b/lib/Passes/PassBuilder.cpp
@@ -1764,8 +1764,10 @@ LPM.addPass(LoopFullUnrollPass(Level.getSpeedupLevel(), /* OnlyWhenForced= */ !PTO.LoopUnrolling, PTO.ForgetAllSCEVInLoopUnroll)); + // The loop passes in LPM (LoopFullUnrollPass) do not preserve MemorySSA. + // *All* loop passes must preserve it, in order to be able to use it. MainFPM.addPass(createFunctionToLoopPassAdaptor( - std::move(LPM), EnableMSSALoopDependency, /*UseBlockFrequencyInfo=*/true, + std::move(LPM), /*UseMemorySSA=*/false, /*UseBlockFrequencyInfo=*/true, DebugLogging)); MainFPM.addPass(LoopDistributePass());