Fix a bug in the A57FPLoadBalancing register tracking/scavenger.
authorChad Rosier <mcrosier@codeaurora.org>
Mon, 6 Jul 2015 14:46:34 +0000 (14:46 +0000)
committerChad Rosier <mcrosier@codeaurora.org>
Mon, 6 Jul 2015 14:46:34 +0000 (14:46 +0000)
commitac244651b2cce9746fab546ea71b6183b70ab589
tree7b6ddda5575b34bb676fca38b8aad064871e7681
parent159946938f1ea5181bfd1353ee0ad6c064850dbb
Fix a bug in the A57FPLoadBalancing register tracking/scavenger.

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.

Patch by Geoff Berry <gberry@codeaurora.org>!
Phabricator: http://reviews.llvm.org/D10900

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241449 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp