regpressure: physreg livein/out fix

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157422 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Andrew Trick 2012-05-24 22:10:57 +00:00
parent 28a5ab2fb4
commit a7de4b99e4

View File

@ -356,7 +356,7 @@ void RegPressureTracker::addLiveRegs(ArrayRef<unsigned> Regs) {
/// Add PhysReg to the live in set and increase max pressure.
void RegPressureTracker::discoverPhysLiveIn(unsigned Reg) {
assert(!LivePhysRegs.count(Reg) && "avoid bumping max pressure twice");
if (findRegAlias(Reg, P.LiveInRegs, TRI) == P.LiveInRegs.end())
if (findRegAlias(Reg, P.LiveInRegs, TRI) != P.LiveInRegs.end())
return;
// At live in discovery, unconditionally increase the high water mark.
@ -367,7 +367,7 @@ void RegPressureTracker::discoverPhysLiveIn(unsigned Reg) {
/// Add PhysReg to the live out set and increase max pressure.
void RegPressureTracker::discoverPhysLiveOut(unsigned Reg) {
assert(!LivePhysRegs.count(Reg) && "avoid bumping max pressure twice");
if (findRegAlias(Reg, P.LiveOutRegs, TRI) == P.LiveOutRegs.end())
if (findRegAlias(Reg, P.LiveOutRegs, TRI) != P.LiveOutRegs.end())
return;
// At live out discovery, unconditionally increase the high water mark.