Changes in directory llvm/lib/Transforms/Scalar:
InstructionCombining.cpp updated: 1.508 -> 1.509 --- Log message: Fix an infinite loop building the CFE --- 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.508 llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.509 --- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.508 Mon Sep 18 00:27:43 2006 +++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp Mon Sep 18 13:27:05 2006 @@ -3988,7 +3988,8 @@ // preferable because it allows the C<<Y expression to be hoisted out // of a loop if Y is invariant and X is not. if (Shift && Shift->hasOneUse() && CI->isNullValue() && - I.isEquality() && !Shift->isArithmeticShift()) { + I.isEquality() && !Shift->isArithmeticShift() && + isa<Instruction>(Shift->getOperand(0))) { // Compute C << Y. Value *NS; if (Shift->getOpcode() == Instruction::Shr) { _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits