LLVM API Documentation
#include <LatencyPriorityQueue.h>
Public Member Functions | |
LatencyPriorityQueue () | |
bool | isBottomUp () const override |
void | initNodes (std::vector< SUnit > &sunits) override |
void | addNode (const SUnit *SU) override |
void | updateNode (const SUnit *SU) override |
void | releaseState () override |
unsigned | getLatency (unsigned NodeNum) const |
unsigned | getNumSolelyBlockNodes (unsigned NodeNum) const |
bool | empty () const override |
void | push (SUnit *U) override |
SUnit * | pop () override |
void | remove (SUnit *SU) override |
void | dump (ScheduleDAG *DAG) const override |
void | scheduledNode (SUnit *Node) override |
Definition at line 32 of file LatencyPriorityQueue.h.
llvm::LatencyPriorityQueue::LatencyPriorityQueue | ( | ) | [inline] |
Definition at line 47 of file LatencyPriorityQueue.h.
void llvm::LatencyPriorityQueue::addNode | ( | const SUnit * | SU | ) | [inline, override, virtual] |
Implements llvm::SchedulingPriorityQueue.
Definition at line 57 of file LatencyPriorityQueue.h.
void LatencyPriorityQueue::dump | ( | ScheduleDAG * | DAG | ) | const [override, virtual] |
Reimplemented from llvm::SchedulingPriorityQueue.
Definition at line 145 of file LatencyPriorityQueue.cpp.
References llvm::dbgs(), llvm::SUnit::dump(), empty(), llvm::SUnit::getHeight(), and pop().
bool llvm::LatencyPriorityQueue::empty | ( | ) | const [inline, override, virtual] |
Implements llvm::SchedulingPriorityQueue.
Definition at line 78 of file LatencyPriorityQueue.h.
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 | ) | [inline, override, virtual] |
Implements llvm::SchedulingPriorityQueue.
Definition at line 52 of file LatencyPriorityQueue.h.
bool llvm::LatencyPriorityQueue::isBottomUp | ( | ) | const [inline, override, virtual] |
Implements llvm::SchedulingPriorityQueue.
Definition at line 50 of file LatencyPriorityQueue.h.
SUnit * LatencyPriorityQueue::pop | ( | ) | [override, virtual] |
Implements llvm::SchedulingPriorityQueue.
Definition at line 120 of file LatencyPriorityQueue.cpp.
References empty(), I, and std::swap().
Referenced by dump().
void LatencyPriorityQueue::push | ( | SUnit * | U | ) | [override, virtual] |
Implements llvm::SchedulingPriorityQueue.
Definition at line 73 of file LatencyPriorityQueue.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::SmallVectorTemplateCommon< T, typename >::end(), I, llvm::SUnit::NodeNum, and llvm::SUnit::Succs.
void llvm::LatencyPriorityQueue::releaseState | ( | ) | [inline, override, virtual] |
Implements llvm::SchedulingPriorityQueue.
Definition at line 64 of file LatencyPriorityQueue.h.
void LatencyPriorityQueue::remove | ( | SUnit * | SU | ) | [override, virtual] |
Implements llvm::SchedulingPriorityQueue.
Definition at line 134 of file LatencyPriorityQueue.cpp.
References I, and std::swap().
void LatencyPriorityQueue::scheduledNode | ( | SUnit * | ) | [override, 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 92 of file LatencyPriorityQueue.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::SmallVectorTemplateCommon< T, typename >::end(), I, and llvm::SUnit::Succs.
void llvm::LatencyPriorityQueue::updateNode | ( | const SUnit * | SU | ) | [inline, override, virtual] |
Implements llvm::SchedulingPriorityQueue.
Definition at line 61 of file LatencyPriorityQueue.h.