This is an archive of the discontinued LLVM Phabricator instance.

Fix a bug in the A57FPLoadBalancing register tracking/scavenger due to aliasing registers.
ClosedPublic

Authored by mcrosier on Jul 2 2015, 8:50 AM.

Details

Summary

The code in AArch64A57FPLoadBalancing::scavengeRegister() to handle dead defs
was not correctly handling aliased registers. E.g. if the dead def was of D2,
then S2 was not being marked as unavailable, so it could potentially be used
across a live-range in which it would be clobbered.

This is nearly impossible to test, so I haven't included a test case.

Chad

Diff Detail

Repository
rL LLVM

Event Timeline

mcrosier updated this revision to Diff 28947.Jul 2 2015, 8:50 AM
mcrosier retitled this revision from to Fix a bug in the A57FPLoadBalancing register tracking/scavenger due to aliasing registers..
mcrosier updated this object.
mcrosier added reviewers: jmolloy, t.p.northover.
mcrosier set the repository for this revision to rL LLVM.
mcrosier added a subscriber: llvm-commits.
jmolloy accepted this revision.Jul 6 2015, 4:13 AM
jmolloy edited edge metadata.

LGTM!

This revision is now accepted and ready to land.Jul 6 2015, 4:13 AM

Committed revision 241449.