This is an archive of the discontinued LLVM Phabricator instance.

AArch64: Use SplitCSR for callee save registers used for parameters.
ClosedPublic

Authored by MatzeB on Apr 11 2016, 9:41 PM.

Details

Summary

Callee save parameters that are also used to pass parameter values
should use virtual regs for save/restore to avoid unnecessary spills.

This is done by determining a list of callee saves (the ones handled in
FrameLowering) and SavedViaCopy (register is copied to a vreg so the
register allocator handles saving/restoring).

Related to rdar://25638054

Diff Detail

Repository
rL LLVM

Event Timeline

MatzeB updated this revision to Diff 53366.Apr 11 2016, 9:41 PM
MatzeB retitled this revision from to AArch64: Use SplitCSR for callee save registers used for parameters..
MatzeB updated this object.
MatzeB added reviewers: qcolombet, manmanren.
MatzeB set the repository for this revision to rL LLVM.
MatzeB added a subscriber: llvm-commits.
This revision was automatically updated to reflect the committed changes.
MatzeB updated this revision to Diff 53962.Apr 15 2016, 3:31 PM

This was accidentally attributed to the wrong commit, put the original code back in.