OSDN Git Service

Propagate debug location info for the token factor.
authorBill Wendling <isanbard@gmail.com>
Fri, 30 Jan 2009 01:13:16 +0000 (01:13 +0000)
committerBill Wendling <isanbard@gmail.com>
Fri, 30 Jan 2009 01:13:16 +0000 (01:13 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63355 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/DAGCombiner.cpp

index 13256e0..2947794 100644 (file)
@@ -770,7 +770,6 @@ SDValue DAGCombiner::visit(SDNode *N) {
 }
 
 SDValue DAGCombiner::combine(SDNode *N) {
-
   SDValue RV = visit(N);
 
   // If nothing happened, try a target-specific DAG combine.
@@ -796,6 +795,7 @@ SDValue DAGCombiner::combine(SDNode *N) {
       N->getNumValues() == 1) {
     SDValue N0 = N->getOperand(0);
     SDValue N1 = N->getOperand(1);
+
     // Constant operands are canonicalized to RHS.
     if (isa<ConstantSDNode>(N0) || !isa<ConstantSDNode>(N1)) {
       SDValue Ops[] = { N1, N0 };
@@ -821,7 +821,7 @@ static SDValue getInputChainForNode(SDNode *N) {
       if (N->getOperand(i).getValueType() == MVT::Other)
         return N->getOperand(i);
   }
-  return SDValue(0, 0);
+  return SDValue();
 }
 
 SDValue DAGCombiner::visitTokenFactor(SDNode *N) {
@@ -890,9 +890,10 @@ SDValue DAGCombiner::visitTokenFactor(SDNode *N) {
       Result = DAG.getEntryNode();
     } else {
       // New and improved token factor.
-      Result = DAG.getNode(ISD::TokenFactor, MVT::Other, &Ops[0], Ops.size());
+      Result = DAG.getNode(ISD::TokenFactor, N->getDebugLoc(),
+                           MVT::Other, &Ops[0], Ops.size());
     }
-    
+
     // Don't add users to work list.
     return CombineTo(N, Result, false);
   }
@@ -911,7 +912,6 @@ SDValue DAGCombiner::visitMERGE_VALUES(SDNode *N) {
   return SDValue(N, 0);   // Return N so it doesn't get rechecked!
 }
 
-
 static
 SDValue combineShlAddConstant(SDValue N0, SDValue N1, SelectionDAG &DAG) {
   MVT VT = N0.getValueType();