LLVM: llvm::ResourcePriorityQueue Class Reference (original) (raw)
#include "[llvm/CodeGen/ResourcePriorityQueue.h](ResourcePriorityQueue%5F8h%5Fsource.html)"
Definition at line 37 of file ResourcePriorityQueue.h.
◆ ~ResourcePriorityQueue()
| ResourcePriorityQueue::~ResourcePriorityQueue ( ) |
overridedefault |
◆ addNode()
| void llvm::ResourcePriorityQueue::addNode ( const SUnit * SU) |
inlineoverridevirtual |
◆ empty()
| bool llvm::ResourcePriorityQueue::empty ( ) const |
inlineoverridevirtual |
◆ getLatency()
| unsigned llvm::ResourcePriorityQueue::getLatency ( unsigned NodeNum) const |
inline |
◆ getNumSolelyBlockNodes()
| unsigned llvm::ResourcePriorityQueue::getNumSolelyBlockNodes ( unsigned NodeNum) const |
inline |
◆ initNodes()
| void ResourcePriorityQueue::initNodes ( std::vector< SUnit > & sunits) |
overridevirtual |
◆ initNumRegDefsLeft()
| void ResourcePriorityQueue::initNumRegDefsLeft |
( |
SUnit * |
SU |
) |
◆ isBottomUp()
| bool llvm::ResourcePriorityQueue::isBottomUp ( ) const |
inlineoverridevirtual |
◆ isResourceAvailable()
| bool ResourcePriorityQueue::isResourceAvailable |
( |
SUnit * |
SU |
) |
◆ pop()
| SUnit * ResourcePriorityQueue::pop ( ) |
overridevirtual |
◆ push()
| void ResourcePriorityQueue::push ( SUnit * U) |
overridevirtual |
◆ rawRegPressureDelta()
| int ResourcePriorityQueue::rawRegPressureDelta |
( |
SUnit * |
SU, |
| unsigned |
RCId ) |
|
|
◆ regPressureDelta()
| int ResourcePriorityQueue::regPressureDelta |
( |
SUnit * |
SU, |
| bool |
RawPressure = false ) |
|
|
◆ releaseState()
| void llvm::ResourcePriorityQueue::releaseState ( ) |
inlineoverridevirtual |
◆ remove()
| void ResourcePriorityQueue::remove ( SUnit * SU) |
overridevirtual |
◆ reserveResources()
| void ResourcePriorityQueue::reserveResources |
( |
SUnit * |
SU |
) |
◆ scheduledNode()
| void ResourcePriorityQueue::scheduledNode ( SUnit * SU) |
overridevirtual |
scheduledNode - Main resource tracking point.
Main resource tracking point.
Reimplemented from llvm::SchedulingPriorityQueue.
Definition at line 461 of file ResourcePriorityQueue.cpp.
References llvm::TargetRegisterClass::getID(), llvm::SUnit::getNode(), llvm::SDNode::getNumOperands(), llvm::SDNode::getNumValues(), llvm::SDNode::getOperand(), llvm::SDNode::getSimpleValueType(), llvm::SDep::getSUnit(), llvm::SDep::isCtrl(), llvm::SDNode::isMachineOpcode(), numberCtrlDepsInSU(), numberCtrlPredInSU(), llvm::SUnit::NumPreds, llvm::SUnit::NumRegDefsLeft, llvm::SUnit::Preds, reserveResources(), and llvm::SUnit::Succs.
◆ SUSchedulingCost()
| int ResourcePriorityQueue::SUSchedulingCost |
( |
SUnit * |
SU |
) |
Single cost function reflecting benefit of scheduling SU in the current cycle.
Returns single number reflecting benefit of scheduling SU in the current cycle.
Definition at line 390 of file ResourcePriorityQueue.cpp.
References llvm::ISD::CopyFromReg, llvm::ISD::CopyToReg, FactorOne, llvm::SUnit::getHeight(), llvm::SUnit::getNode(), llvm::MCInstrDesc::isCall(), isResourceAvailable(), llvm::SUnit::isScheduled, llvm::SUnit::isScheduleHigh, N, llvm::SUnit::NodeNum, PriorityFour, PriorityOne, PriorityThree, PriorityTwo, regPressureDelta(), RegPressureThreshold, ScaleOne, ScaleThree, ScaleTwo, and llvm::ISD::TokenFactor.
Referenced by pop().
◆ updateNode()
| void llvm::ResourcePriorityQueue::updateNode ( const SUnit * SU) |
inlineoverridevirtual |
The documentation for this class was generated from the following files: