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 _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits