LLVM API Documentation
#include <LiveIntervalAnalysis.h>
Inheritance diagram for llvm::LiveIntervals:
Public Types | |
typedef Reg2IntervalMap::iterator | iterator |
typedef Reg2IntervalMap::const_iterator | const_iterator |
Public Member Functions | |
const_iterator | begin () const |
const_iterator | end () const |
iterator | begin () |
iterator | end () |
unsigned | getNumIntervals () const |
LiveInterval & | getInterval (unsigned reg) |
const LiveInterval & | getInterval (unsigned reg) const |
unsigned | getInstructionIndex (MachineInstr *instr) const |
getInstructionIndex - returns the base index of instr | |
MachineInstr * | getInstructionFromIndex (unsigned index) const |
std::vector< LiveInterval * > | addIntervalsForSpills (const LiveInterval &i, VirtRegMap &vrm, int slot) |
virtual void | getAnalysisUsage (AnalysisUsage &AU) const |
virtual void | releaseMemory () |
virtual bool | runOnMachineFunction (MachineFunction &) |
runOnMachineFunction - pass entry point | |
virtual void | print (std::ostream &O) const |
print - Implement the dump method. | |
Static Public Member Functions | |
static unsigned | getBaseIndex (unsigned index) |
static unsigned | getBoundaryIndex (unsigned index) |
static unsigned | getLoadIndex (unsigned index) |
static unsigned | getUseIndex (unsigned index) |
static unsigned | getDefIndex (unsigned index) |
static unsigned | getStoreIndex (unsigned index) |
Classes | |
struct | InstrSlots |
Definition at line 33 of file LiveIntervalAnalysis.h.
|
Definition at line 85 of file LiveIntervalAnalysis.h. |
|
Definition at line 84 of file LiveIntervalAnalysis.h. |
|
|
Definition at line 88 of file LiveIntervalAnalysis.h. |
|
Definition at line 86 of file LiveIntervalAnalysis.h. Referenced by print(), and runOnMachineFunction(). |
|
Definition at line 89 of file LiveIntervalAnalysis.h. |
|
Definition at line 87 of file LiveIntervalAnalysis.h. Referenced by addIntervalsForSpills(), print(), and runOnMachineFunction(). |
|
getAnalysisUsage - This function should be overriden by passes that need analysis information to do their job. If a pass specifies that it uses a particular analysis result to this function, it can then use the getAnalysis<AnalysisType>() function, below. Reimplemented from llvm::Pass. Definition at line 63 of file LiveIntervalAnalysis.cpp. References llvm::AnalysisUsage::addPreserved(), llvm::AnalysisUsage::addPreservedID(), llvm::AnalysisUsage::addRequired(), llvm::AnalysisUsage::addRequiredID(), llvm::Pass::getAnalysisUsage(), llvm::PHIEliminationID, and llvm::TwoAddressInstructionPassID. |
|
Definition at line 65 of file LiveIntervalAnalysis.h. References llvm::LiveIntervals::InstrSlots::NUM. Referenced by addIntervalsForSpills(), getBoundaryIndex(), getDefIndex(), getLoadIndex(), getStoreIndex(), and getUseIndex(). |
|
Definition at line 68 of file LiveIntervalAnalysis.h. References getBaseIndex(), and llvm::LiveIntervals::InstrSlots::NUM. |
|
Definition at line 77 of file LiveIntervalAnalysis.h. References llvm::LiveIntervals::InstrSlots::DEF, and getBaseIndex(). Referenced by addIntervalsForSpills(). |
|
getInstructionFromIndex - given an index in any slot of an instruction return a pointer the instruction Definition at line 113 of file LiveIntervalAnalysis.h. References llvm::LiveIntervals::InstrSlots::NUM. Referenced by addIntervalsForSpills(). |
|
getInstructionIndex - returns the base index of instr
Definition at line 105 of file LiveIntervalAnalysis.h. Referenced by print(). |
|
Definition at line 98 of file LiveIntervalAnalysis.h. References I. |
|
Definition at line 92 of file LiveIntervalAnalysis.h. References I. Referenced by runOnMachineFunction(). |
|
Definition at line 71 of file LiveIntervalAnalysis.h. References getBaseIndex(), and llvm::LiveIntervals::InstrSlots::LOAD. Referenced by addIntervalsForSpills(). |
|
Definition at line 90 of file LiveIntervalAnalysis.h. Referenced by runOnMachineFunction(). |
|
Definition at line 80 of file LiveIntervalAnalysis.h. References getBaseIndex(), and llvm::LiveIntervals::InstrSlots::STORE. Referenced by addIntervalsForSpills(). |
|
Definition at line 74 of file LiveIntervalAnalysis.h. References getBaseIndex(), and llvm::LiveIntervals::InstrSlots::USE. Referenced by addIntervalsForSpills(). |
|
print - Implement the dump method.
Reimplemented from llvm::Pass. Definition at line 172 of file LiveIntervalAnalysis.cpp. References llvm::MachineFunction::begin(), begin(), E, llvm::MachineFunction::end(), end(), getInstructionIndex(), and I. |
|
releaseMemory() - This member can be implemented by a pass if it wants to be able to release its memory when it is no longer needed. The default behavior of passes is to hold onto memory for the entire duration of their lifetime (which is the entire compile time). For pipelined passes, this is not a big deal because that memory gets recycled every time the pass is invoked on another program unit. For IP passes, it is more important to free memory when it is unused. Optionally implement this function to release pass memory when it is no longer used. Reimplemented from llvm::Pass. Definition at line 74 of file LiveIntervalAnalysis.cpp. References llvm::DenseMap< T, ToIndexT >::clear(). |
|