diff --git a/include/llvm/CodeGen/SelectionDAG.h b/include/llvm/CodeGen/SelectionDAG.h index 94a95ac8950..f84918b0993 100644 --- a/include/llvm/CodeGen/SelectionDAG.h +++ b/include/llvm/CodeGen/SelectionDAG.h @@ -198,7 +198,17 @@ public: AllNodes.push_back(NN); return NN; } - + /// getCall - Note that this destroys the vector of RetVals passed in. + /// + SDNode *getCall(std::vector &RetVals, SDOperand Chain, + SDOperand Callee, SDOperand Flag, bool isTailCall = false) { + SDNode *NN = new SDNode(isTailCall ? ISD::TAILCALL : ISD::CALL, Chain, + Callee, Flag); + setNodeValueTypes(NN, RetVals); + AllNodes.push_back(NN); + return NN; + } + /// getCall - This is identical to the one above, and should be used for calls /// where arguments are passed in physical registers. This destroys the /// RetVals and ArgsInRegs vectors.