[llvm-commits] CVS: llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h
    Chris Lattner 
    lattner at cs.uiuc.edu
       
    Fri Sep  1 22:33:07 PDT 2006
    
    
  
Changes in directory llvm/include/llvm/CodeGen:
LiveIntervalAnalysis.h updated: 1.58 -> 1.59
---
Log message:
Iteration is required for some cases, even if they don't occur in crafty.
Restore it, which re-fixes X86/2006-08-21-ExtraMovInst.ll
---
Diffs of the changes:  (+15 -3)
 LiveIntervalAnalysis.h |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)
Index: llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h
diff -u llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h:1.58 llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h:1.59
--- llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h:1.58	Sat Sep  2 00:26:01 2006
+++ llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h	Sat Sep  2 00:32:53 2006
@@ -53,6 +53,17 @@
     std::vector<bool> allocatableRegs_;
 
   public:
+    struct CopyRec {
+      MachineInstr *MI;
+      unsigned SrcReg, DstReg;
+    };
+    CopyRec getCopyRec(MachineInstr *MI, unsigned SrcReg, unsigned DstReg) {
+      CopyRec R;
+      R.MI = MI;
+      R.SrcReg = SrcReg;
+      R.DstReg = DstReg;
+      return R;
+    }
     struct InstrSlots {
       enum {
         LOAD  = 0,
@@ -150,9 +161,10 @@
     /// joinIntervals - join compatible live intervals
     void joinIntervals();
 
-    /// CopyCoallesceInMBB - Coallsece copies in the specified MBB.
-    void CopyCoallesceInMBB(MachineBasicBlock *MBB);
-
+    /// CopyCoallesceInMBB - Coallsece copies in the specified MBB, putting
+    /// 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
    
    
More information about the llvm-commits
mailing list