[RegisterScavenger] Remove aliasing registers of operands from the candidate set
authorSilviu Baranga <silviu.baranga@arm.com>
Tue, 6 Sep 2016 10:10:21 +0000 (10:10 +0000)
committerSilviu Baranga <silviu.baranga@arm.com>
Tue, 6 Sep 2016 10:10:21 +0000 (10:10 +0000)
commit0b7c4af35904070513a2beba4f4e647acba33274
tree3d4e0d2ffc0f6865043f57c0156d092fa6f1c031
parent5cf1ece222936a0b7d6cc053c6db71a1956412d9
[RegisterScavenger] Remove aliasing registers of operands from the candidate set

Summary:
In addition to not including the register operand of the current
instruction also don't include any aliasing registers. We can't consider
these as candidates because using them will clobber the corresponding
register operand of the current instruction.

This change doesn't include a test case and it would probably be difficult
to produce a stable one since the bug depends on the results of register
allocation.

Reviewers: MatzeB, qcolombet, hfinkel

Subscribers: hfinkel, llvm-commits

Differential Revision: https://reviews.llvm.org/D24130

llvm-svn: 280698
llvm/lib/CodeGen/RegisterScavenging.cpp