|
LLVM
3.7.0
|
Helpers for implementing custom MachineSchedStrategy classes. More...
#include <MachineScheduler.h>
Public Types | |
| typedef std::vector< SUnit * > ::iterator | 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 () |
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 474 of file MachineScheduler.h.
| typedef std::vector<SUnit*>::iterator llvm::ReadyQueue::iterator |
Definition at line 495 of file MachineScheduler.h.
Definition at line 480 of file MachineScheduler.h.
|
inline |
|
inline |
Definition at line 491 of file MachineScheduler.h.
Referenced by llvm::SchedBoundary::reset().
| LLVM_DUMP_METHOD void ReadyQueue::dump | ( | ) |
Definition at line 501 of file MachineScheduler.cpp.
References llvm::dbgs().
Referenced by llvm::ConvergingVLIWScheduler::pickNodeFromQueue(), llvm::GenericScheduler::pickNodeFromQueue(), llvm::PostGenericScheduler::pickNodeFromQueue(), and llvm::SchedBoundary::releasePending().
Definition at line 501 of file MachineScheduler.h.
Referenced by llvm::GenericSchedulerBase::setPolicy().
|
inline |
Definition at line 489 of file MachineScheduler.h.
Referenced by llvm::SchedBoundary::pickOnlyChoice(), and llvm::SchedBoundary::releasePending().
|
inline |
Definition at line 499 of file MachineScheduler.h.
Referenced by llvm::ConvergingVLIWScheduler::pickNodeFromQueue(), llvm::GenericScheduler::pickNodeFromQueue(), llvm::PostGenericScheduler::pickNodeFromQueue(), and llvm::SchedBoundary::pickOnlyChoice().
Definition at line 503 of file MachineScheduler.h.
Referenced by llvm::SchedBoundary::removeReady().
|
inline |
Definition at line 482 of file MachineScheduler.h.
Referenced by llvm::SchedBoundary::isTop(), and llvm::ConvergingVLIWScheduler::SchedulingCost().
|
inline |
Definition at line 484 of file MachineScheduler.h.
Referenced by llvm::SchedBoundary::bumpCycle(), llvm::SchedBoundary::bumpNode(), llvm::SchedBoundary::dumpScheduledState(), llvm::SchedBoundary::findMaxLatency(), llvm::SchedBoundary::getOtherResourceCount(), llvm::GenericSchedulerBase::setPolicy(), and llvm::ConvergingVLIWScheduler::traceCandidate().
Definition at line 487 of file MachineScheduler.h.
References llvm::SUnit::NodeQueueId.
Referenced by llvm::SchedBoundary::removeReady().
|
inline |
Definition at line 507 of file MachineScheduler.h.
References llvm::SUnit::NodeQueueId.
Referenced by llvm::SchedBoundary::pickOnlyChoice(), llvm::SchedBoundary::releaseNode(), and llvm::SchedBoundary::releasePending().
Definition at line 512 of file MachineScheduler.h.
References I.
Referenced by llvm::SchedBoundary::pickOnlyChoice(), llvm::SchedBoundary::releasePending(), and llvm::SchedBoundary::removeReady().
|
inline |
Definition at line 493 of file MachineScheduler.h.
Referenced by llvm::SchedBoundary::pickOnlyChoice(), and llvm::SchedBoundary::releasePending().
1.8.6