[llvm-commits] [PATCH] Fix fastcc structure return with fast-isel on x86-32

Derek Schuff dschuff at google.com
Mon Apr 23 11:24:05 PDT 2012


sorry, updated patch attached.


On Thu, Apr 19, 2012 at 4:02 PM, Joerg Sonnenberger
<joerg at britannica.bec.de> wrote:
> On Thu, Apr 19, 2012 at 03:09:47PM -0700, Derek Schuff wrote:
>> Hi all,
>> on x86-32, structure return via sret lets the callee pop the hidden
>> pointer argument off the stack, which the caller then re-pushes.
>> However if the calling convention is fastcc, then a register is used
>> instead, and the caller should not adjust the stack. This is
>> implemented with a check of IsTailCallConvention
>> X86TargetLowering::LowerCall  but is not checked properly in
>> X86FastISel::DoSelectCall. The attached patch fixes that. Please
>> review.
>
> Test case?
>
> Joerg
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
-------------- next part --------------
A non-text attachment was scrubbed...
Name: FastIselFastcc.patch
Type: application/octet-stream
Size: 1438 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120423/46ddb7dc/attachment.obj>


More information about the llvm-commits mailing list