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)
commitc8cf2b88bca148c2aa936150aec1689790fbd237
tree9e33bb9975f036d3fa37458ed6fe4080080ca2da
parent73ca56942dc55c29c4dfa4a7ce64e466fe43c891
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.

llvm-svn: 223727
llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
llvm/test/CodeGen/PowerPC/post-ra-ec.ll [new file with mode: 0644]