LLVM API Documentation

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

#include <LatencyPriorityQueue.h>

Inheritance diagram for llvm::LatencyPriorityQueue:
Inheritance graph
[legend]
Collaboration diagram for llvm::LatencyPriorityQueue:
Collaboration graph
[legend]

Public Member Functions

 LatencyPriorityQueue ()
 
bool isBottomUp () const
 
void initNodes (std::vector< SUnit > &sunits)
 
void addNode (const SUnit *SU)
 
void updateNode (const SUnit *SU)
 
void releaseState ()
 
unsigned getLatency (unsigned NodeNum) const
 
unsigned getNumSolelyBlockNodes (unsigned NodeNum) const
 
bool empty () const
 
virtual void push (SUnit *U)
 
virtual SUnitpop ()
 
virtual void remove (SUnit *SU)
 
virtual void dump (ScheduleDAG *DAG) const
 
void scheduledNode (SUnit *Node)
 
- Public Member Functions inherited from llvm::SchedulingPriorityQueue
 SchedulingPriorityQueue (bool rf=false)
 
virtual ~SchedulingPriorityQueue ()
 
bool hasReadyFilter () const
 
virtual bool tracksRegPressure () const
 
virtual bool isReady (SUnit *) const
 
void push_all (const std::vector< SUnit * > &Nodes)
 
virtual void unscheduledNode (SUnit *)
 
void setCurCycle (unsigned Cycle)
 
unsigned getCurCycle () const
 

Detailed Description

Definition at line 32 of file LatencyPriorityQueue.h.

Constructor & Destructor Documentation

llvm::LatencyPriorityQueue::LatencyPriorityQueue ( )
inline

Definition at line 47 of file LatencyPriorityQueue.h.

Member Function Documentation

void llvm::LatencyPriorityQueue::addNode ( const SUnit SU)
inlinevirtual

Implements llvm::SchedulingPriorityQueue.

Definition at line 57 of file LatencyPriorityQueue.h.

void LatencyPriorityQueue::dump ( ScheduleDAG DAG) const
virtual
bool llvm::LatencyPriorityQueue::empty ( ) const
inlinevirtual

Implements llvm::SchedulingPriorityQueue.

Definition at line 78 of file LatencyPriorityQueue.h.

Referenced by dump(), and pop().

unsigned llvm::LatencyPriorityQueue::getLatency ( unsigned  NodeNum) const
inline

Definition at line 68 of file LatencyPriorityQueue.h.

Referenced by llvm::latency_sort::operator()().

unsigned llvm::LatencyPriorityQueue::getNumSolelyBlockNodes ( unsigned  NodeNum) const
inline

Definition at line 73 of file LatencyPriorityQueue.h.

Referenced by llvm::latency_sort::operator()().

void llvm::LatencyPriorityQueue::initNodes ( std::vector< SUnit > &  sunits)
inlinevirtual

Implements llvm::SchedulingPriorityQueue.

Definition at line 52 of file LatencyPriorityQueue.h.

bool llvm::LatencyPriorityQueue::isBottomUp ( ) const
inlinevirtual

Implements llvm::SchedulingPriorityQueue.

Definition at line 50 of file LatencyPriorityQueue.h.

SUnit * LatencyPriorityQueue::pop ( )
virtual

Implements llvm::SchedulingPriorityQueue.

Definition at line 119 of file LatencyPriorityQueue.cpp.

References empty(), I, llvm::next(), llvm::prior(), and std::swap().

Referenced by dump().

void LatencyPriorityQueue::push ( SUnit U)
virtual

Implements llvm::SchedulingPriorityQueue.

Definition at line 72 of file LatencyPriorityQueue.cpp.

References I, llvm::SUnit::NodeNum, and llvm::SUnit::Succs.

void llvm::LatencyPriorityQueue::releaseState ( )
inlinevirtual

Implements llvm::SchedulingPriorityQueue.

Definition at line 64 of file LatencyPriorityQueue.h.

void LatencyPriorityQueue::remove ( SUnit SU)
virtual

Implements llvm::SchedulingPriorityQueue.

Definition at line 133 of file LatencyPriorityQueue.cpp.

References I, llvm::prior(), and std::swap().

void LatencyPriorityQueue::scheduledNode ( SUnit )
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 from llvm::SchedulingPriorityQueue.

Definition at line 91 of file LatencyPriorityQueue.cpp.

References I, and llvm::SUnit::Succs.

void llvm::LatencyPriorityQueue::updateNode ( const SUnit SU)
inlinevirtual

Implements llvm::SchedulingPriorityQueue.

Definition at line 61 of file LatencyPriorityQueue.h.


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