Xamarin Public Jenkins (auto-signing) 64ac736ec5 Imported Upstream version 6.0.0.172
Former-commit-id: f3cc9b82f3e5bd8f0fd3ebc098f789556b44e9cd
2019-04-12 14:10:50 +00:00

17 lines
506 B
LLVM

; RUN: opt < %s -instcombine -S | grep load | count 3
; PR2471
declare i32 @x(i32*)
define i32 @b(i32* %a, i32* %b) {
entry:
%tmp1 = load i32, i32* %a
%tmp3 = load i32, i32* %b
%add = add i32 %tmp1, %tmp3
%call = call i32 @x( i32* %a )
%tobool = icmp ne i32 %add, 0
; not safe to turn into an uncond load
%cond = select i1 %tobool, i32* %b, i32* %a
%tmp8 = load i32, i32* %cond
ret i32 %tmp8
}