1 ; RUN: opt < %s -deadargelim | llvm-dis 2 ; PR3807 3 4 define internal { i32, i32 } @foo() { 5 ret {i32,i32} {i32 42, i32 4} 6 } 7 8 define i32 @bar() { 9 %x = invoke {i32,i32} @foo() to label %T unwind label %T2 10 T: 11 %y = extractvalue {i32,i32} %x, 1 12 ret i32 %y 13 T2: 14 %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0 15 cleanup 16 unreachable 17 } 18 19 define i32 @bar2() { 20 entry: 21 %x = invoke {i32,i32} @foo() to label %T unwind label %T2 22 T: 23 %PN = phi i32 [0, %entry] 24 %y = extractvalue {i32,i32} %x, 1 25 ret i32 %y 26 T2: 27 %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0 28 cleanup 29 unreachable 30 } 31 32 declare i32 @__gxx_personality_v0(...) 33