[cfe-commits] r65266 - /cfe/trunk/lib/CodeGen/CGCall.cpp

Daniel Dunbar daniel at zuster.org
Sat Feb 21 23:22:25 PST 2009


Author: ddunbar
Date: Sun Feb 22 01:22:25 2009
New Revision: 65266

URL: http://llvm.org/viewvc/llvm-project?rev=65266&view=rev
Log:
x86_64 ABI: Make sure to pass vectors that we want to pass in memory
as byval. Otherwise LLVM will have its own opinion about where to put
things.

We now pass all gcc dg.compat tests on x86_64.

Modified:
    cfe/trunk/lib/CodeGen/CGCall.cpp

Modified: cfe/trunk/lib/CodeGen/CGCall.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGCall.cpp?rev=65266&r1=65265&r2=65266&view=diff

==============================================================================
--- cfe/trunk/lib/CodeGen/CGCall.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGCall.cpp Sun Feb 22 01:22:25 2009
@@ -843,7 +843,7 @@
   case X87:
   case ComplexX87:
     // Choose appropriate in memory type.
-    if (CodeGenFunction::hasAggregateLLVMType(Ty))
+    if (Ty->isVectorType() || CodeGenFunction::hasAggregateLLVMType(Ty))
       return ABIArgInfo::getIndirect(0);
     else
       return ABIArgInfo::getDirect();





More information about the cfe-commits mailing list