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

Ryotaro Kasuga via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 5 09:15:09 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
----------------
kasuga-fj wrote:

I think assumptions are added too excessively. For example, these two predicates obviously don't hold. Probably we should not insert a predicate if we know it to be false at compile time.

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


More information about the llvm-commits mailing list