40 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt < %s -passes=ipsccp -S | FileCheck %s3; PR33254 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: cleanup12; CHECK-NEXT: unreachable13; CHECK: [[UNIFIEDRETURNBLOCK]]:14; CHECK-NEXT: ret i32 4215;16 %tmp1 = invoke i32 @f()17 to label %UnifiedReturnBlock unwind label %lpad18 19lpad:20 %val = landingpad { ptr, i32 }21 cleanup22 unreachable23 24UnifiedReturnBlock:25 ret i32 %tmp126}27 28define internal i32 @f() {29; CHECK-LABEL: define internal i32 @f() {30; CHECK-NEXT: ret i32 poison31;32 ret i32 4233}34 35declare ptr @__cxa_begin_catch(ptr) nounwind36 37declare void @__cxa_end_catch()38 39declare i32 @__gxx_personality_v0(...)40