diff options
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 12 | 
1 files changed, 6 insertions, 6 deletions
| diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index 83e5cc1c92c..1e160c4097f 100644 --- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -3438,13 +3438,13 @@ SDValue DAGCombiner::visitMUL(SDNode *N) {        MathOp = ISD::SUB;      if (MathOp != ISD::DELETED_NODE) { -      unsigned ShAmt = MathOp == ISD::ADD ? (MulC - 1).logBase2() -                                          : (MulC + 1).logBase2(); -      assert(ShAmt > 0 && ShAmt < VT.getScalarSizeInBits() && -             "Not expecting multiply-by-constant that could have simplified"); +      unsigned ShAmt = +          MathOp == ISD::ADD ? (MulC - 1).logBase2() : (MulC + 1).logBase2(); +      assert(ShAmt < VT.getScalarSizeInBits() && +             "multiply-by-constant generated out of bounds shift");        SDLoc DL(N); -      SDValue Shl = DAG.getNode(ISD::SHL, DL, VT, N0, -                                DAG.getConstant(ShAmt, DL, VT)); +      SDValue Shl = +          DAG.getNode(ISD::SHL, DL, VT, N0, DAG.getConstant(ShAmt, DL, VT));        SDValue R = DAG.getNode(MathOp, DL, VT, Shl, N0);        if (ConstValue1.isNegative())          R = DAG.getNode(ISD::SUB, DL, VT, DAG.getConstant(0, DL, VT), R); | 

