[llvm-commits] CVS: llvm/lib/Transforms/Scalar/InstructionCombining.cpp

Chris Lattner lattner at cs.uiuc.edu
Thu Jun 16 20:59:28 PDT 2005



Changes in directory llvm/lib/Transforms/Scalar:

InstructionCombining.cpp updated: 1.354 -> 1.355
---
Log message:

This is not true: (X != 13 | X < 15) -> X < 15

It is actually always true.  This fixes PR586: http://llvm.cs.uiuc.edu/PR586  and 
Transforms/InstCombine/2005-06-16-SetCCOrSetCCMiscompile.ll



---
Diffs of the changes:  (+1 -2)

 InstructionCombining.cpp |    3 +--
 1 files changed, 1 insertion(+), 2 deletions(-)


Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp
diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.354 llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.355
--- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.354	Thu Jun 16 21:05:55 2005
+++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp	Thu Jun 16 22:59:17 2005
@@ -1967,12 +1967,11 @@
           case Instruction::SetNE:
             switch (RHSCC) {
             default: assert(0 && "Unknown integer condition code!");
-            case Instruction::SetLT:        // (X != 13 | X < 15) -> X < 15
-              return ReplaceInstUsesWith(I, RHS);
             case Instruction::SetEQ:        // (X != 13 | X == 15) -> X != 13
             case Instruction::SetGT:        // (X != 13 | X > 15)  -> X != 13
               return ReplaceInstUsesWith(I, LHS);
             case Instruction::SetNE:        // (X != 13 | X != 15) -> true
+            case Instruction::SetLT:        // (X != 13 | X < 15)  -> true
               return ReplaceInstUsesWith(I, ConstantBool::True);
             }
             break;






More information about the llvm-commits mailing list