Fix folding of icmp's of i1 where the comparison is signed. The code
[oota-llvm.git] / test / Transforms / InstCombine / 2008-07-10-CastSextBool.ll
index f5efefb0a0be48c7895ce4878d9e51031ce5da1f..205e57d797384aa85cf9d46bdea9eb27747f6381 100644 (file)
@@ -1,8 +1,17 @@
 ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep {%C = xor i1 %A, true}
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep {ret i1 false}
 ; PR2539
 
-define i1 @test(i1 %A) {
+define i1 @test1(i1 %A) {
        %B = zext i1 %A to i32
        %C = icmp slt i32 %B, 1
        ret i1 %C
 }
+
+
+define i1 @test2(i1 zeroext  %b) {
+entry:
+       %cmptmp = icmp slt i1 %b, true          ; <i1> [#uses=1]
+       ret i1 %cmptmp
+}
+