This is an archive of the discontinued LLVM Phabricator instance.

AArch64: Replace a RegScavenger instance with LivePhysRegs
ClosedPublic

Authored by MatzeB on Jun 29 2016, 3:36 PM.

Details

Summary

findScratchNonCalleeSaveRegister() just needs a simple liveness
analysis, use LivePhysRegs for that as it is simpler and does not depend
on the kill flags. This is part of an initiative to rely less on kill flags.

This commit adds a convenience function available() to LivePhysRegs:
This function returns true if the given register is not reserved and
neither the register nor any of its aliases are alive.

Diff Detail

Repository
rL LLVM

Event Timeline

MatzeB updated this revision to Diff 62296.Jun 29 2016, 3:36 PM
MatzeB retitled this revision from to LivePhysRegs: Add available() function..
MatzeB updated this object.
MatzeB added reviewers: qcolombet, t.p.northover, ab.
MatzeB set the repository for this revision to rL LLVM.
MatzeB added a subscriber: llvm-commits.
MatzeB retitled this revision from LivePhysRegs: Add available() function. to AArch64: Replace a RegScavenger instance with LivePhysRegs.Jun 29 2016, 3:37 PM
t.p.northover accepted this revision.Jun 29 2016, 3:49 PM
t.p.northover edited edge metadata.

This looks good to me.

Tim.

This revision is now accepted and ready to land.Jun 29 2016, 3:49 PM
This revision was automatically updated to reflect the committed changes.