[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