Skip to content

Commit da80639

Browse files
committed
[NFC][IndVar] Autogenerate checklines in one test
1 parent 3ce360f commit da80639

File tree

2 files changed

+31
-11
lines changed

2 files changed

+31
-11
lines changed

llvm/test/Transforms/IndVarSimplify/rewrite-loop-exit-values-phi.ll

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,44 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
12
; RUN: opt -passes=indvars -S %s -o - | FileCheck %s
23

34
; When bailing out in rewriteLoopExitValues() you would be left with a PHI node
45
; that was not deleted, and the IndVar pass would return an incorrect modified
56
; status. This was caught by the expensive check introduced in D86589.
67

7-
; CHECK-LABEL: header:
8-
; CHECK-NEXT: %idx = phi i64 [ %idx.next, %latch ], [ undef, %entry ]
9-
; CHECK-NEXT: %cond = icmp sgt i64 %n, %idx
10-
; CHECK-NEXT: br i1 %cond, label %end, label %inner.preheader
11-
12-
; CHECK-LABEL: latch:
13-
; CHECK-NEXT: %idx.next = add nsw i64 %idx, -1
14-
; CHECK-NEXT: br label %header
15-
168
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
179
target triple = "x86_64-unknown-linux-gnu"
1810

1911
@ptr = external global i64
2012

2113
define dso_local void @hoge() local_unnamed_addr {
14+
; CHECK-LABEL: @hoge(
15+
; CHECK-NEXT: entry:
16+
; CHECK-NEXT: [[N:%.*]] = sdiv exact i64 undef, 40
17+
; CHECK-NEXT: br label [[HEADER:%.*]]
18+
; CHECK: header:
19+
; CHECK-NEXT: [[IDX:%.*]] = phi i64 [ [[IDX_NEXT:%.*]], [[LATCH:%.*]] ], [ undef, [[ENTRY:%.*]] ]
20+
; CHECK-NEXT: [[COND:%.*]] = icmp sgt i64 [[N]], [[IDX]]
21+
; CHECK-NEXT: br i1 [[COND]], label [[END:%.*]], label [[INNER_PREHEADER:%.*]]
22+
; CHECK: inner.preheader:
23+
; CHECK-NEXT: br label [[INNER:%.*]]
24+
; CHECK: inner:
25+
; CHECK-NEXT: [[I:%.*]] = phi i64 [ [[I_NEXT:%.*]], [[INNER]] ], [ 0, [[INNER_PREHEADER]] ]
26+
; CHECK-NEXT: [[J:%.*]] = phi i64 [ [[J_NEXT:%.*]], [[INNER]] ], [ [[N]], [[INNER_PREHEADER]] ]
27+
; CHECK-NEXT: [[I_NEXT]] = add nuw nsw i64 [[I]], 1
28+
; CHECK-NEXT: [[J_NEXT]] = add nsw i64 [[J]], 1
29+
; CHECK-NEXT: store i64 undef, i64* @ptr, align 8
30+
; CHECK-NEXT: [[COND1:%.*]] = icmp slt i64 [[J]], [[IDX]]
31+
; CHECK-NEXT: br i1 [[COND1]], label [[INNER]], label [[INNER_EXIT:%.*]]
32+
; CHECK: inner_exit:
33+
; CHECK-NEXT: [[INDVAR:%.*]] = phi i64 [ [[I_NEXT]], [[INNER]] ]
34+
; CHECK-NEXT: [[INDVAR_USE:%.*]] = add i64 [[INDVAR]], 1
35+
; CHECK-NEXT: br label [[LATCH]]
36+
; CHECK: latch:
37+
; CHECK-NEXT: [[IDX_NEXT]] = add nsw i64 [[IDX]], -1
38+
; CHECK-NEXT: br label [[HEADER]]
39+
; CHECK: end:
40+
; CHECK-NEXT: ret void
41+
;
2242
entry: ; preds = %entry
2343
%n = sdiv exact i64 undef, 40
2444
br label %header

llvm/test/Transforms/LoopUnroll/X86/high-cost-expansion.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
; RUN: opt -mtriple=x86_64-unknown-linux-gnu -passes='loop-unroll' -unroll-runtime -S < %s 2>&1 | FileCheck %s
33

44
define void @mask-high(i64 %arg, ptr dereferenceable(4) %arg1) {
5-
; CHECK-LABEL: define {{[^@]+}}@mask-high(
5+
; CHECK-LABEL: @mask-high(
66
; CHECK-NEXT: bb:
77
; CHECK-NEXT: [[I:%.*]] = load i32, ptr [[ARG1:%.*]], align 4
88
; CHECK-NEXT: [[I2:%.*]] = sext i32 [[I]] to i64
@@ -42,7 +42,7 @@ bb10: ; preds = %bb6, %bb
4242

4343

4444
define void @mask-low(i64 %arg, ptr dereferenceable(4) %arg1) {
45-
; CHECK-LABEL: define {{[^@]+}}@mask-low(
45+
; CHECK-LABEL: @mask-low(
4646
; CHECK-NEXT: bb:
4747
; CHECK-NEXT: [[I:%.*]] = load i32, ptr [[ARG1:%.*]], align 4
4848
; CHECK-NEXT: [[I2:%.*]] = sext i32 [[I]] to i64

0 commit comments

Comments
 (0)