Changes in directory llvm/lib/Transforms/Scalar:
SCCP.cpp updated: 1.145 -> 1.146 --- Log message: Vectors are not supported by ConstantInt::getAllOnesValue. --- Diffs of the changes: (+10 -5) SCCP.cpp | 15 ++++++++++----- 1 files changed, 10 insertions(+), 5 deletions(-) Index: llvm/lib/Transforms/Scalar/SCCP.cpp diff -u llvm/lib/Transforms/Scalar/SCCP.cpp:1.145 llvm/lib/Transforms/Scalar/SCCP.cpp:1.146 --- llvm/lib/Transforms/Scalar/SCCP.cpp:1.145 Sun Dec 31 16:26:06 2006 +++ llvm/lib/Transforms/Scalar/SCCP.cpp Tue Jan 2 18:11:03 2007 @@ -88,6 +88,7 @@ if (LatticeValue != constant) { if (LatticeValue == undefined) { LatticeValue = constant; + assert(V && "Marking constant with NULL"); ConstantVal = V; } else { assert(LatticeValue == forcedconstant && @@ -699,14 +700,15 @@ // Could annihilate value. if (I.getOpcode() == Instruction::And) markConstant(IV, &I, Constant::getNullValue(I.getType())); - else - markConstant(IV, &I, ConstantInt::getAllOnesValue(I.getType())); + else if (Constant *Ones = ConstantInt::getAllOnesValue(I.getType())) { + markConstant(IV, &I, Ones); + } return; } else { if (I.getOpcode() == Instruction::And) { if (NonOverdefVal->getConstant()->isNullValue()) { markConstant(IV, &I, NonOverdefVal->getConstant()); - return; // X or 0 = -1 + return; // X and 0 = 0 } } else { if (ConstantIntegral *CI = @@ -1231,8 +1233,11 @@ case Instruction::Or: // undef | X -> -1. X could be -1. - markForcedConstant(LV, I, ConstantInt::getAllOnesValue(ITy)); - return true; + if (Constant *Ones = ConstantInt::getAllOnesValue(ITy)) { + markForcedConstant(LV, I, Ones); + return true; + } + break; case Instruction::SDiv: case Instruction::UDiv: _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits