LLVM API Documentation
#include <CalcSpillWeights.h>
Public Member Functions | |
| VirtRegAuxInfo (MachineFunction &mf, LiveIntervals &lis, const MachineLoopInfo &loops) | |
| void | CalculateWeightAndHint (LiveInterval &li) |
VirtRegAuxInfo - Calculate auxiliary information for a virtual register such as its spill weight and allocation hint.
Definition at line 42 of file CalcSpillWeights.h.
| llvm::VirtRegAuxInfo::VirtRegAuxInfo | ( | MachineFunction & | mf, |
| LiveIntervals & | lis, | ||
| const MachineLoopInfo & | loops | ||
| ) | [inline] |
Definition at line 48 of file CalcSpillWeights.h.
| 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().