LLVM: llvm::AArch64PostRASchedStrategy Class Reference (original) (raw)
A MachineSchedStrategy implementation for AArch64 post RA scheduling. More...
#include "[Target/AArch64/AArch64MachineScheduler.h](AArch64MachineScheduler%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| AArch64PostRASchedStrategy (const MachineSchedContext *C) | |
| Public Member Functions inherited from llvm::PostGenericScheduler | |
| PostGenericScheduler (const MachineSchedContext *C) | |
| ~PostGenericScheduler () override=default | |
| void | initPolicy (MachineBasicBlock::iterator Begin, MachineBasicBlock::iterator End, unsigned NumRegionInstrs) override |
| Optionally override the per-region scheduling policy. | |
| bool | shouldTrackPressure () const override |
| PostRA scheduling does not track pressure. | |
| void | initialize (ScheduleDAGMI *Dag) override |
| Initialize the strategy after building the DAG for a new region. | |
| void | registerRoots () override |
| Notify this strategy that all roots have been released (including those that depend on EntrySU or ExitSU). | |
| SUnit * | pickNode (bool &IsTopNode) override |
| Pick the next node to schedule. | |
| SUnit * | pickNodeBidirectional (bool &IsTopNode) |
| Pick the best candidate node from either the top or bottom queue. | |
| void | scheduleTree (unsigned SubtreeID) override |
| Scheduler callback to notify that a new subtree is scheduled. | |
| void | schedNode (SUnit *SU, bool IsTopNode) override |
| Called after ScheduleDAGMI has scheduled an instruction and updated scheduled/remaining flags in the DAG nodes. | |
| void | releaseTopNode (SUnit *SU) override |
| When all predecessor dependencies have been resolved, free this node for top-down scheduling. | |
| void | releaseBottomNode (SUnit *SU) override |
| When all successor dependencies have been resolved, free this node for bottom-up scheduling. | |
| Public Member Functions inherited from llvm::MachineSchedStrategy | |
| virtual | ~MachineSchedStrategy ()=default |
| virtual void | dumpPolicy () const |
| virtual bool | shouldTrackLaneMasks () const |
| Returns true if lanemasks should be tracked. | |
| virtual bool | doMBBSchedRegionsTopDown () const |
| virtual void | enterMBB (MachineBasicBlock *MBB) |
| Tell the strategy that MBB is about to be processed. | |
| virtual void | leaveMBB () |
| Tell the strategy that current MBB is done. |
| Protected Member Functions | |
|---|---|
| bool | tryCandidate (SchedCandidate &Cand, SchedCandidate &TryCand) override |
| Apply a set of heuristics to a new candidate for PostRA scheduling. | |
| Protected Member Functions inherited from llvm::PostGenericScheduler | |
| void | pickNodeFromQueue (SchedBoundary &Zone, SchedCandidate &Cand) |
| Protected Member Functions inherited from llvm::GenericSchedulerBase | |
| GenericSchedulerBase (const MachineSchedContext *C) | |
| LLVM_ABI void | setPolicy (CandPolicy &Policy, bool IsPostRA, SchedBoundary &CurrZone, SchedBoundary *OtherZone) |
| Set the CandPolicy given a scheduling zone given the current resources and latencies inside and outside the zone. | |
| MachineSchedPolicy | getPolicy () const override |
| void | traceCandidate (const SchedCandidate &Cand) |
A MachineSchedStrategy implementation for AArch64 post RA scheduling.
Definition at line 21 of file AArch64MachineScheduler.h.
◆ tryCandidate()
The documentation for this class was generated from the following files:
- lib/Target/AArch64/AArch64MachineScheduler.h
- lib/Target/AArch64/AArch64MachineScheduler.cpp