[llvm-commits] [llvm-gcc-4.2] r86237 - /llvm-gcc-4.2/trunk/gcc/config/arm/llvm-arm.cpp

Bob Wilson bob.wilson at apple.com
Thu Nov 5 22:07:23 PST 2009


Author: bwilson
Date: Fri Nov  6 00:07:23 2009
New Revision: 86237

URL: http://llvm.org/viewvc/llvm-project?rev=86237&view=rev
Log:
The prior changes to pass homogeneous aggregates in registers didn't
account for non-POD aggregates that still must be passed via a shadow
return.  Patch by Sandeep Patel.

Modified:
    llvm-gcc-4.2/trunk/gcc/config/arm/llvm-arm.cpp

Modified: llvm-gcc-4.2/trunk/gcc/config/arm/llvm-arm.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/llvm-arm.cpp?rev=86237&r1=86236&r2=86237&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/arm/llvm-arm.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/config/arm/llvm-arm.cpp Fri Nov  6 00:07:23 2009
@@ -2727,7 +2727,7 @@
   bool result = false;
   result = vfp_arg_homogeneous_aggregate_p(TYPE_MODE(TreeType), TreeType,
                                            fdt_counts);
-  return result;
+  return result && !TREE_ADDRESSABLE(TreeType);
 }
 
 /* LLVM LOCAL end (ENTIRE FILE!)  */





More information about the llvm-commits mailing list