[llvm] [PassBuilder] Remove LoopFullUnrollPass from before LoopVectorize in the FullLTO pipeline (PR #197176)

Momchil Velikov via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 9 02:48:46 PDT 2026


================
@@ -2226,12 +2226,10 @@ PassBuilder::buildLTODefaultPipeline(OptimizationLevel Level,
   LPM.addPass(LoopDeletionPass());
   // FIXME: Add loop interchange.
 
-  // Unroll small loops and perform peeling.
-  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.
+  // TODO: Explore enabling MemorySSA for loop passes after we remove the
+  // LoopFullUnrollPass.
----------------
momchil-velikov wrote:

Done

https://github.com/llvm/llvm-project/pull/197176


More information about the llvm-commits mailing list