diff --git a/include/llvm/CodeGen/SelectionDAG.h b/include/llvm/CodeGen/SelectionDAG.h index b4f67fe7c15..8c2020d8d2c 100644 --- a/include/llvm/CodeGen/SelectionDAG.h +++ b/include/llvm/CodeGen/SelectionDAG.h @@ -131,6 +131,20 @@ public: 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. + SDNode *getCall(std::vector &RetVals, SDOperand Chain, + SDOperand Callee, std::vector &ArgsInRegs) { + ArgsInRegs.insert(ArgsInRegs.begin(), Callee); + ArgsInRegs.insert(ArgsInRegs.begin(), Chain); + SDNode *NN = new SDNode(ISD::CALL, ArgsInRegs); + NN->setValueTypes(RetVals); + AllNodes.push_back(NN); + return NN; + } + + SDOperand getSetCC(ISD::CondCode, MVT::ValueType VT, SDOperand LHS, SDOperand RHS);