Changes in directory llvm/lib/Transforms/Scalar:
InstructionCombining.cpp updated: 1.457 -> 1.458 --- Log message: Fix InstCombine/2006-04-01-InfLoop.ll --- Diffs of the changes: (+2 -1) InstructionCombining.cpp | 3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.457 llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.458 --- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.457 Sat Apr 1 02:03:55 2006 +++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp Sat Apr 1 16:05:01 2006 @@ -3008,7 +3008,8 @@ } else if (Op0I->getOpcode() == Instruction::And && Op0I->hasOneUse()) { if (Op0I->getOperand(0) == Op1) // (A&B)^A -> (B&A)^A Op0I->swapOperands(); - if (Op0I->getOperand(1) == Op1) { // (B&A)^A == ~B & A + if (Op0I->getOperand(1) == Op1 && // (B&A)^A == ~B & A + !isa<ConstantInt>(Op1)) { // Canonical form is (B&C)^C Instruction *N = BinaryOperator::createNot(Op0I->getOperand(0), "tmp"); InsertNewInstBefore(N, I); return BinaryOperator::createAnd(N, Op1); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits