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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65278 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGCall.cpp b/lib/CodeGen/CGCall.cpp
index 4589631..db5085a 100644
--- a/lib/CodeGen/CGCall.cpp
+++ b/lib/CodeGen/CGCall.cpp
@@ -842,11 +842,7 @@
// 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 @@
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);
}
}
}