LLVM
8.0.1
|
Helpers for implementing custom MachineSchedStrategy classes. More...
#include "llvm/CodeGen/MachineScheduler.h"
Public Types | |
using | iterator = std::vector< SUnit * >::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 () const |
Helpers for implementing custom MachineSchedStrategy classes.
These take care of the book-keeping associated with list scheduling heuristics.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 542 of file MachineScheduler.h.
using llvm::ReadyQueue::iterator = std::vector<SUnit*>::iterator |
Definition at line 563 of file MachineScheduler.h.
Definition at line 548 of file MachineScheduler.h.
|
inline |
Definition at line 565 of file MachineScheduler.h.
Referenced by llvm::ConvergingVLIWScheduler::pickNodeFromQueue(), and llvm::ConvergingVLIWScheduler::readyQueueVerboseDump().
|
inline |
Definition at line 559 of file MachineScheduler.h.
LLVM_DUMP_METHOD void ReadyQueue::dump | ( | ) | const |
Definition at line 591 of file MachineScheduler.cpp.
References llvm::dbgs(), Name, and llvm::ScheduleDAGMI::~ScheduleDAGMI().
Referenced by llvm::ConvergingVLIWScheduler::pickNodeFromQueue().
Definition at line 569 of file MachineScheduler.h.
Referenced by computeRemLatency().
|
inline |
Definition at line 557 of file MachineScheduler.h.
Referenced by llvm::GCNMaxOccupancySchedStrategy::pickNode().
|
inline |
Definition at line 567 of file MachineScheduler.h.
Referenced by llvm::ConvergingVLIWScheduler::pickNodeFromQueue(), and llvm::ConvergingVLIWScheduler::readyQueueVerboseDump().
Definition at line 571 of file MachineScheduler.h.
References llvm::find().
|
inline |
Definition at line 550 of file MachineScheduler.h.
Referenced by llvm::SchedBoundary::isTop(), llvm::ConvergingVLIWScheduler::pickNodeFromQueue(), and llvm::ConvergingVLIWScheduler::SchedulingCost().
|
inline |
Definition at line 552 of file MachineScheduler.h.
References Name.
Referenced by llvm::ConvergingVLIWScheduler::readyQueueVerboseDump(), llvm::GenericSchedulerBase::setPolicy(), and llvm::ConvergingVLIWScheduler::traceCandidate().
Definition at line 555 of file MachineScheduler.h.
References llvm::SUnit::NodeQueueId.
|
inline |
Definition at line 573 of file MachineScheduler.h.
References llvm::SUnit::NodeQueueId.
Definition at line 578 of file MachineScheduler.h.
References llvm::dump(), and I.
|
inline |
Definition at line 561 of file MachineScheduler.h.