https://github.com/vikramRH updated 
https://github.com/llvm/llvm-project/pull/176692

>From 1b3fa6f4653fc2d470ab7ea3e2a726eb9457ed28 Mon Sep 17 00:00:00 2001
From: vikhegde <[email protected]>
Date: Fri, 16 Jan 2026 14:53:54 +0530
Subject: [PATCH] [CodeGen][LSR][NPM] Make LoopStrengthReduce pass preserve
 LCSSA

---
 llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp 
b/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
index e9d78baece25b..0791689660b00 100644
--- a/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
+++ b/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
@@ -7136,6 +7136,10 @@ PreservedAnalyses LoopStrengthReducePass::run(Loop &L, 
LoopAnalysisManager &AM,
                           AR.DT, AR.LI, AR.TTI, AR.AC, AR.TLI, AR.MSSA))
     return PreservedAnalyses::all();
 
+  // TODO: Remove this once the LSR handles LCSSA preservation completely.
+  if (auto *OuterLoop = L.getOutermostLoop())
+    formLCSSARecursively(*OuterLoop, AR.DT, &AR.LI, &AR.SE);
+
   auto PA = getLoopPassPreservedAnalyses();
   if (AR.MSSA)
     PA.preserve<MemorySSAAnalysis>();

_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to