Yet another getTargetNode variant.
authorEvan Cheng <evan.cheng@apple.com>
Wed, 12 Sep 2007 23:39:49 +0000 (23:39 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Wed, 12 Sep 2007 23:39:49 +0000 (23:39 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41898 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/SelectionDAG.h
lib/CodeGen/SelectionDAG/SelectionDAG.cpp

index ccda26f2ceea7119979ef0c982914a7e95b9f51a..05447e12f87dc6240e291ee51728a040f2554bd8 100644 (file)
@@ -410,6 +410,10 @@ public:
   SDNode *getTargetNode(unsigned Opcode, MVT::ValueType VT1, 
                         MVT::ValueType VT2, MVT::ValueType VT3,
                         const SDOperand *Ops, unsigned NumOps);
+  SDNode *getTargetNode(unsigned Opcode, MVT::ValueType VT1, 
+                        MVT::ValueType VT2, MVT::ValueType VT3,
+                        MVT::ValueType VT4,
+                        const SDOperand *Ops, unsigned NumOps);
   
   /// ReplaceAllUsesWith - Modify anything using 'From' to use 'To' instead.
   /// This can cause recursive merging of nodes in the DAG.  Use the first
index ed1777e34ad29bac7f8fef8c55138bccf6c9367c..de313c2836db54214d6c9bcd20fb84139c96601e 100644 (file)
@@ -3041,6 +3041,18 @@ SDNode *SelectionDAG::getTargetNode(unsigned Opcode, MVT::ValueType VT1,
   const MVT::ValueType *VTs = getNodeValueTypes(VT1, VT2, VT3);
   return getNode(ISD::BUILTIN_OP_END+Opcode, VTs, 3, Ops, NumOps).Val;
 }
+SDNode *SelectionDAG::getTargetNode(unsigned Opcode, MVT::ValueType VT1, 
+                                    MVT::ValueType VT2, MVT::ValueType VT3,
+                                    MVT::ValueType VT4,
+                                    const SDOperand *Ops, unsigned NumOps) {
+  std::vector<MVT::ValueType> VTList;
+  VTList.push_back(VT1);
+  VTList.push_back(VT2);
+  VTList.push_back(VT3);
+  VTList.push_back(VT4);
+  const MVT::ValueType *VTs = getNodeValueTypes(VTList);
+  return getNode(ISD::BUILTIN_OP_END+Opcode, VTs, 4, Ops, NumOps).Val;
+}
 
 /// ReplaceAllUsesWith - Modify anything using 'From' to use 'To' instead.
 /// This can cause recursive merging of nodes in the DAG.