https://github.com/kasuga-fj updated https://github.com/llvm/llvm-project/pull/204146
>From 819a7af565cfbd002ac734cf289bc94b84e8bf2c Mon Sep 17 00:00:00 2001 From: Ryotaro Kasuga <[email protected]> Date: Tue, 16 Jun 2026 13:18:33 +0000 Subject: [PATCH 1/2] [SCEVDivision] Add assertion to check operand types match --- llvm/lib/Analysis/ScalarEvolutionDivision.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/llvm/lib/Analysis/ScalarEvolutionDivision.cpp b/llvm/lib/Analysis/ScalarEvolutionDivision.cpp index 710473191f8c6..8bd5cb9d339b2 100644 --- a/llvm/lib/Analysis/ScalarEvolutionDivision.cpp +++ b/llvm/lib/Analysis/ScalarEvolutionDivision.cpp @@ -56,6 +56,8 @@ void SCEVDivision::divide(ScalarEvolution &SE, const SCEV *Numerator, const SCEV *Denominator, const SCEV **Quotient, const SCEV **Remainder) { assert(Numerator && Denominator && "Uninitialized SCEV"); + assert(Numerator->getType() == Denominator->getType() && + "Numerator and Denominator must have the same type"); SCEVDivision D(SE, Numerator, Denominator); >From d0b35526ea854ba57430e27cffe284fa01254ac6 Mon Sep 17 00:00:00 2001 From: Ryotaro Kasuga <[email protected]> Date: Fri, 19 Jun 2026 17:13:32 +0900 Subject: [PATCH 2/2] delete unnecessary return --- llvm/lib/Analysis/Delinearization.cpp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/llvm/lib/Analysis/Delinearization.cpp b/llvm/lib/Analysis/Delinearization.cpp index c0e697cd1b477..5b525b43e4931 100644 --- a/llvm/lib/Analysis/Delinearization.cpp +++ b/llvm/lib/Analysis/Delinearization.cpp @@ -72,14 +72,10 @@ struct SCEVCollectTerms { bool follow(const SCEV *S) { if (isa<SCEVUnknown>(S) || isa<SCEVMulExpr>(S) || - isa<SCEVSignExtendExpr>(S)) { + isa<SCEVSignExtendExpr>(S)) if (!containsUndefs(S)) Terms.push_back(S); - // Stop recursion: once we collected a term, do not walk its operands. - return false; - } - // Keep looking when S is a specific type expression. return isa<SCEVAddExpr, SCEVAddRecExpr>(S); } @@ -154,8 +150,6 @@ struct SCEVCollectAddRecMultiplies { return false; Terms.push_back(SE.getMulExpr(Operands)); - // Stop recursion: once we collected a term, do not walk its operands. - return false; } // Keep looking when S is a specific type expression. _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
