llvm::ReadyQueue

Vector of ready SUnits with helpers for push and remove.

Synopsis

Declared in <llvm/CodeGen/MachineScheduler.h>

class ReadyQueue;

Description

ReadyQueues 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.

Type Aliases

NameDescription
iterator Iterator over the scheduling units in this ready queue.

Member Functions

NameDescription
ReadyQueue [constructor]Construct a ready queue with identifier id and name name.
begin Return an iterator to the first scheduling unit.
clear Remove all scheduling units from the ready queue.
dump Dump the contents of this ready queue to the debug stream.
elements Return the scheduling units as an ArrayRef.
empty Return true if the ready queue contains no units.
end Return a past-the-end iterator over scheduling units.
find Return an iterator to SU, or end() if it is not present.
getID Return the unique identifier of this ready queue.
getName Return the debug name of this ready queue.
isInQueue Return true if SU is currently in this queue.
push Append SU to the ready queue and mark its NodeQueueId.
remove Remove the unit at I and return an iterator to the next element.
size Return the number of scheduling units in the ready queue.