LLVM API Documentation

llvm::SchedulingPriorityQueue Class Reference

#include <ScheduleDAG.h>

List of all members.

Public Member Functions

virtual ~SchedulingPriorityQueue ()
virtual void initNodes (const std::vector< SUnit > &SUnits)=0
virtual void releaseState ()=0
virtual bool empty () const=0
virtual void push (SUnit *U)=0
virtual void push_all (const std::vector< SUnit * > &Nodes)=0
virtual SUnitpop ()=0
virtual void ScheduledNode (SUnit *Node)


Detailed Description

SchedulingPriorityQueue - 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 125 of file ScheduleDAG.h.


Constructor & Destructor Documentation

virtual llvm::SchedulingPriorityQueue::~SchedulingPriorityQueue (  )  [inline, virtual]

Definition at line 127 of file ScheduleDAG.h.


Member Function Documentation

virtual void llvm::SchedulingPriorityQueue::initNodes ( const std::vector< SUnit > &  SUnits  )  [pure virtual]

virtual void llvm::SchedulingPriorityQueue::releaseState (  )  [pure virtual]

virtual bool llvm::SchedulingPriorityQueue::empty (  )  const [pure virtual]

virtual void llvm::SchedulingPriorityQueue::push ( SUnit U  )  [pure virtual]

virtual void llvm::SchedulingPriorityQueue::push_all ( const std::vector< SUnit * > &  Nodes  )  [pure virtual]

virtual SUnit* llvm::SchedulingPriorityQueue::pop (  )  [pure virtual]

virtual void llvm::SchedulingPriorityQueue::ScheduledNode ( SUnit Node  )  [inline, virtual]

ScheduledNode - As each node is scheduled, this method is invoked. This allows the priority function to adjust the priority of node that have already been emitted.

Definition at line 141 of file ScheduleDAG.h.


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