LLVM API Documentation

Public Member Functions
llvm::VirtRegAuxInfo Class Reference

#include <CalcSpillWeights.h>

List of all members.

Public Member Functions

 VirtRegAuxInfo (MachineFunction &mf, LiveIntervals &lis, const MachineLoopInfo &loops)
void CalculateWeightAndHint (LiveInterval &li)

Detailed Description

VirtRegAuxInfo - Calculate auxiliary information for a virtual register such as its spill weight and allocation hint.

Definition at line 42 of file CalcSpillWeights.h.


Constructor & Destructor Documentation

llvm::VirtRegAuxInfo::VirtRegAuxInfo ( MachineFunction mf,
LiveIntervals lis,
const MachineLoopInfo loops 
) [inline]

Definition at line 48 of file CalcSpillWeights.h.


Member Function Documentation

void VirtRegAuxInfo::CalculateWeightAndHint ( LiveInterval li)

CalculateWeightAndHint - (re)compute li's spill weight and allocation hint.

Definition at line 110 of file CalcSpillWeights.cpp.

References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::clear(), copyHint(), llvm::TargetMachine::getInstrInfo(), llvm::LoopBase< BlockT, LoopT >::getLoopDepth(), llvm::MachineLoopInfo::getLoopFor(), llvm::MachineInstr::getParent(), llvm::MachineRegisterInfo::getRegAllocationHint(), llvm::MachineFunction::getRegInfo(), llvm::TargetMachine::getRegisterInfo(), llvm::LiveInterval::getSize(), llvm::LiveIntervals::getSlotIndexes(), llvm::LiveIntervals::getSpillWeight(), llvm::MachineFunction::getTarget(), I, llvm::SmallPtrSet< PtrType, SmallSize >::insert(), llvm::MachineRegisterInfo::isAllocatable(), llvm::MachineInstr::isCopy(), llvm::MachineInstr::isDebugValue(), llvm::MachineInstr::isIdentityCopy(), llvm::MachineInstr::isImplicitDef(), llvm::LiveIntervals::isLiveOutOfMBB(), llvm::LoopBase< BlockT, LoopT >::isLoopExiting(), llvm::TargetRegisterInfo::isPhysicalRegister(), isRematerializable(), llvm::LiveInterval::isSpillable(), llvm::LiveInterval::isZeroLength(), llvm::LiveInterval::markNotSpillable(), llvm::normalizeSpillWeight(), llvm::MachineInstr::readsWritesVirtualRegister(), llvm::LiveInterval::reg, llvm::MachineRegisterInfo::reg_begin(), llvm::MachineRegisterInfo::setRegAllocationHint(), llvm::tie(), and llvm::LiveInterval::weight.

Referenced by llvm::LiveRangeEdit::calculateRegClassAndHint(), and llvm::CalculateSpillWeights::runOnMachineFunction().


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