Skip to content

Commit 06a11ef

Browse files
committed
[NFC] Add more tests
1 parent ece2d37 commit 06a11ef

File tree

1 file changed

+31
-1
lines changed

1 file changed

+31
-1
lines changed

llvm/test/Transforms/SimplifyCFG/unreachable-multi-basic-block-funclet.ll

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,29 @@ funclet_end:
2222
cleanupret from %cleanuppad unwind to caller
2323
}
2424

25+
define void @unreachable_cleanuppad_linear_middle_block(i64 %shapes.1) personality ptr null {
26+
; CHECK-LABEL: define void @unreachable_cleanuppad_linear_middle_block(
27+
; CHECK-SAME: i64 [[SHAPES_1:%.*]]) personality ptr null {
28+
; CHECK-NEXT: [[START:.*:]]
29+
; CHECK-NEXT: [[_7:%.*]] = icmp ult i64 0, [[SHAPES_1]]
30+
; CHECK-NEXT: ret void
31+
;
32+
start:
33+
%_7 = icmp ult i64 0, %shapes.1
34+
ret void
35+
36+
funclet:
37+
%cleanuppad = cleanuppad within none []
38+
br label %middle_block
39+
40+
middle_block:
41+
%tmp1 = add i64 %shapes.1, 42
42+
br label %funclet_end
43+
44+
funclet_end:
45+
cleanupret from %cleanuppad unwind to caller
46+
}
47+
2548
define void @unreachable_cleanuppad_multiple_predecessors(i64 %shapes.1) personality ptr null {
2649
; CHECK-LABEL: define void @unreachable_cleanuppad_multiple_predecessors(
2750
; CHECK-SAME: i64 [[SHAPES_1:%.*]]) personality ptr null {
@@ -172,10 +195,17 @@ bb13:
172195
declare x86_thiscallcc ptr @quux(ptr, ptr, i32)
173196

174197
define x86_thiscallcc ptr @baz(ptr %arg, ptr %arg1, ptr %arg2, i1 %arg3, ptr %arg4) personality ptr null {
198+
; CHECK-LABEL: define x86_thiscallcc ptr @baz(
199+
; CHECK-SAME: ptr [[ARG:%.*]], ptr [[ARG1:%.*]], ptr [[ARG2:%.*]], i1 [[ARG3:%.*]], ptr [[ARG4:%.*]]) personality ptr null {
200+
; CHECK-NEXT: [[BB:.*:]]
201+
; CHECK-NEXT: [[ALLOCA:%.*]] = alloca [2 x %struct.foo], align 4
202+
; CHECK-NEXT: [[INVOKE:%.*]] = call x86_thiscallcc ptr @quux(ptr null, ptr null, i32 0) #[[ATTR1:[0-9]+]]
203+
; CHECK-NEXT: unreachable
204+
;
175205
bb:
176206
%alloca = alloca [2 x %struct.foo], align 4
177207
%invoke = invoke x86_thiscallcc ptr @quux(ptr null, ptr null, i32 0)
178-
to label %bb5 unwind label %bb10
208+
to label %bb5 unwind label %bb10
179209

180210
bb5: ; preds = %bb
181211
%getelementptr = getelementptr i8, ptr %arg, i32 20

0 commit comments

Comments
 (0)