xref: /llvm-project/llvm/test/tools/llvm-reduce/invoke-with-missing-landingpad.ll (revision 5b6575d50eab705b6d3b20c9f92b9aece5e1bd24)
1; RUN: llvm-reduce --delta-passes=basic-blocks --test FileCheck --test-arg --check-prefixes=CHECK-INTERESTINGNESS --test-arg %s --test-arg --input-file %s  -abort-on-invalid-reduction -o %t
2; RUN: FileCheck <%t %s
3
4; CHECK-INTERESTINGNESS: call void @foo()
5
6; CHECK: define void @test() personality ptr null {
7; CHECK-NEXT: entry:
8; CHECK-NEXT:   br label %cont
9; CHECK-EMPTY:
10; CHECK-NEXT: cont:
11; CHECK-NEXT:   br label %exit
12; CHECK-EMPTY:
13; CHECK-NEXT: exit:
14; CHECK-NEXT:   call void @foo()
15; CHECK-NEXT:   ret void
16; CHECK-NEXT: }
17
18define void @test() personality ptr null {
19entry:
20  invoke void @foo()
21          to label %cont unwind label %lpad
22
23cont:
24  invoke void @foo()
25          to label %exit unwind label %lpad
26
27lpad:
28  %0 = landingpad { ptr, i32 }
29          cleanup
30  ret void
31
32exit:
33  call void @foo()
34  ret void
35}
36
37declare void @foo()
38