Add a small missed optimization: turn X == C ? X : Y into X == C ? C : Y. This
[llvm/stm8.git] / test / Assembler / 2008-02-20-MultipleReturnValue.ll
blob32c893a9f5f19f8ce5b743b929d155f48140c028
1 ; RUN: opt < %s -verify -S | llvm-as -disable-output
3 define {i32, i8} @foo(i32 %p) {
4   ret i32 1, i8 2
7 define i8 @f2(i32 %p) {
8    %c = call {i32, i8} @foo(i32 %p)
9    %d = getresult {i32, i8} %c, 1
10    %e = add i8 %d, 1
11    ret i8 %e
14 define i32 @f3(i32 %p) {
15    %c = invoke {i32, i8} @foo(i32 %p)
16          to label %L unwind label %L2
17    L: 
18    %d = getresult {i32, i8} %c, 0
19    ret i32 %d
20    L2:
21    ret i32 0