From 96c61315a0a7a66a7e4c55a507251d6da24af46c Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Thu, 29 Nov 2007 01:06:25 +0000 Subject: 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 --- include/llvm/CodeGen/LiveIntervalAnalysis.h | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'include/llvm/CodeGen/LiveIntervalAnalysis.h') 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 &ReMatIds, const LoopInfo *loopInfo, BitVector &SpillMBBs, - std::map > &SpillIdxes, + std::map > &SpillIdxes, + BitVector &RestoreMBBs, + std::map > &RestoreIdxes, std::map &NewVRegs, std::vector &NewLIs); -- cgit v1.1