void SlotIndexes::renumberIndexes() { // Renumber updates the index of every element of the index list. // If all instrs in the function have been allocated an index (which has been // placed in the index list in the order of instruction iteration) then the // resulting numbering will match what would have been generated by the // pass during the initial numbering of the function if the new instructions // had been present. functionSize = 0; unsigned index = 0; for (IndexListEntry *curEntry = front(); curEntry != getTail(); curEntry = curEntry->getNext()) { curEntry->setIndex(index); if (curEntry->getInstr() == 0) { // MBB start entry. Just step index by 1. index += SlotIndex::NUM; } else { ++functionSize; unsigned Slots = curEntry->getInstr()->getDesc().getNumDefs(); if (Slots == 0) Slots = 1; index += (Slots + 1) * SlotIndex::NUM; } } }
void SlotIndexes::renumberIndexes() { // Renumber updates the index of every element of the index list. DEBUG(dbgs() << "\n*** Renumbering SlotIndexes ***\n"); ++NumGlobalRenum; unsigned index = 0; for (IndexListEntry *curEntry = front(); curEntry != getTail(); curEntry = curEntry->getNext()) { curEntry->setIndex(index); index += SlotIndex::InstrDist; } }