[llvm] 6581d58 - [DA] Revise test `PR188098.ll` (NFC) (#189564)

via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 31 20:00:02 PDT 2026


Author: Ryotaro Kasuga
Date: 2026-04-01T02:59:56Z
New Revision: 6581d588193ce6c51700b426072da350895b95a2

URL: https://github.com/llvm/llvm-project/commit/6581d588193ce6c51700b426072da350895b95a2
DIFF: https://github.com/llvm/llvm-project/commit/6581d588193ce6c51700b426072da350895b95a2.diff

LOG: [DA] Revise test `PR188098.ll` (NFC) (#189564)

This patch revises the test `Analysis/DependenceAnalysis/PR188098.ll`
added in #189428, primary to improve readability. I confirmed that this
test cashes without the change added in #188098.

Added: 
    

Modified: 
    llvm/test/Analysis/DependenceAnalysis/PR188098.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/Analysis/DependenceAnalysis/PR188098.ll b/llvm/test/Analysis/DependenceAnalysis/PR188098.ll
index 8daa23d100ffd..eacd4263f504a 100644
--- a/llvm/test/Analysis/DependenceAnalysis/PR188098.ll
+++ b/llvm/test/Analysis/DependenceAnalysis/PR188098.ll
@@ -1,51 +1,66 @@
+; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --version 6
 ; RUN: opt < %s -disable-output "-passes=print<da>" 2>&1 | FileCheck %s
 
-define void @fun(ptr %arg) {
+; if (cond) {
+;   for (i = 0; i < 10; i++) {
+;     for (j = 0; j < 100; j++) {
+;       arg[j] = 0.0;
+;     }
+;   }
+; } else {
+;   for (i = 0; i < 10; i++) {
+;     for (j = 0; j < 100; j++) {
+;       double x = arg[j];
+;     }
+;   }
+; }
+;
+define void @fun(ptr %arg, i1 %cond) {
 ; CHECK-LABEL: 'fun'
-; CHECK-NEXT:  Src:  store double 0.000000e+00, ptr %i8, align 8 --> Dst:  store double 0.000000e+00, ptr %i8, align 8
+; CHECK-NEXT:  Src: store double 0.000000e+00, ptr %gep.0, align 8 --> Dst: store double 0.000000e+00, ptr %gep.0, align 8
 ; CHECK-NEXT:    da analyze - output [* *]!
-; CHECK-NEXT:  Src:  store double 0.000000e+00, ptr %i8, align 8 --> Dst:  %i16 = load double, ptr %i15, align 8
+; CHECK-NEXT:  Src: store double 0.000000e+00, ptr %gep.0, align 8 --> Dst: %i16 = load double, ptr %gep.1, align 8
 ; CHECK-NEXT:    da analyze - flow [|<]!
-; CHECK-NEXT:  Src:  %i16 = load double, ptr %i15, align 8 --> Dst:  %i16 = load double, ptr %i15, align 8
+; CHECK-NEXT:  Src: %i16 = load double, ptr %gep.1, align 8 --> Dst: %i16 = load double, ptr %gep.1, align 8
 ; CHECK-NEXT:    da analyze - input [* *]!
+;
+entry:
+  br i1 %cond, label %outer.0.header, label %outer.1.header
 
-bb:
-  br i1 false, label %bb1, label %bb10
-
-bb1:                                              ; preds = %bb2, %bb
-  %i = phi i64 [ %i3, %bb2 ], [ 0, %bb ]
-  br label %bb5
-
-bb2:                                              ; preds = %bb5
-  %i3 = add i64 %i, 1
-  %i4 = icmp eq i64 %i3, 10
-  br i1 %i4, label %bb21, label %bb1
-
-bb5:                                              ; preds = %bb5, %bb1
-  %i6 = phi i64 [ %i, %bb1 ], [ %i7, %bb5 ]
-  %i7 = add i64 %i6, 1
-  %i8 = getelementptr inbounds i64, ptr %arg, i64 %i7
-  store double 0.000000e+00, ptr %i8, align 8
-  %i9 = icmp eq i64 %i6, 100
-  br i1 %i9, label %bb2, label %bb5
-
-bb10:                                             ; preds = %bb18, %bb
-  %i11 = phi i64 [ %i19, %bb18 ], [ 0, %bb ]
-  br label %bb12
-
-bb12:                                             ; preds = %bb12, %bb10
-  %i13 = phi i64 [ %i11, %bb10 ], [ %i14, %bb12 ]
-  %i14 = add i64 %i13, 1
-  %i15 = getelementptr inbounds i64, ptr %arg, i64 %i14
-  %i16 = load double, ptr %i15, align 8
-  %i17 = icmp eq i64 %i13, 100
-  br i1 %i17, label %bb18, label %bb12
-
-bb18:                                             ; preds = %bb12
-  %i19 = add i64 %i11, 1
-  %i20 = icmp eq i64 %i19, 10
-  br i1 %i20, label %bb21, label %bb10
-
-bb21:                                             ; preds = %bb18, %bb2
+outer.0.header:
+  %i.0 = phi i64 [ %i.0.inc, %outer.0.latch ], [ 0, %entry ]
+  br label %inner.0
+
+inner.0:
+  %j.0 = phi i64 [ %i.0, %outer.0.header ], [ %j.0.inc, %inner.0 ]
+  %j.0.inc = add i64 %j.0, 1
+  %gep.0 = getelementptr inbounds double, ptr %arg, i64 %j.0.inc
+  store double 0.000000e+00, ptr %gep.0
+  %ec.inner.0 = icmp eq i64 %j.0, 100
+  br i1 %ec.inner.0, label %outer.0.latch, label %inner.0
+
+outer.0.latch:
+  %i.0.inc = add i64 %i.0, 1
+  %ec.outer.0 = icmp eq i64 %i.0.inc, 10
+  br i1 %ec.outer.0, label %exit, label %outer.0.header
+
+outer.1.header:
+  %i.1 = phi i64 [ %i.1.inc, %outer.1.latch ], [ 0, %entry ]
+  br label %inner.1
+
+inner.1:
+  %j.1 = phi i64 [ %i.1, %outer.1.header ], [ %j.1.inc, %inner.1 ]
+  %j.1.inc = add i64 %j.1, 1
+  %gep.1 = getelementptr inbounds double, ptr %arg, i64 %j.1.inc
+  %i16 = load double, ptr %gep.1
+  %ec.inner.1 = icmp eq i64 %j.1, 100
+  br i1 %ec.inner.1, label %outer.1.latch, label %inner.1
+
+outer.1.latch:
+  %i.1.inc = add i64 %i.1, 1
+  %iec.outer.1 = icmp eq i64 %i.1.inc, 10
+  br i1 %iec.outer.1, label %exit, label %outer.1.header
+
+exit:
   ret void
 }


        


More information about the llvm-commits mailing list