[llvm-commits] [llvm-gcc-4.2] r86892 - /llvm-gcc-4.2/trunk/gcc/llvm-abi.h
Dale Johannesen
dalej at apple.com
Thu Nov 12 16:44:48 PST 2009
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