LLVM API Documentation

llvm::LatencyPriorityQueue Class Reference

#include <LatencyPriorityQueue.h>

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

List of all members.

Public Member Functions

 LatencyPriorityQueue ()
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
unsigned size () const
bool empty () const
virtual void push (SUnit *U)
void push_impl (SUnit *U)
void push_all (const std::vector< SUnit * > &Nodes)
SUnit * pop ()
void remove (SUnit *SU)
void ScheduledNode (SUnit *Node)


Detailed Description

Definition at line 33 of file LatencyPriorityQueue.h.


Constructor & Destructor Documentation

llvm::LatencyPriorityQueue::LatencyPriorityQueue (  )  [inline]

Definition at line 45 of file LatencyPriorityQueue.h.


Member Function Documentation

void llvm::LatencyPriorityQueue::initNodes ( std::vector< SUnit > &  sunits  )  [inline, virtual]

Implements llvm::SchedulingPriorityQueue.

Definition at line 48 of file LatencyPriorityQueue.h.

void llvm::LatencyPriorityQueue::addNode ( const SUnit *  SU  )  [inline, virtual]

Implements llvm::SchedulingPriorityQueue.

Definition at line 53 of file LatencyPriorityQueue.h.

void llvm::LatencyPriorityQueue::updateNode ( const SUnit *  SU  )  [inline, virtual]

Implements llvm::SchedulingPriorityQueue.

Definition at line 57 of file LatencyPriorityQueue.h.

void llvm::LatencyPriorityQueue::releaseState (  )  [inline, virtual]

Implements llvm::SchedulingPriorityQueue.

Definition at line 60 of file LatencyPriorityQueue.h.

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

Definition at line 64 of file LatencyPriorityQueue.h.

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

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

Definition at line 69 of file LatencyPriorityQueue.h.

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

unsigned llvm::LatencyPriorityQueue::size (  )  const [inline, virtual]

Implements llvm::SchedulingPriorityQueue.

Definition at line 74 of file LatencyPriorityQueue.h.

bool llvm::LatencyPriorityQueue::empty (  )  const [inline, virtual]

Implements llvm::SchedulingPriorityQueue.

Definition at line 76 of file LatencyPriorityQueue.h.

Referenced by pop().

virtual void llvm::LatencyPriorityQueue::push ( SUnit *  U  )  [inline, virtual]

Implements llvm::SchedulingPriorityQueue.

Definition at line 78 of file LatencyPriorityQueue.h.

References push_impl().

void LatencyPriorityQueue::push_impl ( SUnit *  U  ) 

Definition at line 71 of file LatencyPriorityQueue.cpp.

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

Referenced by push(), and push_all().

void llvm::LatencyPriorityQueue::push_all ( const std::vector< SUnit * > &  Nodes  )  [inline, virtual]

Implements llvm::SchedulingPriorityQueue.

Definition at line 83 of file LatencyPriorityQueue.h.

References push_impl().

SUnit* llvm::LatencyPriorityQueue::pop (  )  [inline, virtual]

Implements llvm::SchedulingPriorityQueue.

Definition at line 88 of file LatencyPriorityQueue.h.

References empty(), and V.

void llvm::LatencyPriorityQueue::remove ( SUnit *  SU  )  [inline, virtual]

Implements llvm::SchedulingPriorityQueue.

Definition at line 95 of file LatencyPriorityQueue.h.

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 89 of file LatencyPriorityQueue.cpp.

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


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