[llvm] [LoopFusion] Remove test dependency on assert (NFC) (PR #217180)

via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 18 17:53:33 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-llvm-transforms

Author: Ehsan Amiri (amehsan)

<details>
<summary>Changes</summary>

In preparation for another patch, I am changing this testcase to not require assertions.

---
Full diff: https://github.com/llvm/llvm-project/pull/217180.diff


1 Files Affected:

- (modified) llvm/test/Transforms/LoopFusion/different_guards.ll (+40-3) 


``````````diff
diff --git a/llvm/test/Transforms/LoopFusion/different_guards.ll b/llvm/test/Transforms/LoopFusion/different_guards.ll
index 679e39c1bbd9d..7be960e745315 100644
--- a/llvm/test/Transforms/LoopFusion/different_guards.ll
+++ b/llvm/test/Transforms/LoopFusion/different_guards.ll
@@ -1,6 +1,5 @@
-; REQUIRES: asserts
-; RUN: opt -passes=loop-fusion -loop-fusion-peel-max-count=2 -disable-output -stats < %s 2>&1 | FileCheck -check-prefix=STAT %s
-; STAT-NOT: loop-fusion - Loops fused
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6
+; RUN: opt -passes=loop-fusion -loop-fusion-peel-max-count=2 -S < %s 2>&1 | FileCheck %s
 
 ; Test reduced from the file diags_on_lat_aux_grid.F90 present in pop2,
 ; a program from spec 2017. Two loops have different guards, but otherwise
@@ -8,6 +7,44 @@
 ; iteration count. They should not be fused.
 
 define void @diags_on_lat_aux_grid(i1 %cond, i1 %cond1, i1 %0, i1 %1, ptr noalias %b1, ptr noalias %b2, i64 %N) {
+; CHECK-LABEL: define void @diags_on_lat_aux_grid(
+; CHECK-SAME: i1 [[COND:%.*]], i1 [[COND1:%.*]], i1 [[TMP0:%.*]], i1 [[TMP1:%.*]], ptr noalias [[B1:%.*]], ptr noalias [[B2:%.*]], i64 [[N:%.*]]) {
+; CHECK-NEXT:  [[_CRITEDGE:.*:]]
+; CHECK-NEXT:    br i1 [[COND]], label %[[COMMON_RET:.*]], label %[[THREAD_PRE_SPLIT:.*]]
+; CHECK:       [[COMMON_RET]]:
+; CHECK-NEXT:    ret void
+; CHECK:       [[THREAD_PRE_SPLIT]]:
+; CHECK-NEXT:    br i1 [[COND1]], label %[[BB2:.*]], [[DOTLOOPEXIT:label %.*]]
+; CHECK:       [[BB2]]:
+; CHECK-NEXT:    br i1 [[TMP0]], label %[[DOTLR_PH1333_PREHEADER:.*]], [[DOT_CRIT_EDGE1334:label %.*]]
+; CHECK:       [[_LR_PH1333_PREHEADER:.*:]]
+; CHECK-NEXT:    br label %[[DOTLR_PH1333:.*]]
+; CHECK:       [[_LR_PH1333:.*:]]
+; CHECK-NEXT:    [[INDVARS_IV1386:%.*]] = phi i64 [ [[INDVARS_IV_NEXT1387:%.*]], %[[DOTLR_PH1333]] ], [ 0, %[[DOTLR_PH1333_PREHEADER]] ]
+; CHECK-NEXT:    [[TMP3:%.*]] = getelementptr [8 x i8], ptr [[B1]], i64 [[INDVARS_IV1386]]
+; CHECK-NEXT:    store double 0.000000e+00, ptr [[TMP3]], align 8
+; CHECK-NEXT:    [[INDVARS_IV_NEXT1387]] = add i64 [[INDVARS_IV1386]], 1
+; CHECK-NEXT:    [[EXITCOND1389_NOT:%.*]] = icmp eq i64 [[INDVARS_IV1386]], [[N]]
+; CHECK-NEXT:    br i1 [[EXITCOND1389_NOT]], [[DOT_CRIT_EDGE1334_LOOPEXIT:label %.*]], label %[[DOTLR_PH1333]]
+; CHECK:       [[__CRIT_EDGE1334_LOOPEXIT:.*:]]
+; CHECK-NEXT:    br [[DOT_CRIT_EDGE1334]]
+; CHECK:       [[__CRIT_EDGE1334:.*:]]
+; CHECK-NEXT:    br i1 [[TMP1]], label %[[DOTLR_PH1336_PREHEADER:.*]], [[DOTLOOPEXIT]]
+; CHECK:       [[_LR_PH1336_PREHEADER:.*:]]
+; CHECK-NEXT:    br label %[[DOTLR_PH1336:.*]]
+; CHECK:       [[_LR_PH1336:.*:]]
+; CHECK-NEXT:    [[INDVARS_IV1390:%.*]] = phi i64 [ [[INDVARS_IV_NEXT1391:%.*]], %[[DOTLR_PH1336]] ], [ 0, %[[DOTLR_PH1336_PREHEADER]] ]
+; CHECK-NEXT:    [[TMP4:%.*]] = getelementptr [8 x i8], ptr [[B2]], i64 [[INDVARS_IV1390]]
+; CHECK-NEXT:    store double 0.000000e+00, ptr [[TMP4]], align 8
+; CHECK-NEXT:    [[INDVARS_IV_NEXT1391]] = add i64 [[INDVARS_IV1390]], 1
+; CHECK-NEXT:    [[EXITCOND1393_NOT:%.*]] = icmp eq i64 [[INDVARS_IV1390]], [[N]]
+; CHECK-NEXT:    br i1 [[EXITCOND1393_NOT]], [[DOTLOOPEXIT_LOOPEXIT:label %.*]], label %[[DOTLR_PH1336]]
+; CHECK:       [[_LOOPEXIT_LOOPEXIT:.*:]]
+; CHECK-NEXT:    br [[DOTLOOPEXIT]]
+; CHECK:       [[_LOOPEXIT:.*:]]
+; CHECK-NEXT:    store volatile i32 0, ptr [[B1]], align 4
+; CHECK-NEXT:    br label %[[COMMON_RET]]
+;
 .critedge:
   br i1 %cond, label %common.ret, label %thread-pre-split
 

``````````

</details>


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


More information about the llvm-commits mailing list