34 lines · plain
1; Test that we don't sink landingpads2; RUN: opt -passes=sink -S < %s | FileCheck %s3 4declare hidden void @g()5declare void @h()6declare i32 @__gxx_personality_v0(...)7 8define void @f() personality ptr @__gxx_personality_v0 {9entry:10 invoke void @g()11 to label %invoke.cont.15 unwind label %lpad12 13invoke.cont.15:14 unreachable15 16; CHECK: lpad:17; CHECK: %0 = landingpad { ptr, i32 }18lpad:19 %0 = landingpad { ptr, i32 }20 catch ptr null21 invoke void @h()22 to label %invoke.cont unwind label %lpad.123 24; CHECK: invoke.cont25; CHECK-NOT: %0 = landingpad { ptr, i32 }26invoke.cont:27 ret void28 29lpad.1:30 %1 = landingpad { ptr, i32 }31 cleanup32 resume { ptr, i32 } %133}34