LLVM: llvm::SchedulingPriorityQueue Class Reference (original ) (raw )This interface is used to plug different priorities computation algorithms into the list scheduler. More...
#include "[llvm/CodeGen/ScheduleDAG.h](ScheduleDAG%5F8h%5Fsource.html)"
This interface is used to plug different priorities computation algorithms into the list scheduler.
It implements the interface of a standard priority queue, where nodes are inserted in arbitrary order and returned in priority order. The computation of the priority and the representation of the queue are totally up to the implementation to decide.
Definition at line 523 of file ScheduleDAG.h .
llvm::SchedulingPriorityQueue::SchedulingPriorityQueue ( bool rf = false)
inline
◆ ~SchedulingPriorityQueue()
virtual llvm::SchedulingPriorityQueue::~SchedulingPriorityQueue ( )
virtualdefault
◆ addNode()
virtual void llvm::SchedulingPriorityQueue::addNode ( const SUnit * SU )
pure virtual
◆ dump()
virtual void llvm::SchedulingPriorityQueue::dump ( ScheduleDAG * ) const
inlinevirtual
◆ empty()
virtual bool llvm::SchedulingPriorityQueue::empty ( ) const
pure virtual
◆ getCurCycle()
unsigned llvm::SchedulingPriorityQueue::getCurCycle ( ) const
inline
◆ hasReadyFilter()
bool llvm::SchedulingPriorityQueue::hasReadyFilter ( ) const
inline
◆ initNodes()
virtual void llvm::SchedulingPriorityQueue::initNodes ( std::vector< SUnit > & SUnits )
pure virtual
◆ isBottomUp()
virtual bool llvm::SchedulingPriorityQueue::isBottomUp ( ) const
pure virtual
◆ isReady()
virtual bool llvm::SchedulingPriorityQueue::isReady ( SUnit * ) const
inlinevirtual
◆ pop()
virtual SUnit * llvm::SchedulingPriorityQueue::pop ( )
pure virtual
◆ push()
virtual void llvm::SchedulingPriorityQueue::push ( SUnit * U )
pure virtual
◆ push_all()
void llvm::SchedulingPriorityQueue::push_all ( const std::vector< SUnit * > & Nodes )
inline
◆ releaseState()
virtual void llvm::SchedulingPriorityQueue::releaseState ( )
pure virtual
◆ remove()
virtual void llvm::SchedulingPriorityQueue::remove ( SUnit * SU )
pure virtual
◆ scheduledNode()
virtual void llvm::SchedulingPriorityQueue::scheduledNode ( SUnit * )
inlinevirtual
◆ setCurCycle()
void llvm::SchedulingPriorityQueue::setCurCycle ( unsigned Cycle )
inline
◆ tracksRegPressure()
virtual bool llvm::SchedulingPriorityQueue::tracksRegPressure ( ) const
inlinevirtual
◆ unscheduledNode()
virtual void llvm::SchedulingPriorityQueue::unscheduledNode ( SUnit * )
inlinevirtual
◆ updateNode()
virtual void llvm::SchedulingPriorityQueue::updateNode ( const SUnit * SU )
pure virtual
The documentation for this class was generated from the following files: