// Utility functions for fgValueNumber.
- // Perform value-numbering for the trees in "blk". When giving VN's to the SSA
- // names defined by phi definitions at the start of "blk", "newVNsForPhis" indicates
- // that these should be given new VN's, irrespective of the values of the LHS.
- // If "false", then we may assume that all inputs to phi RHS's of such definitions
- // have already been assigned value numbers; if they are all assigned the *same* value
- // number, then the LHS SSA name gets the same VN.
- void fgValueNumberBlock(BasicBlock* blk, bool newVNsForPhis);
+ // Perform value-numbering for the trees in "blk".
+ void fgValueNumberBlock(BasicBlock* blk);
// Requires that "entryBlock" is the entry block of loop "loopNum", and that "loopNum" is the
// innermost loop of which "entryBlock" is the entry. Returns the value number that should be
while (vs.m_toDoAllPredsDone.Size() > 0)
{
BasicBlock* toDo = vs.m_toDoAllPredsDone.Pop();
- fgValueNumberBlock(toDo, /*newVNsForPhis*/ false);
+ fgValueNumberBlock(toDo);
// Record that we've visited "toDo", and add successors to the right sets.
vs.FinishVisit(toDo);
}
continue; // We may have run out, because of completed blocks on the not-all-preds done list.
}
- fgValueNumberBlock(toDo, /*newVNsForPhis*/ true);
+ fgValueNumberBlock(toDo);
// Record that we've visited "toDo", and add successors to the right sest.
vs.FinishVisit(toDo);
}
fgVNPassesCompleted++;
}
-void Compiler::fgValueNumberBlock(BasicBlock* blk, bool newVNsForPhis)
+void Compiler::fgValueNumberBlock(BasicBlock* blk)
{
compCurBB = blk;