Changes in directory llvm/lib/Transforms/Scalar:
InstructionCombining.cpp updated: 1.658 -> 1.659 --- Log message: ifdef out some dead code. Fix PR1244: http://llvm.org/PR1244 and Transforms/InstCombine/2007-03-13-CompareMerge.ll --- Diffs of the changes: (+8 -2) InstructionCombining.cpp | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-) Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.658 llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.659 --- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.658 Tue Mar 13 01:40:59 2007 +++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp Tue Mar 13 09:27:42 2007 @@ -992,6 +992,7 @@ return (KnownZero & Mask) == Mask; } +#if 0 /// MaskedValueIsZero - Return true if 'V & Mask' is known to be zero. We use /// this predicate to simplify operations downstream. Mask is known to be zero /// for bits that V cannot have. @@ -1001,6 +1002,7 @@ assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); return (KnownZero & Mask) == Mask; } +#endif /// ShrinkDemandedConstant - Check to see if the specified operand of the /// specified instruction is a constant integer. If so, check to see if there @@ -3608,8 +3610,9 @@ ICI->swapOperands(); // Swap the LHS and RHS of the ICmp } + ICmpInst *RHSICI = cast<ICmpInst>(Log.getOperand(1)); unsigned LHSCode = getICmpCode(ICI); - unsigned RHSCode = getICmpCode(cast<ICmpInst>(Log.getOperand(1))); + unsigned RHSCode = getICmpCode(RHSICI); unsigned Code; switch (Log.getOpcode()) { case Instruction::And: Code = LHSCode & RHSCode; break; @@ -3618,7 +3621,10 @@ default: assert(0 && "Illegal logical opcode!"); return 0; } - Value *RV = getICmpValue(ICmpInst::isSignedPredicate(pred), Code, LHS, RHS); + bool isSigned = ICmpInst::isSignedPredicate(RHSICI->getPredicate()) || + ICmpInst::isSignedPredicate(ICI->getPredicate()); + + Value *RV = getICmpValue(isSigned, Code, LHS, RHS); if (Instruction *I = dyn_cast<Instruction>(RV)) return I; // Otherwise, it's a constant boolean value... _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits