This is an archive of the discontinued LLVM Phabricator instance.

[PowerPC][AIX] Pass ByVal formal arguments that span registers and stack.
ClosedPublic

Authored by sfertile on Apr 20 2020, 12:59 PM.

Details

Summary

Implement passing of ByVal formal arguments when the argument is passed partly in the argument registers, with the remainder of the argument passed on the stack.

Diff Detail

Event Timeline

sfertile created this revision.Apr 20 2020, 12:59 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 20 2020, 12:59 PM
jasonliu added inline comments.Apr 24 2020, 9:03 AM
llvm/test/CodeGen/PowerPC/aix-cc-byval-mem.ll
249

Probably a dumb question... why $r3 and $f1 are not in liveins? Am I missing something here?

sfertile marked an inline comment as done.Apr 27 2020, 11:11 AM
sfertile added inline comments.
llvm/test/CodeGen/PowerPC/aix-cc-byval-mem.ll
249

Not dumb at all: The values aren't used so they aren't added to the livein list (even though they would have been initialized by the caller).

jasonliu accepted this revision.Apr 28 2020, 7:41 AM

Thanks. LGTM.

This revision is now accepted and ready to land.Apr 28 2020, 7:41 AM
This revision was automatically updated to reflect the committed changes.
llvm/lib/Target/PowerPC/PPCISelLowering.cpp