mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-15 09:33:39 +00:00
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:
parent
7b466d0481
commit
5de3b7f351
@ -100,14 +100,18 @@ 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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user