diff options
author | Chris Lattner <sabre@nondot.org> | 2006-09-14 06:40:48 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-09-14 06:40:48 +0000 |
commit | 2540813e5d583fdc40458a53badb323ae5d83a07 (patch) | |
tree | 9c39a1b4d99a8eaf0953deb78a92ccca7491e91a | |
parent | 5f1d01393c1dbafca3c5d91adbb0a97c387a5a1e (diff) | |
download | external_llvm-2540813e5d583fdc40458a53badb323ae5d83a07.tar.gz external_llvm-2540813e5d583fdc40458a53badb323ae5d83a07.tar.bz2 external_llvm-2540813e5d583fdc40458a53badb323ae5d83a07.zip |
Remove dead methods, add getNumBlockIDs() method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30322 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/CodeGen/LiveIntervalAnalysis.h | 26 | ||||
-rw-r--r-- | include/llvm/CodeGen/MachineFunction.h | 9 |
2 files changed, 25 insertions, 10 deletions
diff --git a/include/llvm/CodeGen/LiveIntervalAnalysis.h b/include/llvm/CodeGen/LiveIntervalAnalysis.h index 77451846c2..2bcef48e96 100644 --- a/include/llvm/CodeGen/LiveIntervalAnalysis.h +++ b/include/llvm/CodeGen/LiveIntervalAnalysis.h @@ -38,6 +38,10 @@ namespace llvm { 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 @@ namespace llvm { 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 @@ namespace llvm { "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 @@ namespace llvm { } } - /// 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, diff --git a/include/llvm/CodeGen/MachineFunction.h b/include/llvm/CodeGen/MachineFunction.h index 340e2f936b..b06dd63922 100644 --- a/include/llvm/CodeGen/MachineFunction.h +++ b/include/llvm/CodeGen/MachineFunction.h @@ -223,13 +223,8 @@ public: 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. |