[llvm] [SCEV] Improve handling of divisibility information from loop guards. (PR #163021)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 14 14:15:51 PDT 2025


================
@@ -15751,7 +15754,11 @@ void ScalarEvolution::LoopGuards::collectFromBlock(
 
     const SCEV *RewrittenLHS = GetMaybeRewritten(LHS);
     const SCEV *DividesBy = nullptr;
-    const APInt &Multiple = SE.getConstantMultiple(RewrittenLHS);
+    // Apply divisibility information when computing the constant multiple.
+    LoopGuards DivGuards(SE);
+    DivGuards.RewriteMap = DivInfo;
----------------
fhahn wrote:

Yep, I adjusted that by constructing DivGuards once up-front, thanks!

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


More information about the llvm-commits mailing list