LLVM
8.0.1
|
Determines the latest safe point in a block in which we can insert a split, spill or other instruction related with CurLI. More...
#include "CodeGen/SplitKit.h"
Public Member Functions | |
InsertPointAnalysis (const LiveIntervals &lis, unsigned BBNum) | |
SlotIndex | getLastInsertPoint (const LiveInterval &CurLI, const MachineBasicBlock &MBB) |
Return the base index of the last valid insert point for in . More... | |
MachineBasicBlock::iterator | getLastInsertPointIter (const LiveInterval &CurLI, MachineBasicBlock &MBB) |
Returns the last insert point as an iterator for in . More... | |
SlotIndex | getFirstInsertPoint (MachineBasicBlock &MBB) |
Return the base index of the first insert point in . More... | |
Determines the latest safe point in a block in which we can insert a split, spill or other instruction related with CurLI.
Definition at line 50 of file SplitKit.h.
InsertPointAnalysis::InsertPointAnalysis | ( | const LiveIntervals & | lis, |
unsigned | BBNum | ||
) |
Definition at line 72 of file SplitKit.cpp.
References llvm::MachineBasicBlock::begin(), llvm::VNInfo::def, E, llvm::SmallVectorBase::empty(), llvm::MachineBasicBlock::end(), for(), llvm::MachineBasicBlock::getFirstTerminator(), llvm::LiveIntervals::getInstructionIndex(), llvm::LiveIntervals::getMBBEndIdx(), llvm::MachineBasicBlock::getNumber(), llvm::LiveRange::getVNInfoBefore(), I, llvm::SlotIndex::isEarlierInstr(), llvm::LiveIntervals::isLiveInToMBB(), llvm::none_of(), llvm::SmallVectorTemplateBase< T >::push_back(), and llvm::MachineBasicBlock::successors().
|
inline |
Return the base index of the first insert point in .
Definition at line 82 of file SplitKit.h.
References llvm::MachineBasicBlock::begin(), llvm::MachineBasicBlock::empty(), llvm::MachineBasicBlock::end(), llvm::LiveIntervals::getInstructionIndex(), llvm::LiveIntervals::getMBBStartIdx(), and llvm::MachineBasicBlock::SkipPHIsLabelsAndDebug().
Referenced by llvm::SplitAnalysis::getFirstSplitPoint().
|
inline |
Return the base index of the last valid insert point for in .
Definition at line 67 of file SplitKit.h.
References first, and llvm::MachineBasicBlock::getNumber().
Referenced by getLastInsertPointIter(), and llvm::SplitAnalysis::getLastSplitPoint().
MachineBasicBlock::iterator InsertPointAnalysis::getLastInsertPointIter | ( | const LiveInterval & | CurLI, |
MachineBasicBlock & | MBB | ||
) |
Returns the last insert point as an iterator for in .
Definition at line 140 of file SplitKit.cpp.
References llvm::MachineBasicBlock::end(), llvm::LiveIntervals::getInstructionFromIndex(), getLastInsertPoint(), and llvm::LiveIntervals::getMBBEndIdx().
Referenced by llvm::SplitAnalysis::getLastSplitPointIter().