This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][GlobalISel] CallLowering: Don't generate new copies each time we need to store to a stack location for outgoing args.
ClosedPublic

Authored by aemerson on Apr 9 2020, 4:15 PM.

Details

Summary

[AArch64][GlobalISel] CallLowering: Don't generate new copies each time we need to store to a stack location for outgoing args.

During call arg lowering we shouldn't be modifying SP so cache the SP copy vreg for subsequent uses.

Gives a 0.2% geomean code size improvement on CTMark.

Diff Detail

Event Timeline

aemerson created this revision.Apr 9 2020, 4:15 PM
paquette accepted this revision.Apr 9 2020, 4:39 PM

LGTM

This revision is now accepted and ready to land.Apr 9 2020, 4:39 PM
This revision was automatically updated to reflect the committed changes.