From 428eaa00590fed67877c777f86c1131608d4d61c Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Thu, 1 Mar 2007 02:19:39 +0000 Subject: [PATCH] Interface clean up. llvm-svn: 34770 --- llvm/lib/CodeGen/RegisterScavenging.cpp | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/llvm/lib/CodeGen/RegisterScavenging.cpp b/llvm/lib/CodeGen/RegisterScavenging.cpp index c921e201b90f..8f5f4408ac70 100644 --- a/llvm/lib/CodeGen/RegisterScavenging.cpp +++ b/llvm/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(); -}