diff options
author | Mark Lacey <mark.lacey@apple.com> | 2013-08-14 23:50:04 +0000 |
---|---|---|
committer | Mark Lacey <mark.lacey@apple.com> | 2013-08-14 23:50:04 +0000 |
commit | f9ea88546fc1e0ce85de0fe7af899c27d461bcae (patch) | |
tree | 4ba2ecb51bf517d98208475bb8437a570448e546 /llvm/lib/CodeGen/RegAllocBase.cpp | |
parent | 71c080f6252f0364eb41170dcbcc277ae4311857 (diff) | |
download | llvm-f9ea88546fc1e0ce85de0fe7af899c27d461bcae.zip llvm-f9ea88546fc1e0ce85de0fe7af899c27d461bcae.tar.gz llvm-f9ea88546fc1e0ce85de0fe7af899c27d461bcae.tar.bz2 |
Track new virtual registers by register number.
Track new virtual registers by register number, rather than by the live
interval created for them. This is the first step in separating the
creation of new virtual registers and new live intervals. Eventually
live intervals will be created and populated on demand after the virtual
registers have been created and used in instructions.
llvm-svn: 188434
Diffstat (limited to 'llvm/lib/CodeGen/RegAllocBase.cpp')
-rw-r--r-- | llvm/lib/CodeGen/RegAllocBase.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/RegAllocBase.cpp b/llvm/lib/CodeGen/RegAllocBase.cpp index df3e12a..a912414 100644 --- a/llvm/lib/CodeGen/RegAllocBase.cpp +++ b/llvm/lib/CodeGen/RegAllocBase.cpp @@ -100,7 +100,7 @@ void RegAllocBase::allocatePhysRegs() { DEBUG(dbgs() << "\nselectOrSplit " << MRI->getRegClass(VirtReg->reg)->getName() << ':' << PrintReg(VirtReg->reg) << ' ' << *VirtReg << '\n'); - typedef SmallVector<LiveInterval*, 4> VirtRegVec; + typedef SmallVector<unsigned, 4> VirtRegVec; VirtRegVec SplitVRegs; unsigned AvailablePhysReg = selectOrSplit(*VirtReg, SplitVRegs); @@ -128,7 +128,7 @@ void RegAllocBase::allocatePhysRegs() { for (VirtRegVec::iterator I = SplitVRegs.begin(), E = SplitVRegs.end(); I != E; ++I) { - LiveInterval *SplitVirtReg = *I; + LiveInterval *SplitVirtReg = &LIS->getInterval(*I); assert(!VRM->hasPhys(SplitVirtReg->reg) && "Register already assigned"); if (MRI->reg_nodbg_empty(SplitVirtReg->reg)) { DEBUG(dbgs() << "not queueing unused " << *SplitVirtReg << '\n'); |