Mark dead def as unused.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34844 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Evan Cheng 2007-03-02 10:43:16 +00:00
parent 7b466d0481
commit 5de3b7f351

View File

@ -100,13 +100,17 @@ void RegScavenger::forward() {
if (!MO.isReg() || !MO.isDef()) if (!MO.isReg() || !MO.isDef())
continue; continue;
unsigned Reg = MO.getReg(); unsigned Reg = MO.getReg();
// If it's dead upon def, then it is now free.
if (MO.isDead()) {
setUnused(Reg);
continue;
}
// Skip two-address destination operand. // Skip two-address destination operand.
if (TID->findTiedToSrcOperand(i) != -1) { if (TID->findTiedToSrcOperand(i) != -1) {
assert(isUsed(Reg)); assert(isUsed(Reg));
continue; continue;
} }
assert(isUnused(Reg) || isReserved(Reg)); assert(isUnused(Reg) || isReserved(Reg));
if (!MO.isDead())
setUsed(Reg); setUsed(Reg);
} }
} }