[cfe-commits] r109681 - in /cfe/trunk: lib/CodeGen/TargetInfo.cpp test/CodeGen/x86_64-arguments.c

Chris Lattner sabre at nondot.org
Thu Jul 29 00:46:31 PDT 2010


Yep, it's on my todo list.  This and "structs of 4 floats being passed as 2 doubles" are the only two abi-related things left to look at that I know of.

-Chris

On Jul 28, 2010, at 3:52 PM, Eli Friedman wrote:

> On Wed, Jul 28, 2010 at 3:15 PM, Chris Lattner <sabre at nondot.org> wrote:
>> Author: lattner
>> Date: Wed Jul 28 17:15:08 2010
>> New Revision: 109681
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=109681&view=rev
>> Log:
>> fix PR7714 by not referencing off the end of a struct when passed by value in
>> x86-64 abi.  This also improves codegen as well.  Some refactoring is needed of
>> this code.
> 
> I don't think this properly fixes the problem; take the following:
> 
> struct S0 {
>  short f0;
>  unsigned f1;
>  char f2;
>  char f3;
>  char f4;
> };
> 
> void func_2(struct S0 p_4)
> {
> }
> 
> Generated code still writes over the end of %p_4.
> 
> -Eli
> 
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits





More information about the cfe-commits mailing list