mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-12 13:30:51 +00:00
Renumber slot indexes uniformly instead of spacing according to the number of defs.
There are probably much larger speedups to be had by renumbering locally instead of looping over the whole function. For now, the greedy register allocator is 25% faster. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126926 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f37712f486
commit
2c11eb333c
@ -129,26 +129,12 @@ void SlotIndexes::renumberIndexes() {
|
||||
// had been present.
|
||||
DEBUG(dbgs() << "\n*** Renumbering SlotIndexes ***\n");
|
||||
|
||||
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;
|
||||
}
|
||||
index += 4*SlotIndex::NUM;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user