select-load-call.ll
292 Bytes
; RUN: opt < %s -instcombine -S | grep "ret i32 1"
declare void @test2()
define i32 @test(i1 %cond, i32 *%P) {
%A = alloca i32
store i32 1, i32* %P
store i32 1, i32* %A
call void @test2() readonly
%P2 = select i1 %cond, i32 *%P, i32* %A
%V = load i32, i32* %P2
ret i32 %V
}