Add a priority queue class, which is a wrapper around std::priority_queue
[oota-llvm.git] / test / Transforms / InstCombine / or2.ll
index 3745a48a89b4ce887aa957ccfaebff79ddf3d38a..f14a2743916330fcb0806bf032a0a6ec77023f43 100644 (file)
@@ -1,11 +1,12 @@
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep and &&
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep ' or'
+; This test makes sure that these instructions are properly eliminated.
+;
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep -v xor | not grep {or }
 
-define i32 @test1(i32 %b, i32 %c, i32 %d) {
-        %tmp3 = and i32 %c, %b
-        %tmp4not = xor i32 %b, -1
-        %tmp6 = and i32 %d, %tmp4not
-        %tmp7 = or i32 %tmp6, %tmp3
-        ret i32 %tmp7
+; PR1738
+define i1 @test1(double %X, double %Y) {
+        %tmp9 = fcmp uno double %X, 0.000000e+00                ; <i1> [#uses=1]
+        %tmp13 = fcmp uno double %Y, 0.000000e+00               ; <i1> [#uses=1]
+        %bothcond = or i1 %tmp13, %tmp9         ; <i1> [#uses=1]
+        ret i1 %bothcond
 }