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

None

>From ff783aa3cb0e4370db025b61a395c1216269adba 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..91d2f65a05e62 100644
--- a/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
+++ b/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
@@ -7135,6 +7135,10 @@ PreservedAnalyses LoopStrengthReducePass::run(Loop &L, 
LoopAnalysisManager &AM,
   if (!ReduceLoopStrength(&L, AM.getResult<IVUsersAnalysis>(L, AR), AR.SE,
                           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)

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

Reply via email to