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 | 67cc9b67faa7d6a72d916b52c22e7a33a44097db (patch) | |
| tree | ec0d224a2780a707ab69dec8941ae3a64170339a /lib/Target/X86 | |
| parent | c641336847d19f597db7c9ddfdce1bbebc6c4ef9 (diff) | |
| download | external_llvm-67cc9b67faa7d6a72d916b52c22e7a33a44097db.zip external_llvm-67cc9b67faa7d6a72d916b52c22e7a33a44097db.tar.gz external_llvm-67cc9b67faa7d6a72d916b52c22e7a33a44097db.tar.bz2 | |
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/Target/X86')
| -rw-r--r-- | lib/Target/X86/X86CallingConv.td | 11 | ||||
| -rw-r--r-- | lib/Target/X86/X86ISelLowering.cpp | 6 |
2 files changed, 3 insertions, 14 deletions
diff --git a/lib/Target/X86/X86CallingConv.td b/lib/Target/X86/X86CallingConv.td index 590bc10..c5aef19 100644 --- a/lib/Target/X86/X86CallingConv.td +++ b/lib/Target/X86/X86CallingConv.td @@ -65,15 +65,6 @@ def RetCC_X86_32_Fast : CallingConv<[ CCDelegateTo<RetCC_X86Common> ]>; -// X86-32 SSEregparm return-value convention. -def RetCC_X86_32_SSE : CallingConv<[ - // The X86-32 sseregparm calling convention returns FP values in XMM0 if the - // target has SSE2, otherwise it is the C calling convention. - CCIfType<[f32], CCIfSubtarget<"hasSSE2()", CCAssignToReg<[XMM0, XMM1]>>>, - CCIfType<[f64], CCIfSubtarget<"hasSSE2()", CCAssignToReg<[XMM0, XMM1]>>>, - CCDelegateTo<RetCC_X86Common> -]>; - // X86-64 C return-value convention. def RetCC_X86_64_C : CallingConv<[ // The X86-64 calling convention always returns FP values in XMM0. @@ -103,8 +94,6 @@ def RetCC_X86_Win64_C : CallingConv<[ def RetCC_X86_32 : CallingConv<[ // If FastCC, use RetCC_X86_32_Fast. CCIfCC<"CallingConv::Fast", CCDelegateTo<RetCC_X86_32_Fast>>, - // If SSECC, use RetCC_X86_32_SSE. - CCIfCC<"CallingConv::X86_SSECall", CCDelegateTo<RetCC_X86_32_SSE>>, // Otherwise, use RetCC_X86_32_C. CCDelegateTo<RetCC_X86_32_C> ]>; diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp index 8b5104f..267be34 100644 --- a/lib/Target/X86/X86ISelLowering.cpp +++ b/lib/Target/X86/X86ISelLowering.cpp @@ -5157,9 +5157,9 @@ X86TargetLowering::EmitTargetCodeForMemset(SelectionDAG &DAG, Entry.Node = Size; Args.push_back(Entry); std::pair<SDValue,SDValue> CallResult = - LowerCallTo(Chain, Type::VoidTy, false, false, false, CallingConv::C, - false, DAG.getExternalSymbol(bzeroEntry, IntPtr), - Args, DAG); + LowerCallTo(Chain, Type::VoidTy, false, false, false, false, + CallingConv::C, false, + DAG.getExternalSymbol(bzeroEntry, IntPtr), Args, DAG); return CallResult.second; } |
