xref: /llvm-project/llvm/test/Transforms/SCCP/landingpad.ll (revision 106ed59fe962e0443d2f59a81fa6f52875ced5c0)
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2; RUN: opt -S -passes=ipsccp < %s | FileCheck %s
3
4; SCCP should never remove landingpads.
5
6declare void @fn()
7
8define void @test() personality ptr null {
9; CHECK-LABEL: @test(
10; CHECK-NEXT:    invoke void @fn()
11; CHECK-NEXT:    to label [[SUCCESS:%.*]] unwind label [[FAILURE:%.*]]
12; CHECK:       success:
13; CHECK-NEXT:    ret void
14; CHECK:       failure:
15; CHECK-NEXT:    [[PAD:%.*]] = landingpad {}
16; CHECK-NEXT:    cleanup
17; CHECK-NEXT:    unreachable
18;
19  invoke void @fn()
20  to label %success unwind label %failure
21
22success:
23  ret void
24
25failure:
26  %pad = landingpad {}
27  cleanup
28  unreachable
29}
30