LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | List of all members
llvm::ReadyQueue Class Reference

#include <MachineScheduler.h>

Public Types

typedef std::vector< SUnit * >
::iterator 
iterator
 

Public Member Functions

 ReadyQueue (unsigned id, const Twine &name)
 
unsigned getID () const
 
StringRef getName () const
 
bool isInQueue (SUnit *SU) const
 
bool empty () const
 
void clear ()
 
unsigned size () const
 
iterator begin ()
 
iterator end ()
 
ArrayRef< SUnit * > elements ()
 
iterator find (SUnit *SU)
 
void push (SUnit *SU)
 
iterator remove (iterator I)
 
void dump ()
 

Detailed Description

ReadyQueue encapsulates vector of "ready" SUnits with basic convenience methods for pushing and removing nodes. ReadyQueue's are uniquely identified by an ID. SUnit::NodeQueueId is a mask of the ReadyQueues the SUnit is in.

This is a convenience class that may be used by implementations of MachineSchedStrategy.

Definition at line 213 of file MachineScheduler.h.

Member Typedef Documentation

typedef std::vector<SUnit*>::iterator llvm::ReadyQueue::iterator

Definition at line 234 of file MachineScheduler.h.

Constructor & Destructor Documentation

llvm::ReadyQueue::ReadyQueue ( unsigned  id,
const Twine name 
)
inline

Definition at line 219 of file MachineScheduler.h.

Member Function Documentation

iterator llvm::ReadyQueue::begin ( )
inline
void llvm::ReadyQueue::clear ( )
inline

Definition at line 230 of file MachineScheduler.h.

void ReadyQueue::dump ( )

Definition at line 352 of file MachineScheduler.cpp.

References llvm::dbgs().

Referenced by llvm::ConvergingVLIWScheduler::pickNodeFromQueue().

ArrayRef<SUnit*> llvm::ReadyQueue::elements ( )
inline

Definition at line 240 of file MachineScheduler.h.

bool llvm::ReadyQueue::empty ( ) const
inline

Definition at line 228 of file MachineScheduler.h.

iterator llvm::ReadyQueue::end ( )
inline
iterator llvm::ReadyQueue::find ( SUnit SU)
inline

Definition at line 242 of file MachineScheduler.h.

unsigned llvm::ReadyQueue::getID ( ) const
inline

Definition at line 221 of file MachineScheduler.h.

Referenced by llvm::ConvergingVLIWScheduler::SchedulingCost().

StringRef llvm::ReadyQueue::getName ( ) const
inline

Definition at line 223 of file MachineScheduler.h.

Referenced by llvm::ConvergingVLIWScheduler::traceCandidate().

bool llvm::ReadyQueue::isInQueue ( SUnit SU) const
inline

Definition at line 226 of file MachineScheduler.h.

References llvm::SUnit::NodeQueueId.

void llvm::ReadyQueue::push ( SUnit SU)
inline

Definition at line 246 of file MachineScheduler.h.

References llvm::SUnit::NodeQueueId.

iterator llvm::ReadyQueue::remove ( iterator  I)
inline

Definition at line 251 of file MachineScheduler.h.

References I.

unsigned llvm::ReadyQueue::size ( ) const
inline

Definition at line 232 of file MachineScheduler.h.


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