diff options
author | Evan Cheng <evan.cheng@apple.com> | 2007-11-29 01:06:25 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2007-11-29 01:06:25 +0000 |
commit | 96c61315a0a7a66a7e4c55a507251d6da24af46c (patch) | |
tree | ecba7c0510d1cf40e68c3e55cb26010034591b11 /include/llvm/CodeGen/LiveIntervalAnalysis.h | |
parent | 1f458158cf263e8b1b0f92e7c80bd5d22489a180 (diff) | |
download | external_llvm-96c61315a0a7a66a7e4c55a507251d6da24af46c.zip external_llvm-96c61315a0a7a66a7e4c55a507251d6da24af46c.tar.gz external_llvm-96c61315a0a7a66a7e4c55a507251d6da24af46c.tar.bz2 |
Fixed various live interval splitting bugs / compile time issues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44428 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/LiveIntervalAnalysis.h')
-rw-r--r-- | include/llvm/CodeGen/LiveIntervalAnalysis.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/include/llvm/CodeGen/LiveIntervalAnalysis.h b/include/llvm/CodeGen/LiveIntervalAnalysis.h index c803fbd..a83d3de 100644 --- a/include/llvm/CodeGen/LiveIntervalAnalysis.h +++ b/include/llvm/CodeGen/LiveIntervalAnalysis.h @@ -277,10 +277,13 @@ namespace llvm { MachineInstr *DefMI, unsigned index, unsigned i, bool isSS, int slot, unsigned reg); - bool anyKillInMBBAfterIdx(const LiveInterval &li, - MachineBasicBlock *MBB, unsigned Idx, - const VNInfo *VNI = NULL) const; + /// anyKillInMBBAfterIdx - Returns true if there is a kill of the specified + /// VNInfo that's after the specified index but is within the basic block. + bool anyKillInMBBAfterIdx(const LiveInterval &li, const VNInfo *VNI, + MachineBasicBlock *MBB, unsigned Idx) const; + /// intervalIsInOneMBB - Returns true if the specified interval is entirely + /// within a single basic block. bool intervalIsInOneMBB(const LiveInterval &li) const; /// rewriteInstructionForSpills, rewriteInstructionsForSpills - Helper functions @@ -301,7 +304,9 @@ namespace llvm { VirtRegMap &vrm, SSARegMap *RegMap, const TargetRegisterClass* rc, SmallVector<int, 4> &ReMatIds, const LoopInfo *loopInfo, BitVector &SpillMBBs, - std::map<unsigned, std::pair<int, unsigned> > &SpillIdxes, + std::map<unsigned, std::pair<int, bool> > &SpillIdxes, + BitVector &RestoreMBBs, + std::map<unsigned, std::pair<int, bool> > &RestoreIdxes, std::map<unsigned,unsigned> &NewVRegs, std::vector<LiveInterval*> &NewLIs); |