[llvm-commits] CVS: llvm/lib/CodeGen/RegisterScavenging.cpp

Evan Cheng evan.cheng at apple.com
Wed Feb 28 18:19:56 PST 2007



Changes in directory llvm/lib/CodeGen:

RegisterScavenging.cpp updated: 1.7 -> 1.8
---
Log message:

Interface clean up.

---
Diffs of the changes:  (+7 -13)

 RegisterScavenging.cpp |   20 +++++++-------------
 1 files changed, 7 insertions(+), 13 deletions(-)


Index: llvm/lib/CodeGen/RegisterScavenging.cpp
diff -u llvm/lib/CodeGen/RegisterScavenging.cpp:1.7 llvm/lib/CodeGen/RegisterScavenging.cpp:1.8
--- llvm/lib/CodeGen/RegisterScavenging.cpp:1.7	Tue Feb 27 16:58:43 2007
+++ llvm/lib/CodeGen/RegisterScavenging.cpp	Wed Feb 28 20:19:39 2007
@@ -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 @@
 
   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 @@
   // 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 @@
     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 @@
   int Reg = RegStatesCopy.find_first();
   return (Reg == -1) ? 0 : Reg;
 }
-
-void RegScavenger::clear() {
-  if (MBB) {
-    MBBI = MBB->end();
-    MBB = NULL;
-  }
-
-  Tracking = false;
-  RegStates.clear();
-}






More information about the llvm-commits mailing list