[llvm-commits] [llvm-gcc-4.2] r86892 - /llvm-gcc-4.2/trunk/gcc/llvm-abi.h

Bob Wilson bob.wilson at apple.com
Thu Nov 12 17:02:34 PST 2009


It's breaking something on ARM, too.  I'll revert it for now.

I did run gcc's compat tests, but not on PPC.  I guess I'll need to do  
that.

On Nov 12, 2009, at 4:44 PM, Dale Johannesen wrote:

>
> On Nov 11, 2009, at 3:05 PMPST, Bob Wilson wrote:
>
>> Author: bwilson
>> Date: Wed Nov 11 17:05:45 2009
>> New Revision: 86892
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=86892&view=rev
>> Log:
>> Fix pr5406: When passing an aggregate in integer registers, the  
>> data cannot
>> be split up into integer types smaller than the target registers.   
>> Most of
>> the data is put into an array of i32 or i64 values, and that part  
>> is OK.  But,
>> if the size is not a multiple of 32 or 64, there may be some  
>> leftover bytes
>> to be passed separately.  Change to pass those leftover bytes in a  
>> single
>> integer.  The x86_64 target already does this in target-specific  
>> code.
>> This also fixes radars 7226380 and 7226213.
>
> This patch broke binary compatibility on Darwin PPC, as shown by  
> running gcc's struct-layout-1 tests to compare against the installed  
> compiler.   (The last 2 bytes of a 6-byte struct (for example) are  
> passed left justified within a word on that target.)
>




More information about the llvm-commits mailing list