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

@ -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))
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;
}
}