LLVM 20.0.0git
|
#include "llvm/CodeGen/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 |
LLVM_DUMP_METHOD void | dump (ScheduleDAG *DAG) const override |
void | scheduledNode (SUnit *SU) override |
As each node is scheduled, this method is invoked. | |
Public Member Functions inherited from llvm::SchedulingPriorityQueue | |
SchedulingPriorityQueue (bool rf=false) | |
virtual | ~SchedulingPriorityQueue ()=default |
virtual bool | isBottomUp () const =0 |
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 bool | empty () const =0 |
bool | hasReadyFilter () const |
virtual bool | tracksRegPressure () const |
virtual bool | isReady (SUnit *) const |
virtual void | push (SUnit *U)=0 |
void | push_all (const std::vector< SUnit * > &Nodes) |
virtual SUnit * | pop ()=0 |
virtual void | remove (SUnit *SU)=0 |
virtual void | dump (ScheduleDAG *) const |
virtual void | scheduledNode (SUnit *) |
As each node is scheduled, this method is invoked. | |
virtual void | unscheduledNode (SUnit *) |
void | setCurCycle (unsigned Cycle) |
unsigned | getCurCycle () const |
Definition at line 32 of file LatencyPriorityQueue.h.
|
inline |
Definition at line 47 of file LatencyPriorityQueue.h.
Implements llvm::SchedulingPriorityQueue.
Definition at line 57 of file LatencyPriorityQueue.h.
|
overridevirtual |
Reimplemented from llvm::SchedulingPriorityQueue.
Definition at line 139 of file LatencyPriorityQueue.cpp.
References llvm::dbgs(), and llvm::ScheduleDAG::dumpNode().
|
inlineoverridevirtual |
Implements llvm::SchedulingPriorityQueue.
Definition at line 78 of file LatencyPriorityQueue.h.
Referenced by pop().
Definition at line 68 of file LatencyPriorityQueue.h.
References assert().
Referenced by llvm::latency_sort::operator()().
Definition at line 73 of file LatencyPriorityQueue.h.
References assert().
Referenced by llvm::latency_sort::operator()().
|
inlineoverridevirtual |
Implements llvm::SchedulingPriorityQueue.
Definition at line 52 of file LatencyPriorityQueue.h.
|
inlineoverridevirtual |
Implements llvm::SchedulingPriorityQueue.
Definition at line 50 of file LatencyPriorityQueue.h.
|
overridevirtual |
Implements llvm::SchedulingPriorityQueue.
Definition at line 115 of file LatencyPriorityQueue.cpp.
References empty(), I, and std::swap().
|
overridevirtual |
Implements llvm::SchedulingPriorityQueue.
Definition at line 72 of file LatencyPriorityQueue.cpp.
References llvm::SDep::getSUnit(), llvm::SUnit::NodeNum, and llvm::SUnit::Succs.
|
inlineoverridevirtual |
Implements llvm::SchedulingPriorityQueue.
Definition at line 64 of file LatencyPriorityQueue.h.
|
overridevirtual |
Implements llvm::SchedulingPriorityQueue.
Definition at line 129 of file LatencyPriorityQueue.cpp.
References assert(), llvm::find(), I, and std::swap().
|
overridevirtual |
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 llvm::SDep::getSUnit(), and llvm::SUnit::Succs.
Implements llvm::SchedulingPriorityQueue.
Definition at line 61 of file LatencyPriorityQueue.h.