LLVM API Documentation

llvm::SchedulingPriorityQueue Class Reference

#include <ScheduleDAG.h>

Inheritance diagram for llvm::SchedulingPriorityQueue:

Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual ~SchedulingPriorityQueue ()
virtual void initNodes (std::vector< SUnit > &SUnits)=0
virtual void addNode (const SUnit *SU)=0
virtual void updateNode (const SUnit *SU)=0
virtual void releaseState ()=0
virtual unsigned size () const =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 remove (SUnit *SU)=0
virtual void ScheduledNode (SUnit *)
virtual void UnscheduledNode (SUnit *)


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


Constructor & Destructor Documentation

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

Definition at line 391 of file ScheduleDAG.h.


Member Function Documentation

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

Implemented in llvm::LatencyPriorityQueue.

virtual void llvm::SchedulingPriorityQueue::addNode ( const SUnit SU  )  [pure virtual]

Implemented in llvm::LatencyPriorityQueue.

virtual void llvm::SchedulingPriorityQueue::updateNode ( const SUnit SU  )  [pure virtual]

Implemented in llvm::LatencyPriorityQueue.

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

Implemented in llvm::LatencyPriorityQueue.

virtual unsigned llvm::SchedulingPriorityQueue::size (  )  const [pure virtual]

Implemented in llvm::LatencyPriorityQueue.

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

Implemented in llvm::LatencyPriorityQueue.

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

Implemented in llvm::LatencyPriorityQueue.

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

Implemented in llvm::LatencyPriorityQueue.

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

Implemented in llvm::LatencyPriorityQueue.

virtual void llvm::SchedulingPriorityQueue::remove ( SUnit SU  )  [pure virtual]

Implemented in llvm::LatencyPriorityQueue.

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

ScheduledNode - As each node is scheduled, this method is invoked. This allows the priority function to adjust the priority of related unscheduled nodes, for example.

Reimplemented in llvm::LatencyPriorityQueue.

Definition at line 411 of file ScheduleDAG.h.

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

Definition at line 413 of file ScheduleDAG.h.


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



This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.