Changes in directory llvm/include/llvm/CodeGen:
LiveIntervalAnalysis.h updated: 1.61 -> 1.62 MachineFunction.h updated: 1.60 -> 1.61 --- Log message: Remove dead methods, add getNumBlockIDs() method --- Diffs of the changes: (+25 -10) LiveIntervalAnalysis.h | 26 +++++++++++++++++++++++--- MachineFunction.h | 9 ++------- 2 files changed, 25 insertions(+), 10 deletions(-) Index: llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h diff -u llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h:1.61 llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h:1.62 --- llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h:1.61 Sun Sep 3 03:07:11 2006 +++ llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h Thu Sep 14 01:40:48 2006 @@ -38,6 +38,10 @@ const TargetInstrInfo* tii_; LiveVariables* lv_; + /// MBB2IdxMap - The index of the first instruction in the specified basic + /// block. + std::vector<unsigned> MBB2IdxMap; + typedef std::map<MachineInstr*, unsigned> Mi2IndexMap; Mi2IndexMap mi2iMap_; @@ -113,6 +117,17 @@ return I->second; } + /// getMBBStartIdx - Return the base index of the first instruction in the + /// specified MachineBasicBlock. + unsigned getMBBStartIdx(MachineBasicBlock *MBB) const { + return getMBBStartIdx(MBB->getNumber()); + } + + unsigned getMBBStartIdx(unsigned MBBNo) const { + assert(MBBNo < MBB2IdxMap.size() && "Invalid MBB number!"); + return MBB2IdxMap[MBBNo]; + } + /// getInstructionIndex - returns the base index of instr unsigned getInstructionIndex(MachineInstr* instr) const { Mi2IndexMap::const_iterator it = mi2iMap_.find(instr); @@ -128,7 +143,7 @@ "index does not correspond to an instruction"); return i2miMap_[index]; } - + std::vector<LiveInterval*> addIntervalsForSpills(const LiveInterval& i, VirtRegMap& vrm, int slot); @@ -155,12 +170,17 @@ } } - /// computeIntervals - compute live intervals - void computeIntervals(); + /// computeIntervals - Compute live intervals. This returns a vector of all + /// the two-address instructions to the caller. + void computeIntervals(std::vector<MachineInstr*> &TwoAddrInsts); /// joinIntervals - join compatible live intervals void joinIntervals(); + /// HandleTwoAddressInsts - Arrange for the specified list of 2-addr + /// instructions to have their src/dst regs allocated to the same register. + void HandleTwoAddressInsts(const std::vector<MachineInstr*> &TwoAddrInsts); + /// CopyCoallesceInMBB - Coallsece copies in the specified MBB, putting /// copies that cannot yet be coallesced into the "TryAgain" list. void CopyCoallesceInMBB(MachineBasicBlock *MBB, Index: llvm/include/llvm/CodeGen/MachineFunction.h diff -u llvm/include/llvm/CodeGen/MachineFunction.h:1.60 llvm/include/llvm/CodeGen/MachineFunction.h:1.61 --- llvm/include/llvm/CodeGen/MachineFunction.h:1.60 Thu Aug 17 17:00:07 2006 +++ llvm/include/llvm/CodeGen/MachineFunction.h Thu Sep 14 01:40:48 2006 @@ -223,13 +223,8 @@ return MBBNumbering[N]; } - /// getLastBlock - Returns the MachineBasicBlock with the greatest number - MachineBasicBlock *getLastBlock() { - return MBBNumbering.back(); - } - const MachineBasicBlock *getLastBlock() const { - return MBBNumbering.back(); - } + /// getNumBlockIDs - Return the number of MBB ID's allocated. + unsigned getNumBlockIDs() const { return MBBNumbering.size(); } /// print - Print out the MachineFunction in a format suitable for debugging /// to the specified stream. _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits