Changes in directory llvm/lib/Target:
TargetLowering.cpp updated: 1.44 -> 1.45 --- Log message: I can't convince myself that this is safe, remove the recursive call. --- Diffs of the changes: (+2 -18) TargetLowering.cpp | 20 ++------------------ 1 files changed, 2 insertions(+), 18 deletions(-) Index: llvm/lib/Target/TargetLowering.cpp diff -u llvm/lib/Target/TargetLowering.cpp:1.44 llvm/lib/Target/TargetLowering.cpp:1.45 --- llvm/lib/Target/TargetLowering.cpp:1.44 Sun Mar 5 13:52:57 2006 +++ llvm/lib/Target/TargetLowering.cpp Mon Mar 13 00:42:16 2006 @@ -565,23 +565,6 @@ break; } case ISD::ADD: - if (ConstantSDNode *AA = dyn_cast<ConstantSDNode>(Op.getOperand(1))) { - if (SimplifyDemandedBits(Op.getOperand(0), DemandedMask, KnownZero, - KnownOne, TLO, Depth+1)) - return true; - // Compute the KnownOne/KnownZero masks for the constant, so we can set - // KnownZero appropriately if we're adding a constant that has all low - // bits cleared. - ComputeMaskedBits(Op.getOperand(1), - MVT::getIntVTBitMask(Op.getValueType()), - KnownZero2, KnownOne2, Depth+1); - - uint64_t KnownZeroOut = std::min(CountTrailingZeros_64(~KnownZero), - CountTrailingZeros_64(~KnownZero2)); - KnownZero = (1ULL << KnownZeroOut) - 1; - KnownOne = 0; - } - break; case ISD::SUB: // Just use ComputeMaskedBits to compute output bits, there are no // simplifications that can be done here, and sub always demands all input @@ -843,7 +826,8 @@ assert((KnownZero2 & KnownOne2) == 0 && "Bits known to be one AND zero?"); // Output known-0 bits are known if clear or set in both the low clear bits - // common to both LHS & RHS; + // common to both LHS & RHS. For example, 8+(X<<3) is known to have the + // low 3 bits clear. uint64_t KnownZeroOut = std::min(CountTrailingZeros_64(~KnownZero), CountTrailingZeros_64(~KnownZero2)); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits