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 3; PR3325 4 5define 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:.*]] 9; CHECK: [[LPAD]]: 10; CHECK-NEXT: [[VAL:%.*]] = landingpad { ptr, i32 } 11; CHECK-NEXT: cleanup 12; CHECK-NEXT: unreachable 13; CHECK: [[UNIFIEDRETURNBLOCK]]: 14; CHECK-NEXT: ret i32 42 15; 16 %tmp1 = invoke i32 @f() 17 to label %UnifiedReturnBlock unwind label %lpad 18 19lpad: 20 %val = landingpad { ptr, i32 } 21 cleanup 22 unreachable 23 24UnifiedReturnBlock: 25 ret i32 %tmp1 26} 27 28define internal i32 @f() { 29; CHECK-LABEL: define internal i32 @f() { 30; CHECK-NEXT: ret i32 poison 31; 32 ret i32 42 33} 34 35declare ptr @__cxa_begin_catch(ptr) nounwind 36 37declare void @__cxa_end_catch() 38 39declare i32 @__gxx_personality_v0(...) 40