summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-02-22 08:17:51 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-02-22 08:17:51 +0000
commitbb525c3c7fed6ebbacd8c2fed9cb2203a1d8c436 (patch)
tree1e8c5bb16ede8d6e6b13fdbaaf4a108d4d71db7f /clang
parent9e5dfc6111071bf902f975376deae7f83ce6c7df (diff)
downloadbcm5719-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.cpp12
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);
}
}
}
OpenPOWER on IntegriCloud