This is an archive of the discontinued LLVM Phabricator instance.

[llvm-readobj] [COFF] Fix the printout for ARM64 packed homed parameters
ClosedPublic

Authored by mstorsjo on May 12 2022, 5:29 AM.

Details

Summary

If the function has homed parameters but the number of saved registers
is odd, the homed parameters are aligned at the top of the stack (so
they line up with later varargs on the stack), not tightly after the
other saved registers.

Diff Detail

Event Timeline

mstorsjo created this revision.May 12 2022, 5:29 AM
Herald added a project: Restricted Project. · View Herald Transcript
mstorsjo requested review of this revision.May 12 2022, 5:29 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 12 2022, 5:29 AM
Herald added a subscriber: MaskRay. · View Herald Transcript
efriedma accepted this revision.May 12 2022, 9:49 AM

There definitely can't be a gap between the homing area and the stack arguments. Are we sure there's a gap between the homing area and the saved registers, as opposed to putting the saved registers flush against the homing area?

If we're sure, LGTM

This revision is now accepted and ready to land.May 12 2022, 9:49 AM

There definitely can't be a gap between the homing area and the stack arguments. Are we sure there's a gap between the homing area and the saved registers, as opposed to putting the saved registers flush against the homing area?

If we're sure, LGTM

Yep, I've verified that the saved registers are saved aligned to the bottom of the stack even in this case.

This revision was landed with ongoing or failed builds.May 12 2022, 12:56 PM
This revision was automatically updated to reflect the committed changes.