Remove chains. Unnecessary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59783 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index e2aad48..7074c59 100644
--- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -5148,7 +5148,6 @@
 }
 
 SDValue DAGCombiner::visitSADDO(SDNode *N) {
-  SDValue Chain = N->getOperand(2);
   SDValue LHS = N->getOperand(0);
   SDValue RHS = N->getOperand(1);
 
@@ -5157,17 +5156,16 @@
   SDValue Cmp = DAG.getSetCC(MVT::i1, Sum, LHS, ISD::SETLT);
   AddToWorkList(Cmp.getNode());
 
-  MVT ValueVTs[] = { LHS.getValueType(), MVT::i1, MVT::Other };
-  SDValue Ops[] = { Sum, Cmp, Chain };
+  MVT ValueVTs[] = { LHS.getValueType(), MVT::i1 };
+  SDValue Ops[] = { Sum, Cmp };
 
-  SDValue Merge = DAG.getMergeValues(DAG.getVTList(&ValueVTs[0], 3),
-                                     &Ops[0], 3);
+  SDValue Merge = DAG.getMergeValues(DAG.getVTList(&ValueVTs[0], 2),
+                                     &Ops[0], 2);
   SDNode *MNode = Merge.getNode();
 
   AddToWorkList(MNode);
   DAG.ReplaceAllUsesOfValueWith(SDValue(N, 0), SDValue(MNode, 0));
   DAG.ReplaceAllUsesOfValueWith(SDValue(N, 1), SDValue(MNode, 1));
-  DAG.ReplaceAllUsesOfValueWith(SDValue(N, 2), SDValue(MNode, 2));
 
   // Since the node is now dead, remove it from the graph.
   removeFromWorkList(N);
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
index 75910ef..4bc0128 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
@@ -4095,21 +4095,17 @@
 
   case Intrinsic::sadd_with_overflow: {
     // Convert to "ISD::SADDO" instruction.
-    SDValue Chain = getRoot();
     SDValue Op1 = getValue(I.getOperand(1));
     SDValue Op2 = getValue(I.getOperand(2));
     MVT Ty = Op1.getValueType();
 
-    MVT ValueVTs[] = { Ty, MVT::i1, MVT::Other };
-    SDValue Ops[] = { Op1, Op2, Chain };
+    MVT ValueVTs[] = { Ty, MVT::i1 };
+    SDValue Ops[] = { Op1, Op2 };
 
-    SDValue Result = DAG.getNode(ISD::SADDO, DAG.getVTList(&ValueVTs[0], 3),
-                                 &Ops[0], 3);
+    SDValue Result = DAG.getNode(ISD::SADDO, DAG.getVTList(&ValueVTs[0], 2),
+                                 &Ops[0], 2);
 
     setValue(&I, Result);
-
-    unsigned NumArgRegs = Result.getNode()->getNumValues() - 1;
-    DAG.setRoot(SDValue(Result.getNode(), NumArgRegs));
     return 0;
   }
   case Intrinsic::uadd_with_overflow: {