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

Alkis Evlogimenos alkis at cs.uiuc.edu
Tue Jan 13 16:11:42 PST 2004


Changes in directory llvm/lib/CodeGen:

LiveIntervals.cpp updated: 1.22 -> 1.23

---
Log message:

Remove allocatable registers vector. It is already provided by
LiveVariables.


---
Diffs of the changes:  (+2 -21)

Index: llvm/lib/CodeGen/LiveIntervals.cpp
diff -u llvm/lib/CodeGen/LiveIntervals.cpp:1.22 llvm/lib/CodeGen/LiveIntervals.cpp:1.23
--- llvm/lib/CodeGen/LiveIntervals.cpp:1.22	Tue Jan 13 15:53:20 2004
+++ llvm/lib/CodeGen/LiveIntervals.cpp	Tue Jan 13 16:10:43 2004
@@ -65,27 +65,12 @@
     tm_ = &fn.getTarget();
     mri_ = tm_->getRegisterInfo();
     lv_ = &getAnalysis<LiveVariables>();
-    allocatableRegisters_.clear();
     mbbi2mbbMap_.clear();
     mi2iMap_.clear();
     r2iMap_.clear();
     r2iMap_.clear();
     intervals_.clear();
 
-    // mark allocatable registers
-    allocatableRegisters_.resize(MRegisterInfo::FirstVirtualRegister);
-    // Loop over all of the register classes...
-    for (MRegisterInfo::regclass_iterator
-             rci = mri_->regclass_begin(), rce = mri_->regclass_end();
-         rci != rce; ++rci) {
-        // Loop over all of the allocatable registers in the function...
-        for (TargetRegisterClass::iterator
-                 i = (*rci)->allocation_order_begin(*mf_),
-                 e = (*rci)->allocation_order_end(*mf_); i != e; ++i) {
-            allocatableRegisters_[*i] = true;  // The reg is allocatable!
-        }
-    }
-
     // number MachineInstrs
     unsigned miIndex = 0;
     for (MachineFunction::iterator mbb = mf_->begin(), mbbEnd = mf_->end();
@@ -206,11 +191,7 @@
                                               MachineBasicBlock::iterator mi,
                                               unsigned reg)
 {
-    DEBUG(std::cerr << "\t\tregister: ";printRegName(reg); std::cerr << '\n');
-    if (!lv_->getAllocatablePhysicalRegisters()[reg]) {
-        DEBUG(std::cerr << "\t\t\tnon allocatable register: ignoring\n");
-        return;
-    }
+    DEBUG(std::cerr << "\t\tregister: "; printRegName(reg));
 
     unsigned start = getInstructionIndex(*mi);
     unsigned end = start;
@@ -259,7 +240,7 @@
                                       unsigned reg)
 {
     if (reg < MRegisterInfo::FirstVirtualRegister) {
-        if (allocatableRegisters_[reg]) {
+        if (lv_->getAllocatablePhysicalRegisters()[reg]) {
             handlePhysicalRegisterDef(mbb, mi, reg);
             for (const unsigned* as = mri_->getAliasSet(reg); *as; ++as)
                 handlePhysicalRegisterDef(mbb, mi, *as);





More information about the llvm-commits mailing list