diff options
author | Evan Cheng <evan.cheng@apple.com> | 2007-03-01 02:19:39 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2007-03-01 02:19:39 +0000 |
commit | a3756ee7fe384210eddcfd66e2934439960b13a1 (patch) | |
tree | 90a1cc536b0f20ce11fe5c98ab0e81e2c1441667 /lib/CodeGen/RegisterScavenging.cpp | |
parent | 28654b6205acc56863cdf988eed3e345da11eca3 (diff) |
Interface clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34770 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/RegisterScavenging.cpp')
-rw-r--r-- | lib/CodeGen/RegisterScavenging.cpp | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/lib/CodeGen/RegisterScavenging.cpp b/lib/CodeGen/RegisterScavenging.cpp index c921e201b9..8f5f4408ac 100644 --- a/lib/CodeGen/RegisterScavenging.cpp +++ b/lib/CodeGen/RegisterScavenging.cpp @@ -25,7 +25,7 @@ #include "llvm/ADT/STLExtras.h" using namespace llvm; -void RegScavenger::init(MachineBasicBlock *mbb) { +void RegScavenger::enterBasicBlock(MachineBasicBlock *mbb) { const MachineFunction &MF = *mbb->getParent(); const TargetMachine &TM = MF.getTarget(); const MRegisterInfo *RegInfo = TM.getRegisterInfo(); @@ -35,9 +35,11 @@ void RegScavenger::init(MachineBasicBlock *mbb) { if (!MBB) { NumPhysRegs = RegInfo->getNumRegs(); - ReservedRegs = RegInfo->getReservedRegs(MF); RegStates.resize(NumPhysRegs); + // Create reserved registers bitvector. + ReservedRegs = RegInfo->getReservedRegs(MF); + // Create callee-saved registers bitvector. CalleeSavedRegs.resize(NumPhysRegs); const unsigned *CSRegs = RegInfo->getCalleeSavedRegs(); @@ -51,7 +53,7 @@ void RegScavenger::init(MachineBasicBlock *mbb) { // All registers started out unused. RegStates.set(); - // Create reserved registers bitvector. + // Reserved registers are always used. RegStates ^= ReservedRegs; // Live-in registers are in use. @@ -59,6 +61,8 @@ void RegScavenger::init(MachineBasicBlock *mbb) { for (MachineBasicBlock::const_livein_iterator I = MBB->livein_begin(), E = MBB->livein_end(); I != E; ++I) setUsed(*I); + + Tracking = false; } void RegScavenger::forward() { @@ -168,13 +172,3 @@ unsigned RegScavenger::FindUnusedReg(const TargetRegisterClass *RegClass, int Reg = RegStatesCopy.find_first(); return (Reg == -1) ? 0 : Reg; } - -void RegScavenger::clear() { - if (MBB) { - MBBI = MBB->end(); - MBB = NULL; - } - - Tracking = false; - RegStates.clear(); -} |