[InstCombine] Signed saturation patterns
[llvm-core.git] / test / Transforms / DeadArgElim / 2009-03-17-MRE-Invoke.ll
blob4adae850e78b79c69679b5cf953acfeda5031bf9
1 ; RUN: opt < %s -deadargelim | llvm-dis
2 ; PR3807
4 define internal { i32, i32 } @foo() {
5   ret {i32,i32} {i32 42, i32 4}
8 define i32 @bar() personality i32 (...)* @__gxx_personality_v0 {
9   %x = invoke {i32,i32} @foo() to label %T unwind label %T2
11   %y = extractvalue {i32,i32} %x, 1
12   ret i32 %y
13 T2:
14   %exn = landingpad {i8*, i32}
15             cleanup
16   unreachable
19 define i32 @bar2() personality i32 (...)* @__gxx_personality_v0 {
20 entry:
21   %x = invoke {i32,i32} @foo() to label %T unwind label %T2
23   %PN = phi i32 [0, %entry]
24   %y = extractvalue {i32,i32} %x, 1
25   ret i32 %y
26 T2:
27   %exn = landingpad {i8*, i32}
28             cleanup
29   unreachable
32 declare i32 @__gxx_personality_v0(...)