Handle early-clobber registers in the aggressive anti-dep breaker
authorHal Finkel <hfinkel@anl.gov>
Tue, 9 Dec 2014 01:00:59 +0000 (01:00 +0000)
committerHal Finkel <hfinkel@anl.gov>
Tue, 9 Dec 2014 01:00:59 +0000 (01:00 +0000)
commit014b06e7b28cdaaf0f1a614cdc98b82a62e64ba9
tree959f14c9a9f86233b98e5c511e0c11badf1c4735
parent772e538fb8501640bc2e7aefcec53991ef9ab4c5
Handle early-clobber registers in the aggressive anti-dep breaker

The aggressive anti-dep breaker, used by the PowerPC backend during post-RA
scheduling (but is available to all targets), did not handle early-clobber MI
operands (at all). When constructing the list of available registers for the
replacement of some def operand, check the using instructions, and remove
registers assigned to early-clobbered defs from the set.

Fixes PR21452.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223727 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/AggressiveAntiDepBreaker.cpp
test/CodeGen/PowerPC/post-ra-ec.ll [new file with mode: 0644]