llvm-6502/test/Transforms/InstCombine/store-merge.ll
2007-08-15 13:36:28 +00:00

38 lines
618 B
LLVM

; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: grep {ret i32 %.toremerge} | count 2
;; Simple sinking tests
; "if then else"
define i32 @test1(i1 %C) {
%A = alloca i32
br i1 %C, label %Cond, label %Cond2
Cond:
store i32 -987654321, i32* %A
br label %Cont
Cond2:
store i32 47, i32* %A
br label %Cont
Cont:
%V = load i32* %A
ret i32 %V
}
; "if then"
define i32 @test2(i1 %C) {
%A = alloca i32
store i32 47, i32* %A
br i1 %C, label %Cond, label %Cont
Cond:
store i32 -987654321, i32* %A
br label %Cont
Cont:
%V = load i32* %A
ret i32 %V
}