[llvm-commits] CVS: llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h LiveVariables.h MachineBasicBlock.h MachineInstr.h

Reid Spencer reid at x10sys.com
Sun Feb 18 19:20:33 PST 2007



Changes in directory llvm/include/llvm/CodeGen:

LiveIntervalAnalysis.h updated: 1.69 -> 1.70
LiveVariables.h updated: 1.33 -> 1.34
MachineBasicBlock.h updated: 1.56 -> 1.57
MachineInstr.h updated: 1.210 -> 1.211
---
Log message:

For PR1207: http://llvm.org/PR1207 :
Revert patches that caused the problem. Evan, please investigate and reapply
when you've discovered the problem.


---
Diffs of the changes:  (+9 -35)

 LiveIntervalAnalysis.h |   18 ++----------------
 LiveVariables.h        |    9 ++++-----
 MachineBasicBlock.h    |   13 +++----------
 MachineInstr.h         |    4 ----
 4 files changed, 9 insertions(+), 35 deletions(-)


Index: llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h
diff -u llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h:1.69 llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h:1.70
--- llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h:1.69	Sat Feb 17 05:15:40 2007
+++ llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h	Sun Feb 18 21:20:00 2007
@@ -118,11 +118,6 @@
       return I->second;
     }
 
-    bool hasInterval(unsigned reg) const {
-      Reg2IntervalMap::const_iterator I = r2iMap_.find(reg);
-      return I != r2iMap_.end();
-    }
-
     /// getMBBStartIdx - Return the base index of the first instruction in the
     /// specified MachineBasicBlock.
     unsigned getMBBStartIdx(MachineBasicBlock *MBB) const {
@@ -194,7 +189,6 @@
     /// copies that cannot yet be coallesced into the "TryAgain" list.
     void CopyCoallesceInMBB(MachineBasicBlock *MBB,
                             std::vector<CopyRec> &TryAgain);
-
     /// JoinCopy - Attempt to join intervals corresponding to SrcReg/DstReg,
     /// which are the src/dst of the copy instruction CopyMI.  This returns true
     /// if the copy was successfully coallesced away, or if it is never possible
@@ -239,9 +233,6 @@
                                    LiveInterval &interval,
                                    unsigned SrcReg);
 
-    /// handleLiveInRegister - Create interval for a livein register.
-    void handleLiveInRegister(MachineBasicBlock* mbb, LiveInterval &interval);
-
     /// Return true if the two specified registers belong to different
     /// register classes.  The registers may be either phys or virt regs.
     bool differingRegisterClasses(unsigned RegA, unsigned RegB) const;
@@ -250,16 +241,11 @@
     bool AdjustCopiesBackFrom(LiveInterval &IntA, LiveInterval &IntB,
                               MachineInstr *CopyMI);
 
-    /// hasRegisterUse - Returns true if there is any use of the specific
-    /// reg between indexes Start and End.
-    bool hasRegisterUse(unsigned Reg, unsigned Start, unsigned End);
+    bool overlapsAliases(const LiveInterval *lhs,
+                         const LiveInterval *rhs) const;
 
     static LiveInterval createInterval(unsigned Reg);
 
-    void removeInterval(unsigned Reg) {
-      r2iMap_.erase(Reg);
-    }
-
     LiveInterval &getOrCreateInterval(unsigned reg) {
       Reg2IntervalMap::iterator I = r2iMap_.find(reg);
       if (I == r2iMap_.end())


Index: llvm/include/llvm/CodeGen/LiveVariables.h
diff -u llvm/include/llvm/CodeGen/LiveVariables.h:1.33 llvm/include/llvm/CodeGen/LiveVariables.h:1.34
--- llvm/include/llvm/CodeGen/LiveVariables.h:1.33	Sat Feb 17 05:07:08 2007
+++ llvm/include/llvm/CodeGen/LiveVariables.h	Sun Feb 18 21:20:00 2007
@@ -36,7 +36,6 @@
 namespace llvm {
 
 class MRegisterInfo;
-class BitVector;
 
 class LiveVariables : public MachineFunctionPass {
 public:
@@ -109,11 +108,11 @@
   ///
   std::vector<VarInfo> VirtRegInfo;
 
-  /// ReservedRegisters - This vector keeps track of which registers
-  /// are reserved register which are not allocatable by the target machine.
-  /// We can not track liveness for values that are in this set.
+  /// AllocatablePhysicalRegisters - This vector keeps track of which registers
+  /// are actually register allocatable by the target machine.  We can not track
+  /// liveness for values that are not in this set.
   ///
-  BitVector ReservedRegisters;
+  BitVector AllocatablePhysicalRegisters;
 
 private:   // Intermediate data structures
   const MRegisterInfo *RegInfo;


Index: llvm/include/llvm/CodeGen/MachineBasicBlock.h
diff -u llvm/include/llvm/CodeGen/MachineBasicBlock.h:1.56 llvm/include/llvm/CodeGen/MachineBasicBlock.h:1.57
--- llvm/include/llvm/CodeGen/MachineBasicBlock.h:1.56	Sat Feb 17 05:07:41 2007
+++ llvm/include/llvm/CodeGen/MachineBasicBlock.h	Sun Feb 18 21:20:00 2007
@@ -138,18 +138,11 @@
   /// is an error to add the same register to the same set more than once.
   void addLiveIn(unsigned Reg)  { LiveIns.push_back(Reg); }
 
-  /// removeLiveIn - Remove the specified register from the live in set.
-  ///
-  void removeLiveIn(unsigned Reg);
-
   // Iteration support for live in sets.  These sets are kept in sorted
   // order by their register number.
-  typedef std::vector<unsigned>::iterator       livein_iterator;
-  typedef std::vector<unsigned>::const_iterator const_livein_iterator;
-  livein_iterator       livein_begin()       { return LiveIns.begin(); }
-  const_livein_iterator livein_begin() const { return LiveIns.begin(); }
-  livein_iterator       livein_end()         { return LiveIns.end(); }
-  const_livein_iterator livein_end()   const { return LiveIns.end(); }
+  typedef std::vector<unsigned>::const_iterator livein_iterator;
+  livein_iterator livein_begin() const { return LiveIns.begin(); }
+  livein_iterator livein_end()   const { return LiveIns.end(); }
   bool            livein_empty() const { return LiveIns.empty(); }
 
   // Code Layout methods.


Index: llvm/include/llvm/CodeGen/MachineInstr.h
diff -u llvm/include/llvm/CodeGen/MachineInstr.h:1.210 llvm/include/llvm/CodeGen/MachineInstr.h:1.211
--- llvm/include/llvm/CodeGen/MachineInstr.h:1.210	Sat Feb 17 05:07:59 2007
+++ llvm/include/llvm/CodeGen/MachineInstr.h	Sun Feb 18 21:20:00 2007
@@ -393,10 +393,6 @@
   /// the specific register or NULL if it is not found.
   MachineOperand *findRegisterUseOperand(unsigned Reg);
   
-  /// findRegisterDefOperand() - Returns the MachineOperand that is a def of
-  /// the specific register or NULL if it is not found.
-  MachineOperand *findRegisterDefOperand(unsigned Reg);
-  
   /// copyKillDeadInfo - Copies kill / dead operand properties from MI.
   ///
   void copyKillDeadInfo(const MachineInstr *MI);






More information about the llvm-commits mailing list