[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