Bug 1054972 - IonMonkey: GVN: More misc cleanups r=nbp

This commit is contained in:
Dan Gohman 2014-09-02 13:01:32 -07:00
parent 1249756aa3
commit 1e11d5409c

View File

@ -232,7 +232,7 @@ ValueNumberer::discardPhiOperands(MPhi *phi, const MBasicBlock *phiBlock)
if (!deadDefs_.append(op))
return false;
} else {
op->setUseRemovedUnchecked();
op->setUseRemovedUnchecked();
}
}
return true;
@ -250,7 +250,7 @@ ValueNumberer::discardInsOperands(MInstruction *ins)
if (!deadDefs_.append(op))
return false;
} else {
op->setUseRemovedUnchecked();
op->setUseRemovedUnchecked();
}
}
return true;
@ -474,8 +474,10 @@ ValueNumberer::visitDefinition(MDefinition *def)
// needed, so we can clear |def|'s guard flag and let it be deleted.
def->setNotGuardUnchecked();
if (IsDead(def) && !deleteDefsRecursively(def))
return false;
if (DeadIfUnused(def)) {
if (!deleteDefsRecursively(def))
return false;
}
def = sim;
}
@ -495,8 +497,15 @@ ValueNumberer::visitDefinition(MDefinition *def)
// so we can clear |def|'s guard flag and let it be deleted.
def->setNotGuardUnchecked();
if (IsDead(def) && !deleteDefsRecursively(def))
return false;
if (DeadIfUnused(def)) {
// deleteDef should not add anything to the deadDefs, as the
// redundant operation should have the same input operands.
mozilla::DebugOnly<bool> r = deleteDef(def);
MOZ_ASSERT(r, "deleteDef shouldn't have tried to add anything to the worklist, "
"so it shouldn't have failed");
MOZ_ASSERT(deadDefs_.empty(),
"deleteDef shouldn't have added anything to the worklist");
}
def = rep;
}
}