1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
2 ; RUN: opt < %s -passes=ipsccp -S | FileCheck %s
5 define i32 @main() personality ptr @__gxx_personality_v0 {
6 ; CHECK-LABEL: define i32 @main() personality ptr @__gxx_personality_v0 {
7 ; CHECK-NEXT: [[TMP1:%.*]] = invoke i32 @f()
8 ; CHECK-NEXT: to label %[[UNIFIEDRETURNBLOCK:.*]] unwind label %[[LPAD:.*]]
10 ; CHECK-NEXT: [[VAL:%.*]] = landingpad { ptr, i32 }
12 ; CHECK-NEXT: unreachable
13 ; CHECK: [[UNIFIEDRETURNBLOCK]]:
14 ; CHECK-NEXT: ret i32 42
16 %tmp1 = invoke i32 @f()
17 to label %UnifiedReturnBlock unwind label %lpad
20 %val = landingpad { ptr, i32 }
28 define internal i32 @f() {
29 ; CHECK-LABEL: define internal i32 @f() {
30 ; CHECK-NEXT: ret i32 poison
35 declare ptr @__cxa_begin_catch(ptr) nounwind
37 declare void @__cxa_end_catch()
39 declare i32 @__gxx_personality_v0(...)