aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/CodeGen/SelectionDAG.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/include/llvm/CodeGen/SelectionDAG.h b/include/llvm/CodeGen/SelectionDAG.h
index 94a95ac895..f84918b099 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<MVT::ValueType> &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.