[llvm] [DA] runtime predicates for delinearization bounds checks (PR #170713)

Sebastian Pop via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 5 13:33:49 PST 2025


================
@@ -46,9 +46,14 @@ define void @banerjee0(ptr %A, ptr %B, i64 %m, i64 %n) nounwind uwtable ssp {
 ;
 ; DELIN-LABEL: 'banerjee0'
 ; DELIN-NEXT:  Src: store i64 0, ptr %arrayidx, align 8 --> Dst: store i64 0, ptr %arrayidx, align 8
-; DELIN-NEXT:    da analyze - none!
+; DELIN-NEXT:    da analyze - consistent output [0 0]!
+; DELIN-NEXT:    Runtime Assumptions:
+; DELIN-NEXT:    Compare predicate: {1,+,1}<nuw><nsw><%for.body3> slt) 10
+; DELIN-NEXT:    Compare predicate: {1,+,1}<nuw><nsw><%for.body3> slt) 10
----------------
sebpop wrote:

The redundant predicates happen because we validate both source and destination subscripts separately.

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


More information about the llvm-commits mailing list