[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