summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikita Popov <npopov@redhat.com>2024-01-09 15:07:41 +0100
committerNikita Popov <npopov@redhat.com>2024-01-09 15:09:17 +0100
commit963a2ebef8e9b3409ffc728e377dc53b0baff722 (patch)
tree28c48097d5263e8e68bc3cb3094f2a7a678eb06b
parent20c144ea10be1e4b2620a4a1c949cbad315cff72 (diff)
[JumpThreading] Regenerate test checks (NFC)
-rw-r--r--llvm/test/Transforms/JumpThreading/ddt-crash.ll134
-rw-r--r--llvm/test/Transforms/JumpThreading/loop-phi.ll38
-rw-r--r--llvm/test/Transforms/JumpThreading/unreachable-loops.ll8
3 files changed, 101 insertions, 79 deletions
diff --git a/llvm/test/Transforms/JumpThreading/ddt-crash.ll b/llvm/test/Transforms/JumpThreading/ddt-crash.ll
index e91b0b6f30c7..3f191a9d49db 100644
--- a/llvm/test/Transforms/JumpThreading/ddt-crash.ll
+++ b/llvm/test/Transforms/JumpThreading/ddt-crash.ll
@@ -20,10 +20,10 @@ define void @blam() {
; CHECK: bb2:
; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @wombat.2()
; CHECK-NEXT: switch i32 [[TMP3]], label [[BB10:%.*]] [
-; CHECK-NEXT: i32 0, label [[BB7:%.*]]
-; CHECK-NEXT: i32 1, label [[BB10]]
-; CHECK-NEXT: i32 2, label [[BB10]]
-; CHECK-NEXT: i32 3, label [[BB11]]
+; CHECK-NEXT: i32 0, label [[BB7:%.*]]
+; CHECK-NEXT: i32 1, label [[BB10]]
+; CHECK-NEXT: i32 2, label [[BB10]]
+; CHECK-NEXT: i32 3, label [[BB11]]
; CHECK-NEXT: ]
; CHECK: bb7:
; CHECK-NEXT: [[TMP6:%.*]] = tail call i32 @wombat.2()
@@ -41,10 +41,10 @@ bb:
bb2:
%tmp3 = tail call i32 @wombat.2()
switch i32 %tmp3, label %bb4 [
- i32 0, label %bb5
- i32 1, label %bb7
- i32 2, label %bb7
- i32 3, label %bb11
+ i32 0, label %bb5
+ i32 1, label %bb7
+ i32 2, label %bb7
+ i32 3, label %bb11
]
bb4:
@@ -71,10 +71,10 @@ define void @spam(ptr %arg) {
; CHECK-NEXT: bb:
; CHECK-NEXT: [[TMP:%.*]] = load i8, ptr undef, align 8
; CHECK-NEXT: switch i8 [[TMP]], label [[BB11:%.*]] [
-; CHECK-NEXT: i8 1, label [[BB11]]
-; CHECK-NEXT: i8 2, label [[BB11]]
-; CHECK-NEXT: i8 3, label [[BB1:%.*]]
-; CHECK-NEXT: i8 4, label [[BB1]]
+; CHECK-NEXT: i8 1, label [[BB11]]
+; CHECK-NEXT: i8 2, label [[BB11]]
+; CHECK-NEXT: i8 3, label [[BB1:%.*]]
+; CHECK-NEXT: i8 4, label [[BB1]]
; CHECK-NEXT: ]
; CHECK: bb1:
; CHECK-NEXT: br label [[BB2:%.*]]
@@ -84,20 +84,20 @@ define void @spam(ptr %arg) {
; CHECK: bb4:
; CHECK-NEXT: [[TMP5:%.*]] = load i8, ptr undef, align 8
; CHECK-NEXT: switch i8 [[TMP5]], label [[BB11]] [
-; CHECK-NEXT: i8 0, label [[BB11]]
-; CHECK-NEXT: i8 1, label [[BB10:%.*]]
-; CHECK-NEXT: i8 2, label [[BB10]]
-; CHECK-NEXT: i8 3, label [[BB8]]
-; CHECK-NEXT: i8 4, label [[BB8]]
+; CHECK-NEXT: i8 0, label [[BB11]]
+; CHECK-NEXT: i8 1, label [[BB10:%.*]]
+; CHECK-NEXT: i8 2, label [[BB10]]
+; CHECK-NEXT: i8 3, label [[BB8]]
+; CHECK-NEXT: i8 4, label [[BB8]]
; CHECK-NEXT: ]
; CHECK: bb8:
; CHECK-NEXT: [[TMP9:%.*]] = icmp eq ptr undef, [[ARG:%.*]]
; CHECK-NEXT: br i1 [[TMP9]], label [[BB10]], label [[BB2]]
; CHECK: bb10:
; CHECK-NEXT: switch i32 [[TMP3]], label [[BB4]] [
-; CHECK-NEXT: i32 0, label [[BB16:%.*]]
-; CHECK-NEXT: i32 1, label [[BB11]]
-; CHECK-NEXT: i32 2, label [[BB12:%.*]]
+; CHECK-NEXT: i32 0, label [[BB16:%.*]]
+; CHECK-NEXT: i32 1, label [[BB11]]
+; CHECK-NEXT: i32 2, label [[BB12:%.*]]
; CHECK-NEXT: ]
; CHECK: bb11:
; CHECK-NEXT: unreachable
@@ -108,9 +108,9 @@ define void @spam(ptr %arg) {
; CHECK-NEXT: [[TMP15:%.*]] = phi ptr [ [[TMP13]], [[BB12]] ], [ null, [[BB10]] ]
; CHECK-NEXT: [[TMP17:%.*]] = load i8, ptr undef, align 8
; CHECK-NEXT: switch i8 [[TMP17]], label [[BB11]] [
-; CHECK-NEXT: i8 0, label [[BB11]]
-; CHECK-NEXT: i8 11, label [[BB23:%.*]]
-; CHECK-NEXT: i8 12, label [[BB23]]
+; CHECK-NEXT: i8 0, label [[BB11]]
+; CHECK-NEXT: i8 11, label [[BB23:%.*]]
+; CHECK-NEXT: i8 12, label [[BB23]]
; CHECK-NEXT: ]
; CHECK: bb23:
; CHECK-NEXT: [[TMP21:%.*]] = load ptr, ptr undef, align 8
@@ -148,10 +148,10 @@ define void @spam(ptr %arg) {
bb:
%tmp = load i8, ptr undef, align 8
switch i8 %tmp, label %bb11 [
- i8 1, label %bb11
- i8 2, label %bb11
- i8 3, label %bb1
- i8 4, label %bb1
+ i8 1, label %bb11
+ i8 2, label %bb11
+ i8 3, label %bb1
+ i8 4, label %bb1
]
bb1:
@@ -164,11 +164,11 @@ bb2:
bb4:
%tmp5 = load i8, ptr undef, align 8
switch i8 %tmp5, label %bb11 [
- i8 0, label %bb11
- i8 1, label %bb10
- i8 2, label %bb10
- i8 3, label %bb6
- i8 4, label %bb6
+ i8 0, label %bb11
+ i8 1, label %bb10
+ i8 2, label %bb10
+ i8 3, label %bb6
+ i8 4, label %bb6
]
bb6:
@@ -183,9 +183,9 @@ bb8:
bb10:
switch i32 %tmp3, label %bb4 [
- i32 0, label %bb14
- i32 1, label %bb11
- i32 2, label %bb12
+ i32 0, label %bb14
+ i32 1, label %bb11
+ i32 2, label %bb12
]
bb11:
@@ -202,9 +202,9 @@ bb14:
bb16:
%tmp17 = load i8, ptr undef, align 8
switch i8 %tmp17, label %bb11 [
- i8 0, label %bb11
- i8 11, label %bb18
- i8 12, label %bb18
+ i8 0, label %bb11
+ i8 11, label %bb18
+ i8 12, label %bb18
]
bb18:
@@ -216,9 +216,9 @@ bb19:
bb20:
%tmp21 = load ptr, ptr undef
switch i8 undef, label %bb22 [
- i8 0, label %bb4
- i8 11, label %bb10
- i8 12, label %bb10
+ i8 0, label %bb4
+ i8 11, label %bb10
+ i8 12, label %bb10
]
bb22:
@@ -271,76 +271,76 @@ define void @zot() align 2 personality ptr @foo {
; CHECK-LABEL: @zot(
; CHECK-NEXT: bb:
; CHECK-NEXT: invoke void @bar()
-; CHECK-NEXT: to label [[BB1:%.*]] unwind label [[BB3:%.*]]
+; CHECK-NEXT: to label [[BB1:%.*]] unwind label [[BB3:%.*]]
; CHECK: bb1:
; CHECK-NEXT: invoke void @bar()
-; CHECK-NEXT: to label [[BB2:%.*]] unwind label [[BB4:%.*]]
+; CHECK-NEXT: to label [[BB2:%.*]] unwind label [[BB4:%.*]]
; CHECK: bb2:
; CHECK-NEXT: invoke void @bar()
-; CHECK-NEXT: to label [[BB6:%.*]] unwind label [[BB17:%.*]]
+; CHECK-NEXT: to label [[BB6:%.*]] unwind label [[BB17:%.*]]
; CHECK: bb3:
; CHECK-NEXT: [[TMP:%.*]] = landingpad { ptr, i32 }
-; CHECK-NEXT: catch ptr @global.1
-; CHECK-NEXT: catch ptr null
+; CHECK-NEXT: catch ptr @global.1
+; CHECK-NEXT: catch ptr null
; CHECK-NEXT: unreachable
; CHECK: bb4:
; CHECK-NEXT: [[TMP5:%.*]] = landingpad { ptr, i32 }
-; CHECK-NEXT: catch ptr @global.1
-; CHECK-NEXT: catch ptr null
+; CHECK-NEXT: catch ptr @global.1
+; CHECK-NEXT: catch ptr null
; CHECK-NEXT: unreachable
; CHECK: bb6:
; CHECK-NEXT: invoke void @bar()
-; CHECK-NEXT: to label [[BB7:%.*]] unwind label [[BB19:%.*]]
+; CHECK-NEXT: to label [[BB7:%.*]] unwind label [[BB19:%.*]]
; CHECK: bb7:
; CHECK-NEXT: invoke void @bar()
-; CHECK-NEXT: to label [[BB10:%.*]] unwind label [[BB8:%.*]]
+; CHECK-NEXT: to label [[BB10:%.*]] unwind label [[BB8:%.*]]
; CHECK: bb8:
; CHECK-NEXT: [[TMP9:%.*]] = landingpad { ptr, i32 }
-; CHECK-NEXT: cleanup
-; CHECK-NEXT: catch ptr @global.1
-; CHECK-NEXT: catch ptr null
+; CHECK-NEXT: cleanup
+; CHECK-NEXT: catch ptr @global.1
+; CHECK-NEXT: catch ptr null
; CHECK-NEXT: unreachable
; CHECK: bb10:
; CHECK-NEXT: [[TMP11:%.*]] = load ptr, ptr undef, align 8
; CHECK-NEXT: [[TMP12:%.*]] = invoke i32 [[TMP11]](ptr nonnull undef)
-; CHECK-NEXT: to label [[BB13:%.*]] unwind label [[BB21:%.*]]
+; CHECK-NEXT: to label [[BB13:%.*]] unwind label [[BB21:%.*]]
; CHECK: bb13:
; CHECK-NEXT: invoke void @bar()
-; CHECK-NEXT: to label [[BB14:%.*]] unwind label [[BB30:%.*]]
+; CHECK-NEXT: to label [[BB14:%.*]] unwind label [[BB30:%.*]]
; CHECK: bb14:
; CHECK-NEXT: [[TMP15:%.*]] = load ptr, ptr undef, align 8
; CHECK-NEXT: [[TMP16:%.*]] = invoke i32 [[TMP15]](ptr nonnull undef)
-; CHECK-NEXT: to label [[BB26:%.*]] unwind label [[BB30_THREAD:%.*]]
+; CHECK-NEXT: to label [[BB26:%.*]] unwind label [[BB30_THREAD:%.*]]
; CHECK: bb17:
; CHECK-NEXT: [[TMP18:%.*]] = landingpad { ptr, i32 }
-; CHECK-NEXT: catch ptr @global.1
-; CHECK-NEXT: catch ptr null
+; CHECK-NEXT: catch ptr @global.1
+; CHECK-NEXT: catch ptr null
; CHECK-NEXT: unreachable
; CHECK: bb19:
; CHECK-NEXT: [[TMP20:%.*]] = landingpad { ptr, i32 }
-; CHECK-NEXT: catch ptr @global.1
-; CHECK-NEXT: catch ptr null
+; CHECK-NEXT: catch ptr @global.1
+; CHECK-NEXT: catch ptr null
; CHECK-NEXT: unreachable
; CHECK: bb21:
; CHECK-NEXT: [[TMP22:%.*]] = landingpad { ptr, i32 }
-; CHECK-NEXT: catch ptr @global.1
-; CHECK-NEXT: catch ptr null
+; CHECK-NEXT: catch ptr @global.1
+; CHECK-NEXT: catch ptr null
; CHECK-NEXT: unreachable
; CHECK: bb26:
; CHECK-NEXT: [[TMP27:%.*]] = load ptr, ptr undef, align 8
; CHECK-NEXT: [[TMP28:%.*]] = invoke i32 [[TMP27]](ptr nonnull undef)
-; CHECK-NEXT: to label [[BB29:%.*]] unwind label [[BB30_THREAD]]
+; CHECK-NEXT: to label [[BB29:%.*]] unwind label [[BB30_THREAD]]
; CHECK: bb29:
; CHECK-NEXT: unreachable
; CHECK: bb30.thread:
; CHECK-NEXT: [[LPAD_THR_COMM:%.*]] = landingpad { ptr, i32 }
-; CHECK-NEXT: catch ptr @global.1
-; CHECK-NEXT: catch ptr null
+; CHECK-NEXT: catch ptr @global.1
+; CHECK-NEXT: catch ptr null
; CHECK-NEXT: br label [[BB32:%.*]]
; CHECK: bb30:
; CHECK-NEXT: [[LPAD_THR_COMM_SPLIT_LP:%.*]] = landingpad { ptr, i32 }
-; CHECK-NEXT: catch ptr @global.1
-; CHECK-NEXT: catch ptr null
+; CHECK-NEXT: catch ptr @global.1
+; CHECK-NEXT: catch ptr null
; CHECK-NEXT: br label [[BB32]]
; CHECK: bb32:
; CHECK-NEXT: unreachable
diff --git a/llvm/test/Transforms/JumpThreading/loop-phi.ll b/llvm/test/Transforms/JumpThreading/loop-phi.ll
index 1d22d69d75fa..9b8208296345 100644
--- a/llvm/test/Transforms/JumpThreading/loop-phi.ll
+++ b/llvm/test/Transforms/JumpThreading/loop-phi.ll
@@ -1,17 +1,39 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 4
; RUN: opt < %s -passes=jump-threading -S -jump-threading-across-loop-headers | FileCheck %s
; Make sure we correctly distinguish between %tmp15 and %tmp16 when we clone
; body2.
-; CHECK: body2.thread:
-; CHECK-NEXT: %tmp163 = add i32 %tmp165, 1
-; CHECK-NEXT: br label %latch1
-
-; CHECK: latch1:
-; CHECK-NEXT: %tmp165 = phi i32 [ %tmp163, %body2.thread ], [ %tmp16, %body2 ]
-; CHECK-NEXT: %tmp154 = phi i32 [ %tmp165, %body2.thread ], [ %tmp15, %body2 ]
-
define i32 @test(i1 %ARG1, i1 %ARG2, i32 %n) {
+; CHECK-LABEL: define i32 @test(
+; CHECK-SAME: i1 [[ARG1:%.*]], i1 [[ARG2:%.*]], i32 [[N:%.*]]) {
+; CHECK-NEXT: head1:
+; CHECK-NEXT: br i1 [[ARG1]], label [[EXIT:%.*]], label [[BODY2:%.*]]
+; CHECK: head1.thread:
+; CHECK-NEXT: br i1 [[ARG1]], label [[EXIT]], label [[BODY2_THREAD9:%.*]]
+; CHECK: body2.thread9:
+; CHECK-NEXT: [[TMP1612:%.*]] = add i32 [[TMP165:%.*]], 1
+; CHECK-NEXT: br label [[LATCH1:%.*]]
+; CHECK: body1:
+; CHECK-NEXT: [[TMP12:%.*]] = icmp sgt i32 [[TMP165]], 1
+; CHECK-NEXT: br i1 [[TMP12]], label [[BODY2_THREAD:%.*]], label [[HEAD1_THREAD:%.*]]
+; CHECK: body2.thread:
+; CHECK-NEXT: [[TMP163:%.*]] = add i32 [[TMP165]], 1
+; CHECK-NEXT: br label [[LATCH1]]
+; CHECK: body2:
+; CHECK-NEXT: [[TMP14:%.*]] = phi i32 [ 0, [[HEAD1:%.*]] ]
+; CHECK-NEXT: [[TMP15:%.*]] = phi i32 [ 0, [[HEAD1]] ]
+; CHECK-NEXT: [[TMP16:%.*]] = add i32 [[TMP14]], 1
+; CHECK-NEXT: br i1 [[ARG2]], label [[EXIT]], label [[LATCH1]]
+; CHECK: latch1:
+; CHECK-NEXT: [[TMP165]] = phi i32 [ [[TMP163]], [[BODY2_THREAD]] ], [ [[TMP16]], [[BODY2]] ], [ [[TMP1612]], [[BODY2_THREAD9]] ]
+; CHECK-NEXT: [[TMP154:%.*]] = phi i32 [ [[TMP165]], [[BODY2_THREAD]] ], [ [[TMP15]], [[BODY2]] ], [ [[TMP165]], [[BODY2_THREAD9]] ]
+; CHECK-NEXT: [[TMP18:%.*]] = icmp sgt i32 [[TMP165]], [[N]]
+; CHECK-NEXT: br i1 [[TMP18]], label [[EXIT]], label [[BODY1:%.*]]
+; CHECK: exit:
+; CHECK-NEXT: [[RC:%.*]] = phi i32 [ [[TMP15]], [[BODY2]] ], [ [[TMP154]], [[LATCH1]] ], [ -1, [[HEAD1]] ], [ -1, [[HEAD1_THREAD]] ]
+; CHECK-NEXT: ret i32 [[RC]]
+;
entry:
br label %head1
diff --git a/llvm/test/Transforms/JumpThreading/unreachable-loops.ll b/llvm/test/Transforms/JumpThreading/unreachable-loops.ll
index 8d649761700a..7b0dc4ad3ae7 100644
--- a/llvm/test/Transforms/JumpThreading/unreachable-loops.ll
+++ b/llvm/test/Transforms/JumpThreading/unreachable-loops.ll
@@ -15,8 +15,8 @@ define void @unreachable_single_bb_loop() {
; CHECK: bb2:
; CHECK-NEXT: [[TMP4:%.*]] = icmp ne i32 [[TMP]], 1
; CHECK-NEXT: switch i1 [[TMP4]], label [[BB2:%.*]] [
-; CHECK-NEXT: i1 false, label [[BB8]]
-; CHECK-NEXT: i1 true, label [[BB8]]
+; CHECK-NEXT: i1 false, label [[BB8]]
+; CHECK-NEXT: i1 true, label [[BB8]]
; CHECK-NEXT: ]
; CHECK: bb8:
; CHECK-NEXT: ret void
@@ -57,8 +57,8 @@ define void @unreachable_multi_bbs_loop() {
; CHECK: bb2:
; CHECK-NEXT: [[TMP4:%.*]] = icmp ne i32 [[TMP]], 1
; CHECK-NEXT: switch i1 [[TMP4]], label [[BB3:%.*]] [
-; CHECK-NEXT: i1 false, label [[BB8]]
-; CHECK-NEXT: i1 true, label [[BB8]]
+; CHECK-NEXT: i1 false, label [[BB8]]
+; CHECK-NEXT: i1 true, label [[BB8]]
; CHECK-NEXT: ]
; CHECK: bb8:
; CHECK-NEXT: ret void