Add some method variants, patch by Evan Cheng
authorChris Lattner <sabre@nondot.org>
Sat, 19 Nov 2005 01:44:53 +0000 (01:44 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 19 Nov 2005 01:44:53 +0000 (01:44 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24418 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/SelectionDAG.cpp

index 803e788b6a6dd1cfa43454de95a8d7c1a915c8d0..685bdabd49fc4d45553a7f08b0112285cdaba822 100644 (file)
@@ -1399,6 +1399,7 @@ void SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc,
   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 @@ void SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc,
   N->setValueTypes(VT);
   N->setOperands(Op1);
 }
+
 void SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc,
                                 MVT::ValueType VT, SDOperand Op1,
                                 SDOperand Op2) {
@@ -1414,22 +1416,44 @@ void SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc,
   N->setValueTypes(VT);
   N->setOperands(Op1, Op2);
 }
-void SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc, 
-                                MVT::ValueType VT1, MVT::ValueType VT2,
-                                SDOperand Op1, SDOperand Op2) {
+
+void SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc,
+                                MVT::ValueType VT, SDOperand Op1,
+                                SDOperand Op2, SDOperand Op3) {
   RemoveNodeFromCSEMaps(N);
   N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc);
-  setNodeValueTypes(N, VT1, VT2);
-  N->setOperands(Op1, Op2);
+  N->setValueTypes(VT);
+  N->setOperands(Op1, Op2, Op3);
 }
+
 void SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc,
                                 MVT::ValueType VT, SDOperand Op1,
-                                SDOperand Op2, SDOperand Op3) {
+                                SDOperand Op2, SDOperand Op3, SDOperand Op4) {
   RemoveNodeFromCSEMaps(N);
   N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc);
   N->setValueTypes(VT);
-  N->setOperands(Op1, Op2, Op3);
+  N->setOperands(Op1, Op2, Op3, Op4);
 }
+
+void SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc,
+                                MVT::ValueType VT, SDOperand Op1,
+                                SDOperand Op2, SDOperand Op3, SDOperand Op4,
+                                SDOperand Op5) {
+  RemoveNodeFromCSEMaps(N);
+  N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc);
+  N->setValueTypes(VT);
+  N->setOperands(Op1, Op2, Op3, Op4, Op5);
+}
+
+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) {
@@ -1440,24 +1464,26 @@ void SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc,
 }
 
 void SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc,
-                                MVT::ValueType VT, SDOperand Op1,
-                                SDOperand Op2, SDOperand Op3, SDOperand Op4) {
+                                MVT::ValueType VT1, MVT::ValueType VT2,
+                                SDOperand Op1, SDOperand Op2,
+                                SDOperand Op3, SDOperand Op4) {
   RemoveNodeFromCSEMaps(N);
   N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc);
-  N->setValueTypes(VT);
+  setNodeValueTypes(N, VT1, VT2);
   N->setOperands(Op1, Op2, Op3, Op4);
 }
+
 void SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc,
-                                MVT::ValueType VT, SDOperand Op1,
-                                SDOperand Op2, SDOperand Op3, SDOperand Op4,
-                                SDOperand Op5) {
+                                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);
-  N->setValueTypes(VT);
+  setNodeValueTypes(N, VT1, VT2);
   N->setOperands(Op1, Op2, Op3, Op4, Op5);
 }
 
-/// ReplaceAllUsesWith - Modify anything using 'From' to use 'To' instead.
+// 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.