This is an archive of the discontinued LLVM Phabricator instance.

[PowerPC] Spilling to registers does not require frame index scavenging
ClosedPublic

Authored by stefanp on Apr 27 2021, 6:28 AM.

Details

Summary

If spills are to registers instead of to the stack then a copy will be used
and frame index scavenging is not required.

This patch adds debug info to frame index scavenging and makes sure that
spilling to registers does not cause frame index scavenging.

Diff Detail

Event Timeline

stefanp created this revision.Apr 27 2021, 6:28 AM
stefanp requested review of this revision.Apr 27 2021, 6:28 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 27 2021, 6:28 AM
stefanp added a reviewer: Restricted Project.Apr 27 2021, 6:30 AM
NeHuang added a subscriber: NeHuang.May 7 2021, 9:04 AM
NeHuang added inline comments.
llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
411

nit typo: Momory -> Memory
Please also update the test cases.

426

ditto

llvm/test/CodeGen/PowerPC/frame_index_scavenging.mir
101

ditto

Please update regsiters in the title to registers.

nemanjai accepted this revision.May 10 2021, 4:15 AM

LGTM (as long as the nits are addressed).

This revision is now accepted and ready to land.May 10 2021, 4:15 AM
stefanp retitled this revision from [PowerPC] Spilling to regsiters does not require frame index scavenging to [PowerPC] Spilling to registers does not require frame index scavenging.May 10 2021, 11:09 AM
stefanp updated this revision to Diff 344154.May 10 2021, 12:41 PM

Rebased patch and fixed typo in debug statement.

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