mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
a3395c61b5
when it should have been and'd with LowBits. Fix that and while there beef up the logic in the case of a negative LHS. llvm-svn: 94745
20 lines
544 B
LLVM
20 lines
544 B
LLVM
; RUN: opt < %s -instcombine -S | FileCheck %s
|
|
; PR6165
|
|
|
|
define i32 @f() {
|
|
entry:
|
|
br label %BB1
|
|
|
|
BB1: ; preds = %BB1, %entry
|
|
; CHECK: BB1:
|
|
%x = phi i32 [ -29, %entry ], [ 0, %BB1 ] ; <i32> [#uses=2]
|
|
%rem = srem i32 %x, 2 ; <i32> [#uses=1]
|
|
%t = icmp eq i32 %rem, -1 ; <i1> [#uses=1]
|
|
br i1 %t, label %BB2, label %BB1
|
|
; CHECK-NOT: br i1 false
|
|
|
|
BB2: ; preds = %BB1
|
|
; CHECK: BB2:
|
|
ret i32 %x
|
|
}
|