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

Alkis Evlogimenos alkis at cs.uiuc.edu
Thu Aug 26 15:22:48 PDT 2004



Changes in directory llvm/lib/CodeGen:

LiveIntervalAnalysis.h updated: 1.40 -> 1.41
LiveIntervalAnalysis.cpp updated: 1.118 -> 1.119
---
Log message:

Use newly added API in MRegisterInfo.


---
Diffs of the changes:  (+6 -5)

Index: llvm/lib/CodeGen/LiveIntervalAnalysis.h
diff -u llvm/lib/CodeGen/LiveIntervalAnalysis.h:1.40 llvm/lib/CodeGen/LiveIntervalAnalysis.h:1.41
--- llvm/lib/CodeGen/LiveIntervalAnalysis.h:1.40	Wed Aug  4 04:43:38 2004
+++ llvm/lib/CodeGen/LiveIntervalAnalysis.h	Thu Aug 26 17:22:38 2004
@@ -47,6 +47,8 @@
     typedef std::map<unsigned, unsigned> Reg2RegMap;
     Reg2RegMap r2rMap_;
 
+    std::vector<bool> allocatableRegs_;
+
   public:
     struct InstrSlots
     {


Index: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
diff -u llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.118 llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.119
--- llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.118	Tue Aug 24 12:48:29 2004
+++ llvm/lib/CodeGen/LiveIntervalAnalysis.cpp	Thu Aug 26 17:22:38 2004
@@ -87,6 +87,7 @@
   tm_ = &fn.getTarget();
   mri_ = tm_->getRegisterInfo();
   lv_ = &getAnalysis<LiveVariables>();
+  allocatableRegs_ = mri_->getAllocatableSet(fn);
 
   // number MachineInstrs
   unsigned miIndex = 0;
@@ -484,7 +485,7 @@
                                       unsigned reg) {
   if (MRegisterInfo::isVirtualRegister(reg))
     handleVirtualRegisterDef(MBB, MI, getOrCreateInterval(reg));
-  else if (lv_->getAllocatablePhysicalRegisters()[reg]) {
+  else if (allocatableRegs_[reg]) {
     handlePhysicalRegisterDef(MBB, MI, getOrCreateInterval(reg));
     for (const unsigned* AS = mri_->getAliasSet(reg); *AS; ++AS)
       handlePhysicalRegisterDef(MBB, MI, getOrCreateInterval(*AS));
@@ -541,10 +542,8 @@
     // on not allocatable physical registers
     unsigned regA, regB;
     if (TII.isMoveInstr(*mi, regA, regB) &&
-        (MRegisterInfo::isVirtualRegister(regA) ||
-         lv_->getAllocatablePhysicalRegisters()[regA]) &&
-        (MRegisterInfo::isVirtualRegister(regB) ||
-         lv_->getAllocatablePhysicalRegisters()[regB])) {
+        (MRegisterInfo::isVirtualRegister(regA) || allocatableRegs_[regA]) &&
+        (MRegisterInfo::isVirtualRegister(regB) || allocatableRegs_[regB])) {
 
       // Get representative registers.
       regA = rep(regA);






More information about the llvm-commits mailing list