mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-13 09:33:50 +00:00
Cleanups.
Make things a little more efficient as suggested by Evan. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89489 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1f37b5b3af
commit
a96fc2f3ad
@ -87,6 +87,7 @@ namespace {
|
||||
// Initialize the queue to record recently-used registers.
|
||||
if (NumRecentlyUsedRegs > 0)
|
||||
RecentRegs.resize(NumRecentlyUsedRegs, 0);
|
||||
RecentNext = RecentRegs.begin();
|
||||
}
|
||||
|
||||
typedef std::pair<LiveInterval*, LiveInterval::iterator> IntervalPtr;
|
||||
@ -154,14 +155,16 @@ namespace {
|
||||
std::auto_ptr<Spiller> spiller_;
|
||||
|
||||
// The queue of recently-used registers.
|
||||
SmallVector<unsigned, 3> RecentRegs;
|
||||
SmallVector<unsigned, 4> RecentRegs;
|
||||
SmallVector<unsigned, 4>::iterator RecentNext;
|
||||
|
||||
// Record that we just picked this register.
|
||||
void recordRecentlyUsed(unsigned reg) {
|
||||
assert(reg != 0 && "Recently used register is NOREG!");
|
||||
if (!RecentRegs.empty()) {
|
||||
std::copy(RecentRegs.begin() + 1, RecentRegs.end(), RecentRegs.begin());
|
||||
RecentRegs.back() = reg;
|
||||
*RecentNext++ = reg;
|
||||
if (RecentNext == RecentRegs.end())
|
||||
RecentNext = RecentRegs.begin();
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user