This is an archive of the discontinued LLVM Phabricator instance.

[X86] Always return the sret parameter in eax/rax, even on 32-bit
ClosedPublic

Authored by rnk on May 12 2015, 1:30 PM.

Details

Summary

This rule was always in the old SysV i386 ABI docs and the new ones that
H.J. Lu has put together, but we never noticed:

EAX   scratch register; also used to return integer and pointer values
      from functions; also stores the address of a returned struct or union

Fixes PR23491.

Diff Detail

Event Timeline

rnk updated this revision to Diff 25612.May 12 2015, 1:30 PM
rnk retitled this revision from to [X86] Always return the sret parameter in eax/rax, even on 32-bit.
rnk updated this object.
rnk added a reviewer: majnemer.
rnk added a subscriber: Unknown Object (MLST).
majnemer accepted this revision.May 12 2015, 1:32 PM
majnemer edited edge metadata.

LGTM

This revision is now accepted and ready to land.May 12 2015, 1:32 PM
This revision was automatically updated to reflect the committed changes.