diff options
| author | Daniel Dunbar <daniel@zuster.org> | 2009-02-22 08:17:51 +0000 |
|---|---|---|
| committer | Daniel Dunbar <daniel@zuster.org> | 2009-02-22 08:17:51 +0000 |
| commit | bb525c3c7fed6ebbacd8c2fed9cb2203a1d8c436 (patch) | |
| tree | 1e8c5bb16ede8d6e6b13fdbaaf4a108d4d71db7f /clang | |
| parent | 9e5dfc6111071bf902f975376deae7f83ce6c7df (diff) | |
| download | bcm5719-llvm-bb525c3c7fed6ebbacd8c2fed9cb2203a1d8c436.tar.gz bcm5719-llvm-bb525c3c7fed6ebbacd8c2fed9cb2203a1d8c436.zip | |
x86_64 ABI: Actually, we can always pass things we want to pass in
memory using Indirect; this was a holdover from when CGCall wasn't as
robust.
llvm-svn: 65278
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/CodeGen/CGCall.cpp | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/clang/lib/CodeGen/CGCall.cpp b/clang/lib/CodeGen/CGCall.cpp index 45896314ecb..db5085aaab8 100644 --- a/clang/lib/CodeGen/CGCall.cpp +++ b/clang/lib/CodeGen/CGCall.cpp @@ -842,11 +842,7 @@ ABIArgInfo X86_64ABIInfo::classifyArgumentType(QualType Ty, ASTContext &Context, // COMPLEX_X87, it is passed in memory. case X87: case ComplexX87: - // Choose appropriate in memory type. - if (Ty->isVectorType() || CodeGenFunction::hasAggregateLLVMType(Ty)) - return ABIArgInfo::getIndirect(0); - else - return ABIArgInfo::getDirect(); + return ABIArgInfo::getIndirect(0); case SSEUp: case X87Up: @@ -922,11 +918,7 @@ void X86_64ABIInfo::computeInfo(CGFunctionInfo &FI, ASTContext &Context) const { freeIntRegs -= neededInt; freeSSERegs -= neededSSE; } else { - // Choose appropriate in memory type. - if (CodeGenFunction::hasAggregateLLVMType(it->type)) - it->info = ABIArgInfo::getIndirect(0); - else - it->info = ABIArgInfo::getDirect(); + it->info = ABIArgInfo::getIndirect(0); } } } |

