aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2009-01-30 02:49:26 +0000
committerBill Wendling <isanbard@gmail.com>2009-01-30 02:49:26 +0000
commit73e16b2869fbc75ccb3506620b0342b6085fe843 (patch)
treeedff447690d5d42d0235f86f958fb178fdbd4ee7 /lib/CodeGen/SelectionDAG/DAGCombiner.cpp
parent3311a1f8f0d8a2c6d940802bbb95eba0b801a615 (diff)
Forgot to propagate debug loc info here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63371 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/DAGCombiner.cpp')
-rw-r--r--lib/CodeGen/SelectionDAG/DAGCombiner.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 0a09d6443b..1340ec5435 100644
--- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -1306,11 +1306,11 @@ SDValue DAGCombiner::visitMUL(SDNode *N) {
// single-use add), we should put the negate there.
return DAG.getNode(ISD::SUB, N->getDebugLoc(), VT,
DAG.getConstant(0, VT),
- DAG.getNode(ISD::SHL, VT, N0,
+ DAG.getNode(ISD::SHL, N->getDebugLoc(), VT, N0,
DAG.getConstant(Log2_64(-N1C->getSExtValue()),
TLI.getShiftAmountTy())));
// (mul (shl X, c1), c2) -> (mul X, c2 << c1)
- if (N1C && N0.getOpcode() == ISD::SHL &&
+ if (N1C && N0.getOpcode() == ISD::SHL &&
isa<ConstantSDNode>(N0.getOperand(1))) {
SDValue C3 = DAG.getNode(ISD::SHL, N->getDebugLoc(), VT,
N1, N0.getOperand(1));
@@ -1332,6 +1332,7 @@ SDValue DAGCombiner::visitMUL(SDNode *N) {
N1.getNode()->hasOneUse()) {
Sh = N1; Y = N0;
}
+
if (Sh.getNode()) {
SDValue Mul = DAG.getNode(ISD::MUL, N->getDebugLoc(), VT,
Sh.getOperand(0), Y);
@@ -1339,6 +1340,7 @@ SDValue DAGCombiner::visitMUL(SDNode *N) {
Mul, Sh.getOperand(1));
}
}
+
// fold (mul (add x, c1), c2) -> (add (mul x, c2), c1*c2)
if (N1C && N0.getOpcode() == ISD::ADD && N0.getNode()->hasOneUse() &&
isa<ConstantSDNode>(N0.getOperand(1)))