diff options
author | Dale Johannesen <dalej@apple.com> | 2008-09-26 19:31:26 +0000 |
---|---|---|
committer | Dale Johannesen <dalej@apple.com> | 2008-09-26 19:31:26 +0000 |
commit | 86098bd6a63d2cdf0c9be9ef3151bd2728281fd7 (patch) | |
tree | ec0d224a2780a707ab69dec8941ae3a64170339a /lib/CodeGen/SelectionDAG/SelectionDAG.cpp | |
parent | 97135e1ee51357245561a5108f90a8a1161431a1 (diff) |
Add "inreg" field to CallSDNode (doesn't increase
its size). Adjust various lowering functions to
pass this info through from CallInst. Use it to
implement sseregparm returns on X86. Remove
X86_ssecall calling convention.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56677 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/SelectionDAG.cpp')
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index dc108f66a6..4c4a90a2ed 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -3114,7 +3114,7 @@ SDValue SelectionDAG::getMemcpy(SDValue Chain, SDValue Dst, Entry.Node = Size; Args.push_back(Entry); std::pair<SDValue,SDValue> CallResult = TLI.LowerCallTo(Chain, Type::VoidTy, - false, false, false, CallingConv::C, false, + false, false, false, false, CallingConv::C, false, getExternalSymbol("memcpy", TLI.getPointerTy()), Args, *this); return CallResult.second; @@ -3159,7 +3159,7 @@ SDValue SelectionDAG::getMemmove(SDValue Chain, SDValue Dst, Entry.Node = Size; Args.push_back(Entry); std::pair<SDValue,SDValue> CallResult = TLI.LowerCallTo(Chain, Type::VoidTy, - false, false, false, CallingConv::C, false, + false, false, false, false, CallingConv::C, false, getExternalSymbol("memmove", TLI.getPointerTy()), Args, *this); return CallResult.second; @@ -3210,7 +3210,7 @@ SDValue SelectionDAG::getMemset(SDValue Chain, SDValue Dst, Args.push_back(Entry); std::pair<SDValue,SDValue> CallResult = TLI.LowerCallTo(Chain, Type::VoidTy, - false, false, false, CallingConv::C, false, + false, false, false, false, CallingConv::C, false, getExternalSymbol("memset", TLI.getPointerTy()), Args, *this); return CallResult.second; @@ -3329,7 +3329,7 @@ SDValue SelectionDAG::getMergeValues(const SDValue *Ops, unsigned NumOps, SDValue SelectionDAG::getCall(unsigned CallingConv, bool IsVarArgs, bool IsTailCall, - SDVTList VTs, + bool IsInreg, SDVTList VTs, const SDValue *Operands, unsigned NumOperands) { // Do not include isTailCall in the folding set profile. FoldingSetNodeID ID; @@ -3345,7 +3345,7 @@ SelectionDAG::getCall(unsigned CallingConv, bool IsVarArgs, bool IsTailCall, return SDValue(E, 0); } SDNode *N = NodeAllocator.Allocate<CallSDNode>(); - new (N) CallSDNode(CallingConv, IsVarArgs, IsTailCall, + new (N) CallSDNode(CallingConv, IsVarArgs, IsTailCall, IsInreg, VTs, Operands, NumOperands); CSEMap.InsertNode(N, IP); AllNodes.push_back(N); |