MVT::ValueType VT2, MVT::ValueType VT3,
MVT::ValueType VT4,
const SDOperand *Ops, unsigned NumOps);
+ SDNode *getTargetNode(unsigned Opcode, std::vector<MVT::ValueType> &ResultTys,
+ 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
const MVT::ValueType *VTs = getNodeValueTypes(VTList);
return getNode(ISD::BUILTIN_OP_END+Opcode, VTs, 4, Ops, NumOps).Val;
}
+SDNode *SelectionDAG::getTargetNode(unsigned Opcode,
+ std::vector<MVT::ValueType> &ResultTys,
+ const SDOperand *Ops, unsigned NumOps) {
+ const MVT::ValueType *VTs = getNodeValueTypes(ResultTys);
+ return getNode(ISD::BUILTIN_OP_END+Opcode, VTs, ResultTys.size(),
+ Ops, NumOps).Val;
+}
/// ReplaceAllUsesWith - Modify anything using 'From' to use 'To' instead.
/// This can cause recursive merging of nodes in the DAG.