Add some method variants, patch by Evan Cheng


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24418 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index 803e788..685bdab 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -1399,6 +1399,7 @@
   N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc);
   N->setValueTypes(VT);
 }
+
 void SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc,
                                 MVT::ValueType VT, SDOperand Op1) {
   RemoveNodeFromCSEMaps(N);
@@ -1406,6 +1407,7 @@
   N->setValueTypes(VT);
   N->setOperands(Op1);
 }
+
 void SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc,
                                 MVT::ValueType VT, SDOperand Op1,
                                 SDOperand Op2) {
@@ -1414,14 +1416,7 @@
   N->setValueTypes(VT);
   N->setOperands(Op1, Op2);
 }
-void SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc, 
-                                MVT::ValueType VT1, MVT::ValueType VT2,
-                                SDOperand Op1, SDOperand Op2) {
-  RemoveNodeFromCSEMaps(N);
-  N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc);
-  setNodeValueTypes(N, VT1, VT2);
-  N->setOperands(Op1, Op2);
-}
+
 void SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc,
                                 MVT::ValueType VT, SDOperand Op1,
                                 SDOperand Op2, SDOperand Op3) {
@@ -1430,14 +1425,6 @@
   N->setValueTypes(VT);
   N->setOperands(Op1, Op2, Op3);
 }
-void SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc,
-                                MVT::ValueType VT1, MVT::ValueType VT2,
-                                SDOperand Op1, SDOperand Op2, SDOperand Op3) {
-  RemoveNodeFromCSEMaps(N);
-  N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc);
-  setNodeValueTypes(N, VT1, VT2);
-  N->setOperands(Op1, Op2, Op3);
-}
 
 void SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc,
                                 MVT::ValueType VT, SDOperand Op1,
@@ -1447,6 +1434,7 @@
   N->setValueTypes(VT);
   N->setOperands(Op1, Op2, Op3, Op4);
 }
+
 void SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc,
                                 MVT::ValueType VT, SDOperand Op1,
                                 SDOperand Op2, SDOperand Op3, SDOperand Op4,
@@ -1457,7 +1445,45 @@
   N->setOperands(Op1, Op2, Op3, Op4, Op5);
 }
 
-/// ReplaceAllUsesWith - Modify anything using 'From' to use 'To' instead.
+void SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc, 
+                                MVT::ValueType VT1, MVT::ValueType VT2,
+                                SDOperand Op1, SDOperand Op2) {
+  RemoveNodeFromCSEMaps(N);
+  N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc);
+  setNodeValueTypes(N, VT1, VT2);
+  N->setOperands(Op1, Op2);
+}
+
+void SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc,
+                                MVT::ValueType VT1, MVT::ValueType VT2,
+                                SDOperand Op1, SDOperand Op2, SDOperand Op3) {
+  RemoveNodeFromCSEMaps(N);
+  N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc);
+  setNodeValueTypes(N, VT1, VT2);
+  N->setOperands(Op1, Op2, Op3);
+}
+
+void SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc,
+                                MVT::ValueType VT1, MVT::ValueType VT2,
+                                SDOperand Op1, SDOperand Op2,
+                                SDOperand Op3, SDOperand Op4) {
+  RemoveNodeFromCSEMaps(N);
+  N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc);
+  setNodeValueTypes(N, VT1, VT2);
+  N->setOperands(Op1, Op2, Op3, Op4);
+}
+
+void SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc,
+                                MVT::ValueType VT1, MVT::ValueType VT2,
+                                SDOperand Op1, SDOperand Op2,
+                                SDOperand Op3, SDOperand Op4, SDOperand Op5) {
+  RemoveNodeFromCSEMaps(N);
+  N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc);
+  setNodeValueTypes(N, VT1, VT2);
+  N->setOperands(Op1, Op2, Op3, Op4, Op5);
+}
+
+// ReplaceAllUsesWith - Modify anything using 'From' to use 'To' instead.
 /// This can cause recursive merging of nodes in the DAG.
 ///
 /// This version assumes From/To have a single result value.