LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

llvm::LiveRangeInfo Class Reference

#include <LiveRangeInfo.h>

Collaboration diagram for llvm::LiveRangeInfo:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LiveRangeInfo (const Function *F, const TargetMachine &tm, std::vector< RegClass * > &RCList)
 ~LiveRangeInfo ()
void constructLiveRanges ()
const LiveRangeMapTypegetLiveRangeMap () const
LiveRangegetLiveRangeForValue (const Value *Val)
const LiveRangegetLiveRangeForValue (const Value *Val) const
void coalesceLRs ()
void printLiveRanges ()

Detailed Description

Definition at line 52 of file LiveRangeInfo.h.


Constructor & Destructor Documentation

llvm::LiveRangeInfo::LiveRangeInfo const Function F,
const TargetMachine tm,
std::vector< RegClass * > &  RCList
 

Definition at line 31 of file LiveRangeInfo.cpp.

llvm::LiveRangeInfo::~LiveRangeInfo  ) 
 

Destructor to destroy all LiveRanges in the LiveRange Map

Definition at line 36 of file LiveRangeInfo.cpp.


Member Function Documentation

void llvm::LiveRangeInfo::coalesceLRs  ) 
 

Method for coalescing live ranges. Called only after interference info is calculated.

Definition at line 320 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::SparcV9RegInfo::getRegTypeForLR(), llvm::InterfsPreventCoalescing(), llvm::MachineInstr::ValOpIterator< MITy, VTy >::isDef(), llvm::RegClass::mergeIGNodesOfLRs(), and llvm::RA_DEBUG_LiveRanges.

Referenced by llvm::PhyRegAlloc::runOnFunction().

void llvm::LiveRangeInfo::constructLiveRanges  ) 
 

Definition at line 146 of file LiveRangeInfo.cpp.

References llvm::Function::abegin(), llvm::Function::aend(), llvm::MachineInstr::begin(), llvm::MachineBasicBlock::begin(), llvm::MachineFunction::begin(), llvm::DEBUG_RA, llvm::MachineInstr::end(), llvm::MachineBasicBlock::end(), llvm::MachineFunction::end(), llvm::MachineFunction::get(), llvm::SparcV9RegInfo::getClassRegNum(), llvm::MachineInstr::getImplicitOp(), llvm::MachineInstr::getImplicitRef(), llvm::TargetMachine::getInstrInfo(), llvm::MachineInstr::getOpcode(), llvm::MachineOperand::getReg(), llvm::MachineOperand::hasAllocatedReg(), llvm::TargetInstrInfo::isCall(), llvm::MachineOperand::isDef(), llvm::TargetInstrInfo::isReturn(), llvm::MachineOperand::MO_CCRegister, llvm::RA_DEBUG_LiveRanges, and llvm::SparcV9RegInfo::suggestRegs4MethodArgs().

Referenced by llvm::PhyRegAlloc::runOnFunction().

const LiveRange* llvm::LiveRangeInfo::getLiveRangeForValue const Value Val  )  const [inline]
 

Definition at line 104 of file LiveRangeInfo.h.

References I.

LiveRange* 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.

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 399 of file LiveRangeInfo.cpp.

Referenced by llvm::PhyRegAlloc::runOnFunction().


The documentation for this class was generated from the following files: