[llvm] [LAA] Improve forked-pointers.ll test (PR #140383)

via llvm-commits llvm-commits at lists.llvm.org
Sat May 17 10:19:19 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-llvm-analysis

Author: Ramkumar Ramachandra (artagnon)

<details>
<summary>Changes</summary>



---

Patch is 54.69 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/140383.diff


1 Files Affected:

- (modified) llvm/test/Analysis/LoopAccessAnalysis/forked-pointers.ll (+197-605) 


``````````diff
diff --git a/llvm/test/Analysis/LoopAccessAnalysis/forked-pointers.ll b/llvm/test/Analysis/LoopAccessAnalysis/forked-pointers.ll
index cd388b4ee87f2..286af49ab1ae6 100644
--- a/llvm/test/Analysis/LoopAccessAnalysis/forked-pointers.ll
+++ b/llvm/test/Analysis/LoopAccessAnalysis/forked-pointers.ll
@@ -1,6 +1,6 @@
 ; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --version 3
-; RUN: opt -disable-output -passes='print<access-info>' %s 2>&1 | FileCheck %s
-; RUN: opt -disable-output -passes='print<access-info>' -max-forked-scev-depth=2 %s 2>&1 | FileCheck -check-prefix=RECURSE %s
+; RUN: opt -disable-output -passes='print<access-info>' %s 2>&1 | FileCheck %s --check-prefixes=CHECK,FULLDEPTH
+; RUN: opt -disable-output -passes='print<access-info>' -max-forked-scev-depth=2 %s 2>&1 | FileCheck %s --check-prefixes=CHECK,DEPTH2
 
 target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
 
@@ -39,40 +39,6 @@ define void @forked_ptrs_simple(ptr nocapture readonly %Base1, ptr nocapture rea
 ; CHECK-EMPTY:
 ; CHECK-NEXT:      Expressions re-written:
 ;
-; RECURSE-LABEL: 'forked_ptrs_simple'
-; RECURSE-NEXT:    loop:
-; RECURSE-NEXT:      Memory dependences are safe with run-time checks
-; RECURSE-NEXT:      Dependences:
-; RECURSE-NEXT:      Run-time memory checks:
-; RECURSE-NEXT:      Check 0:
-; RECURSE-NEXT:        Comparing group ([[GRP4:0x[0-9a-f]+]]):
-; RECURSE-NEXT:          %gep.Dest = getelementptr inbounds float, ptr %Dest, i64 %iv
-; RECURSE-NEXT:          %gep.Dest = getelementptr inbounds float, ptr %Dest, i64 %iv
-; RECURSE-NEXT:        Against group ([[GRP5:0x[0-9a-f]+]]):
-; RECURSE-NEXT:          %select = select i1 %cmp, ptr %gep.1, ptr %gep.2
-; RECURSE-NEXT:      Check 1:
-; RECURSE-NEXT:        Comparing group ([[GRP4]]):
-; RECURSE-NEXT:          %gep.Dest = getelementptr inbounds float, ptr %Dest, i64 %iv
-; RECURSE-NEXT:          %gep.Dest = getelementptr inbounds float, ptr %Dest, i64 %iv
-; RECURSE-NEXT:        Against group ([[GRP6:0x[0-9a-f]+]]):
-; RECURSE-NEXT:          %select = select i1 %cmp, ptr %gep.1, ptr %gep.2
-; RECURSE-NEXT:      Grouped accesses:
-; RECURSE-NEXT:        Group [[GRP4]]:
-; RECURSE-NEXT:          (Low: %Dest High: (400 + %Dest))
-; RECURSE-NEXT:            Member: {%Dest,+,4}<nuw><%loop>
-; RECURSE-NEXT:            Member: {%Dest,+,4}<nuw><%loop>
-; RECURSE-NEXT:        Group [[GRP5]]:
-; RECURSE-NEXT:          (Low: %Base1 High: (400 + %Base1))
-; RECURSE-NEXT:            Member: {%Base1,+,4}<nw><%loop>
-; RECURSE-NEXT:        Group [[GRP6]]:
-; RECURSE-NEXT:          (Low: %Base2 High: (400 + %Base2))
-; RECURSE-NEXT:            Member: {%Base2,+,4}<nw><%loop>
-; RECURSE-EMPTY:
-; RECURSE-NEXT:      Non vectorizable stores to invariant address were not found in loop.
-; RECURSE-NEXT:      SCEV assumptions:
-; RECURSE-EMPTY:
-; RECURSE-NEXT:      Expressions re-written:
-;
 entry:
   br label %loop
 
@@ -116,31 +82,31 @@ define dso_local void @forked_ptrs_different_base_same_offset(ptr nocapture read
 ; CHECK-NEXT:      Dependences:
 ; CHECK-NEXT:      Run-time memory checks:
 ; CHECK-NEXT:      Check 0:
-; CHECK-NEXT:        Comparing group ([[GRP7:0x[0-9a-f]+]]):
+; CHECK-NEXT:        Comparing group ([[GRP4:0x[0-9a-f]+]]):
 ; CHECK-NEXT:          %1 = getelementptr inbounds float, ptr %Dest, i64 %indvars.iv
-; CHECK-NEXT:        Against group ([[GRP8:0x[0-9a-f]+]]):
+; CHECK-NEXT:        Against group ([[GRP5:0x[0-9a-f]+]]):
 ; CHECK-NEXT:          %arrayidx = getelementptr inbounds i32, ptr %Preds, i64 %indvars.iv
 ; CHECK-NEXT:      Check 1:
-; CHECK-NEXT:        Comparing group ([[GRP7]]):
+; CHECK-NEXT:        Comparing group ([[GRP4]]):
 ; CHECK-NEXT:          %1 = getelementptr inbounds float, ptr %Dest, i64 %indvars.iv
-; CHECK-NEXT:        Against group ([[GRP9:0x[0-9a-f]+]]):
+; CHECK-NEXT:        Against group ([[GRP6:0x[0-9a-f]+]]):
 ; CHECK-NEXT:          %.sink.in = getelementptr inbounds float, ptr %spec.select, i64 %indvars.iv
 ; CHECK-NEXT:      Check 2:
-; CHECK-NEXT:        Comparing group ([[GRP7]]):
+; CHECK-NEXT:        Comparing group ([[GRP4]]):
 ; CHECK-NEXT:          %1 = getelementptr inbounds float, ptr %Dest, i64 %indvars.iv
-; CHECK-NEXT:        Against group ([[GRP10:0x[0-9a-f]+]]):
+; CHECK-NEXT:        Against group ([[GRP7:0x[0-9a-f]+]]):
 ; CHECK-NEXT:          %.sink.in = getelementptr inbounds float, ptr %spec.select, i64 %indvars.iv
 ; CHECK-NEXT:      Grouped accesses:
-; CHECK-NEXT:        Group [[GRP7]]:
+; CHECK-NEXT:        Group [[GRP4]]:
 ; CHECK-NEXT:          (Low: %Dest High: (400 + %Dest))
 ; CHECK-NEXT:            Member: {%Dest,+,4}<nuw><%for.body>
-; CHECK-NEXT:        Group [[GRP8]]:
+; CHECK-NEXT:        Group [[GRP5]]:
 ; CHECK-NEXT:          (Low: %Preds High: (400 + %Preds))
 ; CHECK-NEXT:            Member: {%Preds,+,4}<nuw><%for.body>
-; CHECK-NEXT:        Group [[GRP9]]:
+; CHECK-NEXT:        Group [[GRP6]]:
 ; CHECK-NEXT:          (Low: %Base2 High: (400 + %Base2))
 ; CHECK-NEXT:            Member: {%Base2,+,4}<nw><%for.body>
-; CHECK-NEXT:        Group [[GRP10]]:
+; CHECK-NEXT:        Group [[GRP7]]:
 ; CHECK-NEXT:          (Low: %Base1 High: (400 + %Base1))
 ; CHECK-NEXT:            Member: {%Base1,+,4}<nw><%for.body>
 ; CHECK-EMPTY:
@@ -149,45 +115,6 @@ define dso_local void @forked_ptrs_different_base_same_offset(ptr nocapture read
 ; CHECK-EMPTY:
 ; CHECK-NEXT:      Expressions re-written:
 ;
-; RECURSE-LABEL: 'forked_ptrs_different_base_same_offset'
-; RECURSE-NEXT:    for.body:
-; RECURSE-NEXT:      Memory dependences are safe with run-time checks
-; RECURSE-NEXT:      Dependences:
-; RECURSE-NEXT:      Run-time memory checks:
-; RECURSE-NEXT:      Check 0:
-; RECURSE-NEXT:        Comparing group ([[GRP11:0x[0-9a-f]+]]):
-; RECURSE-NEXT:          %1 = getelementptr inbounds float, ptr %Dest, i64 %indvars.iv
-; RECURSE-NEXT:        Against group ([[GRP12:0x[0-9a-f]+]]):
-; RECURSE-NEXT:          %arrayidx = getelementptr inbounds i32, ptr %Preds, i64 %indvars.iv
-; RECURSE-NEXT:      Check 1:
-; RECURSE-NEXT:        Comparing group ([[GRP11]]):
-; RECURSE-NEXT:          %1 = getelementptr inbounds float, ptr %Dest, i64 %indvars.iv
-; RECURSE-NEXT:        Against group ([[GRP13:0x[0-9a-f]+]]):
-; RECURSE-NEXT:          %.sink.in = getelementptr inbounds float, ptr %spec.select, i64 %indvars.iv
-; RECURSE-NEXT:      Check 2:
-; RECURSE-NEXT:        Comparing group ([[GRP11]]):
-; RECURSE-NEXT:          %1 = getelementptr inbounds float, ptr %Dest, i64 %indvars.iv
-; RECURSE-NEXT:        Against group ([[GRP14:0x[0-9a-f]+]]):
-; RECURSE-NEXT:          %.sink.in = getelementptr inbounds float, ptr %spec.select, i64 %indvars.iv
-; RECURSE-NEXT:      Grouped accesses:
-; RECURSE-NEXT:        Group [[GRP11]]:
-; RECURSE-NEXT:          (Low: %Dest High: (400 + %Dest))
-; RECURSE-NEXT:            Member: {%Dest,+,4}<nuw><%for.body>
-; RECURSE-NEXT:        Group [[GRP12]]:
-; RECURSE-NEXT:          (Low: %Preds High: (400 + %Preds))
-; RECURSE-NEXT:            Member: {%Preds,+,4}<nuw><%for.body>
-; RECURSE-NEXT:        Group [[GRP13]]:
-; RECURSE-NEXT:          (Low: %Base2 High: (400 + %Base2))
-; RECURSE-NEXT:            Member: {%Base2,+,4}<nw><%for.body>
-; RECURSE-NEXT:        Group [[GRP14]]:
-; RECURSE-NEXT:          (Low: %Base1 High: (400 + %Base1))
-; RECURSE-NEXT:            Member: {%Base1,+,4}<nw><%for.body>
-; RECURSE-EMPTY:
-; RECURSE-NEXT:      Non vectorizable stores to invariant address were not found in loop.
-; RECURSE-NEXT:      SCEV assumptions:
-; RECURSE-EMPTY:
-; RECURSE-NEXT:      Expressions re-written:
-;
 entry:
   br label %for.body
 
@@ -216,31 +143,31 @@ define dso_local void @forked_ptrs_different_base_same_offset_64b(ptr nocapture
 ; CHECK-NEXT:      Dependences:
 ; CHECK-NEXT:      Run-time memory checks:
 ; CHECK-NEXT:      Check 0:
-; CHECK-NEXT:        Comparing group ([[GRP15:0x[0-9a-f]+]]):
+; CHECK-NEXT:        Comparing group ([[GRP8:0x[0-9a-f]+]]):
 ; CHECK-NEXT:          %1 = getelementptr inbounds double, ptr %Dest, i64 %indvars.iv
-; CHECK-NEXT:        Against group ([[GRP16:0x[0-9a-f]+]]):
+; CHECK-NEXT:        Against group ([[GRP9:0x[0-9a-f]+]]):
 ; CHECK-NEXT:          %arrayidx = getelementptr inbounds i32, ptr %Preds, i64 %indvars.iv
 ; CHECK-NEXT:      Check 1:
-; CHECK-NEXT:        Comparing group ([[GRP15]]):
+; CHECK-NEXT:        Comparing group ([[GRP8]]):
 ; CHECK-NEXT:          %1 = getelementptr inbounds double, ptr %Dest, i64 %indvars.iv
-; CHECK-NEXT:        Against group ([[GRP17:0x[0-9a-f]+]]):
+; CHECK-NEXT:        Against group ([[GRP10:0x[0-9a-f]+]]):
 ; CHECK-NEXT:          %.sink.in = getelementptr inbounds double, ptr %spec.select, i64 %indvars.iv
 ; CHECK-NEXT:      Check 2:
-; CHECK-NEXT:        Comparing group ([[GRP15]]):
+; CHECK-NEXT:        Comparing group ([[GRP8]]):
 ; CHECK-NEXT:          %1 = getelementptr inbounds double, ptr %Dest, i64 %indvars.iv
-; CHECK-NEXT:        Against group ([[GRP18:0x[0-9a-f]+]]):
+; CHECK-NEXT:        Against group ([[GRP11:0x[0-9a-f]+]]):
 ; CHECK-NEXT:          %.sink.in = getelementptr inbounds double, ptr %spec.select, i64 %indvars.iv
 ; CHECK-NEXT:      Grouped accesses:
-; CHECK-NEXT:        Group [[GRP15]]:
+; CHECK-NEXT:        Group [[GRP8]]:
 ; CHECK-NEXT:          (Low: %Dest High: (800 + %Dest))
 ; CHECK-NEXT:            Member: {%Dest,+,8}<nuw><%for.body>
-; CHECK-NEXT:        Group [[GRP16]]:
+; CHECK-NEXT:        Group [[GRP9]]:
 ; CHECK-NEXT:          (Low: %Preds High: (400 + %Preds))
 ; CHECK-NEXT:            Member: {%Preds,+,4}<nuw><%for.body>
-; CHECK-NEXT:        Group [[GRP17]]:
+; CHECK-NEXT:        Group [[GRP10]]:
 ; CHECK-NEXT:          (Low: %Base2 High: (800 + %Base2))
 ; CHECK-NEXT:            Member: {%Base2,+,8}<nw><%for.body>
-; CHECK-NEXT:        Group [[GRP18]]:
+; CHECK-NEXT:        Group [[GRP11]]:
 ; CHECK-NEXT:          (Low: %Base1 High: (800 + %Base1))
 ; CHECK-NEXT:            Member: {%Base1,+,8}<nw><%for.body>
 ; CHECK-EMPTY:
@@ -249,45 +176,6 @@ define dso_local void @forked_ptrs_different_base_same_offset_64b(ptr nocapture
 ; CHECK-EMPTY:
 ; CHECK-NEXT:      Expressions re-written:
 ;
-; RECURSE-LABEL: 'forked_ptrs_different_base_same_offset_64b'
-; RECURSE-NEXT:    for.body:
-; RECURSE-NEXT:      Memory dependences are safe with run-time checks
-; RECURSE-NEXT:      Dependences:
-; RECURSE-NEXT:      Run-time memory checks:
-; RECURSE-NEXT:      Check 0:
-; RECURSE-NEXT:        Comparing group ([[GRP19:0x[0-9a-f]+]]):
-; RECURSE-NEXT:          %1 = getelementptr inbounds double, ptr %Dest, i64 %indvars.iv
-; RECURSE-NEXT:        Against group ([[GRP20:0x[0-9a-f]+]]):
-; RECURSE-NEXT:          %arrayidx = getelementptr inbounds i32, ptr %Preds, i64 %indvars.iv
-; RECURSE-NEXT:      Check 1:
-; RECURSE-NEXT:        Comparing group ([[GRP19]]):
-; RECURSE-NEXT:          %1 = getelementptr inbounds double, ptr %Dest, i64 %indvars.iv
-; RECURSE-NEXT:        Against group ([[GRP21:0x[0-9a-f]+]]):
-; RECURSE-NEXT:          %.sink.in = getelementptr inbounds double, ptr %spec.select, i64 %indvars.iv
-; RECURSE-NEXT:      Check 2:
-; RECURSE-NEXT:        Comparing group ([[GRP19]]):
-; RECURSE-NEXT:          %1 = getelementptr inbounds double, ptr %Dest, i64 %indvars.iv
-; RECURSE-NEXT:        Against group ([[GRP22:0x[0-9a-f]+]]):
-; RECURSE-NEXT:          %.sink.in = getelementptr inbounds double, ptr %spec.select, i64 %indvars.iv
-; RECURSE-NEXT:      Grouped accesses:
-; RECURSE-NEXT:        Group [[GRP19]]:
-; RECURSE-NEXT:          (Low: %Dest High: (800 + %Dest))
-; RECURSE-NEXT:            Member: {%Dest,+,8}<nuw><%for.body>
-; RECURSE-NEXT:        Group [[GRP20]]:
-; RECURSE-NEXT:          (Low: %Preds High: (400 + %Preds))
-; RECURSE-NEXT:            Member: {%Preds,+,4}<nuw><%for.body>
-; RECURSE-NEXT:        Group [[GRP21]]:
-; RECURSE-NEXT:          (Low: %Base2 High: (800 + %Base2))
-; RECURSE-NEXT:            Member: {%Base2,+,8}<nw><%for.body>
-; RECURSE-NEXT:        Group [[GRP22]]:
-; RECURSE-NEXT:          (Low: %Base1 High: (800 + %Base1))
-; RECURSE-NEXT:            Member: {%Base1,+,8}<nw><%for.body>
-; RECURSE-EMPTY:
-; RECURSE-NEXT:      Non vectorizable stores to invariant address were not found in loop.
-; RECURSE-NEXT:      SCEV assumptions:
-; RECURSE-EMPTY:
-; RECURSE-NEXT:      Expressions re-written:
-;
 entry:
   br label %for.body
 
@@ -316,31 +204,31 @@ define dso_local void @forked_ptrs_different_base_same_offset_23b(ptr nocapture
 ; CHECK-NEXT:      Dependences:
 ; CHECK-NEXT:      Run-time memory checks:
 ; CHECK-NEXT:      Check 0:
-; CHECK-NEXT:        Comparing group ([[GRP23:0x[0-9a-f]+]]):
+; CHECK-NEXT:        Comparing group ([[GRP12:0x[0-9a-f]+]]):
 ; CHECK-NEXT:          %1 = getelementptr inbounds i23, ptr %Dest, i64 %indvars.iv
-; CHECK-NEXT:        Against group ([[GRP24:0x[0-9a-f]+]]):
+; CHECK-NEXT:        Against group ([[GRP13:0x[0-9a-f]+]]):
 ; CHECK-NEXT:          %arrayidx = getelementptr inbounds i32, ptr %Preds, i64 %indvars.iv
 ; CHECK-NEXT:      Check 1:
-; CHECK-NEXT:        Comparing group ([[GRP23]]):
+; CHECK-NEXT:        Comparing group ([[GRP12]]):
 ; CHECK-NEXT:          %1 = getelementptr inbounds i23, ptr %Dest, i64 %indvars.iv
-; CHECK-NEXT:        Against group ([[GRP25:0x[0-9a-f]+]]):
+; CHECK-NEXT:        Against group ([[GRP14:0x[0-9a-f]+]]):
 ; CHECK-NEXT:          %.sink.in = getelementptr inbounds i23, ptr %spec.select, i64 %indvars.iv
 ; CHECK-NEXT:      Check 2:
-; CHECK-NEXT:        Comparing group ([[GRP23]]):
+; CHECK-NEXT:        Comparing group ([[GRP12]]):
 ; CHECK-NEXT:          %1 = getelementptr inbounds i23, ptr %Dest, i64 %indvars.iv
-; CHECK-NEXT:        Against group ([[GRP26:0x[0-9a-f]+]]):
+; CHECK-NEXT:        Against group ([[GRP15:0x[0-9a-f]+]]):
 ; CHECK-NEXT:          %.sink.in = getelementptr inbounds i23, ptr %spec.select, i64 %indvars.iv
 ; CHECK-NEXT:      Grouped accesses:
-; CHECK-NEXT:        Group [[GRP23]]:
+; CHECK-NEXT:        Group [[GRP12]]:
 ; CHECK-NEXT:          (Low: %Dest High: (399 + %Dest))
 ; CHECK-NEXT:            Member: {%Dest,+,4}<nuw><%for.body>
-; CHECK-NEXT:        Group [[GRP24]]:
+; CHECK-NEXT:        Group [[GRP13]]:
 ; CHECK-NEXT:          (Low: %Preds High: (400 + %Preds))
 ; CHECK-NEXT:            Member: {%Preds,+,4}<nuw><%for.body>
-; CHECK-NEXT:        Group [[GRP25]]:
+; CHECK-NEXT:        Group [[GRP14]]:
 ; CHECK-NEXT:          (Low: %Base2 High: (399 + %Base2))
 ; CHECK-NEXT:            Member: {%Base2,+,4}<nw><%for.body>
-; CHECK-NEXT:        Group [[GRP26]]:
+; CHECK-NEXT:        Group [[GRP15]]:
 ; CHECK-NEXT:          (Low: %Base1 High: (399 + %Base1))
 ; CHECK-NEXT:            Member: {%Base1,+,4}<nw><%for.body>
 ; CHECK-EMPTY:
@@ -349,45 +237,6 @@ define dso_local void @forked_ptrs_different_base_same_offset_23b(ptr nocapture
 ; CHECK-EMPTY:
 ; CHECK-NEXT:      Expressions re-written:
 ;
-; RECURSE-LABEL: 'forked_ptrs_different_base_same_offset_23b'
-; RECURSE-NEXT:    for.body:
-; RECURSE-NEXT:      Memory dependences are safe with run-time checks
-; RECURSE-NEXT:      Dependences:
-; RECURSE-NEXT:      Run-time memory checks:
-; RECURSE-NEXT:      Check 0:
-; RECURSE-NEXT:        Comparing group ([[GRP27:0x[0-9a-f]+]]):
-; RECURSE-NEXT:          %1 = getelementptr inbounds i23, ptr %Dest, i64 %indvars.iv
-; RECURSE-NEXT:        Against group ([[GRP28:0x[0-9a-f]+]]):
-; RECURSE-NEXT:          %arrayidx = getelementptr inbounds i32, ptr %Preds, i64 %indvars.iv
-; RECURSE-NEXT:      Check 1:
-; RECURSE-NEXT:        Comparing group ([[GRP27]]):
-; RECURSE-NEXT:          %1 = getelementptr inbounds i23, ptr %Dest, i64 %indvars.iv
-; RECURSE-NEXT:        Against group ([[GRP29:0x[0-9a-f]+]]):
-; RECURSE-NEXT:          %.sink.in = getelementptr inbounds i23, ptr %spec.select, i64 %indvars.iv
-; RECURSE-NEXT:      Check 2:
-; RECURSE-NEXT:        Comparing group ([[GRP27]]):
-; RECURSE-NEXT:          %1 = getelementptr inbounds i23, ptr %Dest, i64 %indvars.iv
-; RECURSE-NEXT:        Against group ([[GRP30:0x[0-9a-f]+]]):
-; RECURSE-NEXT:          %.sink.in = getelementptr inbounds i23, ptr %spec.select, i64 %indvars.iv
-; RECURSE-NEXT:      Grouped accesses:
-; RECURSE-NEXT:        Group [[GRP27]]:
-; RECURSE-NEXT:          (Low: %Dest High: (399 + %Dest))
-; RECURSE-NEXT:            Member: {%Dest,+,4}<nuw><%for.body>
-; RECURSE-NEXT:        Group [[GRP28]]:
-; RECURSE-NEXT:          (Low: %Preds High: (400 + %Preds))
-; RECURSE-NEXT:            Member: {%Preds,+,4}<nuw><%for.body>
-; RECURSE-NEXT:        Group [[GRP29]]:
-; RECURSE-NEXT:          (Low: %Base2 High: (399 + %Base2))
-; RECURSE-NEXT:            Member: {%Base2,+,4}<nw><%for.body>
-; RECURSE-NEXT:        Group [[GRP30]]:
-; RECURSE-NEXT:          (Low: %Base1 High: (399 + %Base1))
-; RECURSE-NEXT:            Member: {%Base1,+,4}<nw><%for.body>
-; RECURSE-EMPTY:
-; RECURSE-NEXT:      Non vectorizable stores to invariant address were not found in loop.
-; RECURSE-NEXT:      SCEV assumptions:
-; RECURSE-EMPTY:
-; RECURSE-NEXT:      Expressions re-written:
-;
 entry:
   br label %for.body
 
@@ -416,31 +265,31 @@ define dso_local void @forked_ptrs_different_base_same_offset_6b(ptr nocapture r
 ; CHECK-NEXT:      Dependences:
 ; CHECK-NEXT:      Run-time memory checks:
 ; CHECK-NEXT:      Check 0:
-; CHECK-NEXT:        Comparing group ([[GRP31:0x[0-9a-f]+]]):
+; CHECK-NEXT:        Comparing group ([[GRP16:0x[0-9a-f]+]]):
 ; CHECK-NEXT:          %1 = getelementptr inbounds i6, ptr %Dest, i64 %indvars.iv
-; CHECK-NEXT:        Against group ([[GRP32:0x[0-9a-f]+]]):
+; CHECK-NEXT:        Against group ([[GRP17:0x[0-9a-f]+]]):
 ; CHECK-NEXT:          %arrayidx = getelementptr inbounds i32, ptr %Preds, i64 %indvars.iv
 ; CHECK-NEXT:      Check 1:
-; CHECK-NEXT:        Comparing group ([[GRP31]]):
+; CHECK-NEXT:        Comparing group ([[GRP16]]):
 ; CHECK-NEXT:          %1 = getelementptr inbounds i6, ptr %Dest, i64 %indvars.iv
-; CHECK-NEXT:        Against group ([[GRP33:0x[0-9a-f]+]]):
+; CHECK-NEXT:        Against group ([[GRP18:0x[0-9a-f]+]]):
 ; CHECK-NEXT:          %.sink.in = getelementptr inbounds i6, ptr %spec.select, i64 %indvars.iv
 ; CHECK-NEXT:      Check 2:
-; CHECK-NEXT:        Comparing group ([[GRP31]]):
+; CHECK-NEXT:        Comparing group ([[GRP16]]):
 ; CHECK-NEXT:          %1 = getelementptr inbounds i6, ptr %Dest, i64 %indvars.iv
-; CHECK-NEXT:        Against group ([[GRP34:0x[0-9a-f]+]]):
+; CHECK-NEXT:        Against group ([[GRP19:0x[0-9a-f]+]]):
 ; CHECK-NEXT:          %.sink.in = getelementptr inbounds i6, ptr %spec.select, i64 %indvars.iv
 ; CHECK-NEXT:      Grouped accesses:
-; CHECK-NEXT:        Group [[GRP31]]:
+; CHECK-NEXT:        Group [[GRP16]]:
 ; CHECK-NEXT:          (Low: %Dest High: (100 + %Dest))
 ; CHECK-NEXT:            Member: {%Dest,+,1}<nuw><%for.body>
-; CHECK-NEXT:        Group [[GRP32]]:
+; CHECK-NEXT:        Group [[GRP17]]:
 ; CHECK-NEXT:          (Low: %Preds High: (400 + %Preds))
 ; CHECK-NEXT:            Member: {%Preds,+,4}<nuw><%for.body>
-; CHECK-NEXT:        Group [[GRP33]]:
+; CHECK-NEXT:        Group [[GRP18]]:
 ; CHECK-NEXT:          (Low: %Base2 High: (100 + %Base2))
 ; CHECK-NEXT:            Member: {%Base2,+,1}<nw><%for.body>
-; CHECK-NEXT:        Group [[GRP34]]:
+; CHECK-NEXT:        Group [[GRP19]]:
 ; CHECK-NEXT:          (Low: %Base1 High: (100 + %Base1))
 ; CHECK-NEXT:            Member: {%Base1,+,1}<nw><%for.body>
 ; CHECK-EMPTY:
@@ -449,45 +298,6 @@ define dso_local void @forked_ptrs_different_base_same_offset_6b(ptr nocapture r
 ; CHECK-EMPTY:
 ; CHECK-NEXT:      Expressions re-written:
 ;
-; RECURSE-LABEL: 'forked_ptrs_different_base_same_offset_6b'
-; RECURSE-NEXT:    for.body:
-; RECURSE-NEXT:      Memory dependences are safe with run-time checks
-; RECURSE-NEXT:      Dependences:
-; RECURSE-NEXT:      Run-time memory checks:
-; RECURSE-NEXT:      Check 0:
-; RECURSE-NEXT:        Comparing group ([[GRP35:0x[0-9a-f]+]]):
-; RECURSE-NEXT:          %1 = getelementptr inbounds i6, ptr %Dest, i64 %indvars.iv
-; RECURSE-NEXT:        Against group ([[GRP36:0x[0-9a-f]+]]):
-; RECURSE-NEXT:          %arrayidx = getelementptr inbounds i32, ptr %Preds, i64 %indvars.iv
-; RECURSE-NEXT:      Check 1:
-; RECURSE-NEXT:        Comparing group ([[GRP35]]):
-; RECURSE-NEXT:          %1 = getelementptr inbounds i6, ptr %Dest, i64 %indvars.iv
-; RECURSE-NEXT:        Against group ([[GRP37:0x[0-9a-f]+]]):
-; RECURSE-NEXT:          ...
[truncated]

``````````

</details>


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


More information about the llvm-commits mailing list