LLVM API Documentation
#include <LiveRangeInfo.h>
Collaboration diagram for llvm::LiveRangeInfo:
Public Member Functions | |
LiveRangeInfo (const Function *F, const TargetMachine &tm, std::vector< RegClass * > &RCList) | |
~LiveRangeInfo () | |
void | constructLiveRanges () |
const LiveRangeMapType * | getLiveRangeMap () const |
V9LiveRange * | getLiveRangeForValue (const Value *Val) |
const V9LiveRange * | getLiveRangeForValue (const Value *Val) const |
void | coalesceLRs () |
void | printLiveRanges () |
Definition at line 52 of file LiveRangeInfo.h.
llvm::LiveRangeInfo::LiveRangeInfo | ( | const Function * | F, | |
const TargetMachine & | tm, | |||
std::vector< RegClass * > & | RCList | |||
) |
Definition at line 32 of file LiveRangeInfo.cpp.
llvm::LiveRangeInfo::~LiveRangeInfo | ( | ) |
Destructor to destroy all LiveRanges in the V9LiveRange Map
Definition at line 37 of file LiveRangeInfo.cpp.
References llvm::V9LiveRange::begin(), llvm::V9LiveRange::end(), LI, and MI.
void llvm::LiveRangeInfo::coalesceLRs | ( | ) |
Method for coalescing live ranges. Called only after interference info is calculated.
Definition at line 321 of file LiveRangeInfo.cpp.
References llvm::MachineInstr::begin(), llvm::MachineBasicBlock::begin(), llvm::MachineFunction::begin(), llvm::DEBUG_RA, llvm::MachineInstr::dump(), llvm::MachineInstr::end(), llvm::MachineBasicBlock::end(), llvm::MachineFunction::end(), llvm::MachineFunction::get(), llvm::RegClass::getInterference(), getLiveRangeForValue(), llvm::RegClass::getNumOfAvailRegs(), llvm::IGNode::getNumOfNeighbors(), llvm::V9LiveRange::getRegClass(), llvm::SparcV9RegInfo::getRegTypeForLR(), llvm::V9LiveRange::getUserIGNode(), llvm::InterfsPreventCoalescing(), MBB, llvm::RegClass::mergeIGNodesOfLRs(), MF, MI, and llvm::RA_DEBUG_LiveRanges.
void llvm::LiveRangeInfo::constructLiveRanges | ( | ) |
Definition at line 147 of file LiveRangeInfo.cpp.
References AI, llvm::Function::arg_begin(), llvm::Function::arg_end(), llvm::MachineBasicBlock::begin(), llvm::MachineFunction::begin(), llvm::DEBUG_RA, llvm::MachineBasicBlock::end(), llvm::MachineFunction::end(), llvm::MachineFunction::get(), llvm::SparcV9RegInfo::getClassRegNum(), llvm::TargetMachine::getInstrInfo(), llvm::TargetInstrInfo::isCall(), llvm::TargetInstrInfo::isReturn(), MBB, MF, llvm::MachineOperand::MO_CCRegister, llvm::RA_DEBUG_LiveRanges, llvm::V9LiveRange::setColor(), and llvm::SparcV9RegInfo::suggestRegs4MethodArgs().
const V9LiveRange* llvm::LiveRangeInfo::getLiveRangeForValue | ( | const Value * | Val | ) | const [inline] |
V9LiveRange* llvm::LiveRangeInfo::getLiveRangeForValue | ( | const Value * | Val | ) | [inline] |
Method used to get the live range containing a Value. This may return NULL if no live range exists for a Value (eg, some consts)
Definition at line 101 of file LiveRangeInfo.h.
References Val.
Referenced by coalesceLRs(), llvm::SparcV9RegInfo::colorMethodArgs(), llvm::SparcV9RegInfo::suggestReg4RetValue(), llvm::SparcV9RegInfo::suggestRegs4CallArgs(), and llvm::SparcV9RegInfo::suggestRegs4MethodArgs().
const LiveRangeMapType* llvm::LiveRangeInfo::getLiveRangeMap | ( | ) | const [inline] |
return the common live range map for this method
Definition at line 95 of file LiveRangeInfo.h.
void llvm::LiveRangeInfo::printLiveRanges | ( | ) |
debugging method to print the live ranges
Definition at line 400 of file LiveRangeInfo.cpp.