[llvm-branch-commits] [llvm] [DA] Check nsw flags for addrecs in the Exact SIV test (PR #186387)
Ryotaro Kasuga via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Mar 13 06:07:09 PDT 2026
https://github.com/kasuga-fj created https://github.com/llvm/llvm-project/pull/186387
None
>From 3620689e2b9d272038dfa9006ea95c99bb9a96c5 Mon Sep 17 00:00:00 2001
From: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: Fri, 13 Mar 2026 10:25:00 +0000
Subject: [PATCH] [DA] Check nsw flags for addrecs in the Exact SIV test
---
llvm/lib/Analysis/DependenceAnalysis.cpp | 4 ++++
.../test/Analysis/DependenceAnalysis/exact-siv-addrec-wrap.ll | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/llvm/lib/Analysis/DependenceAnalysis.cpp b/llvm/lib/Analysis/DependenceAnalysis.cpp
index 13f560f2958bc..968339fb3db4d 100644
--- a/llvm/lib/Analysis/DependenceAnalysis.cpp
+++ b/llvm/lib/Analysis/DependenceAnalysis.cpp
@@ -1647,6 +1647,10 @@ bool DependenceInfo::exactSIVtest(const SCEVAddRecExpr *Src,
++ExactSIVapplications;
assert(0 < Level && Level <= CommonLevels && "Level out of range");
Level--;
+
+ if (!Src->hasNoSignedWrap() || !Dst->hasNoSignedWrap())
+ return false;
+
const SCEV *Delta = minusSCEVNoSignedOverflow(DstConst, SrcConst, *SE);
if (!Delta)
return false;
diff --git a/llvm/test/Analysis/DependenceAnalysis/exact-siv-addrec-wrap.ll b/llvm/test/Analysis/DependenceAnalysis/exact-siv-addrec-wrap.ll
index 29f612b5dcf53..3a5be74f93091 100644
--- a/llvm/test/Analysis/DependenceAnalysis/exact-siv-addrec-wrap.ll
+++ b/llvm/test/Analysis/DependenceAnalysis/exact-siv-addrec-wrap.ll
@@ -36,7 +36,7 @@ define void @exact_siv_no_nsw(ptr %A) {
; CHECK-EXACT-SIV-NEXT: Src: store i8 0, ptr %gep.0, align 1 --> Dst: store i8 0, ptr %gep.0, align 1
; CHECK-EXACT-SIV-NEXT: da analyze - output [*]!
; CHECK-EXACT-SIV-NEXT: Src: store i8 0, ptr %gep.0, align 1 --> Dst: store i8 1, ptr %gep.1, align 1
-; CHECK-EXACT-SIV-NEXT: da analyze - none!
+; CHECK-EXACT-SIV-NEXT: da analyze - output [*|<]!
; CHECK-EXACT-SIV-NEXT: Src: store i8 1, ptr %gep.1, align 1 --> Dst: store i8 1, ptr %gep.1, align 1
; CHECK-EXACT-SIV-NEXT: da analyze - output [*]!
;
More information about the llvm-branch-commits
mailing list