Skip to content

Commit 137c193

Browse files
committed
fix logic for SCEVNArayExpr
1 parent d113571 commit 137c193

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

llvm/lib/Analysis/DependenceAnalysis.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3497,19 +3497,17 @@ SCEVSignedMonotonicityChecker::visitNAryHelper(const SCEVNAryExpr *Expr) {
34973497
case MonotonicityType::Invariant:
34983498
break;
34993499
case MonotonicityType::MultiMonotonic: {
3500+
if (!Expr->hasNoSignedWrap())
3501+
return unknownMonotonicity(Expr);
35003502
switch (Result) {
35013503
case MonotonicityType::Unknown:
35023504
llvm_unreachable("should have been handled above");
35033505
case MonotonicityType::NoSignedWrap:
35043506
break;
35053507
case MonotonicityType::Invariant:
3506-
if (!Expr->hasNoSignedWrap())
3507-
return unknownMonotonicity(Expr);
35083508
Result = MonotonicityType::MultiMonotonic;
35093509
break;
35103510
case MonotonicityType::MultiMonotonic:
3511-
if (!Expr->hasNoSignedWrap())
3512-
return unknownMonotonicity(Expr);
35133511
if (!isa<SCEVAddExpr>(Expr))
35143512
return unknownMonotonicity(Expr);
35153513
// Monotonic + Monotonic might be a loop invariant, e.g., the following

0 commit comments

Comments
 (0)