|
LLVM
4.0.0
|
A MachineSchedStrategy implementation for SystemZ post RA scheduling. More...
#include <SystemZMachineScheduler.h>
Public Member Functions | |
| SystemZPostRASchedStrategy (const MachineSchedContext *C) | |
| bool | shouldTrackPressure () const override |
| PostRA scheduling does not track pressure. More... | |
| void | initialize (ScheduleDAGMI *dag) override |
| Initialize the strategy after building the DAG for a new region. More... | |
| SUnit * | pickNode (bool &IsTopNode) override |
| Pick the next node to schedule, or return NULL. More... | |
| void | schedNode (SUnit *SU, bool IsTopNode) override |
| ScheduleDAGMI has scheduled an instruction - tell HazardRec about it. More... | |
| void | releaseTopNode (SUnit *SU) override |
| SU has had all predecessor dependencies resolved. More... | |
| void | releaseBottomNode (SUnit *SU) override |
| Currently only scheduling top-down, so this method is empty. More... | |
Public Member Functions inherited from llvm::MachineSchedStrategy | |
| virtual | ~MachineSchedStrategy ()=default |
| virtual void | initPolicy (MachineBasicBlock::iterator Begin, MachineBasicBlock::iterator End, unsigned NumRegionInstrs) |
| Optionally override the per-region scheduling policy. More... | |
| virtual void | dumpPolicy () |
| virtual bool | shouldTrackLaneMasks () const |
| Returns true if lanemasks should be tracked. More... | |
| virtual void | registerRoots () |
| Notify this strategy that all roots have been released (including those that depend on EntrySU or ExitSU). More... | |
| virtual void | scheduleTree (unsigned SubtreeID) |
| Scheduler callback to notify that a new subtree is scheduled. More... | |
A MachineSchedStrategy implementation for SystemZ post RA scheduling.
Definition at line 30 of file SystemZMachineScheduler.h.
| SystemZPostRASchedStrategy::SystemZPostRASchedStrategy | ( | const MachineSchedContext * | C | ) |
Definition at line 38 of file SystemZMachineScheduler.cpp.
|
overridevirtual |
Initialize the strategy after building the DAG for a new region.
Implements llvm::MachineSchedStrategy.
Definition at line 41 of file SystemZMachineScheduler.cpp.
References llvm::SystemZHazardRecognizer::Reset(), and llvm::SystemZHazardRecognizer::setDAG().
Pick the next node to schedule, or return NULL.
Implements llvm::MachineSchedStrategy.
Definition at line 48 of file SystemZMachineScheduler.cpp.
References assert(), llvm::dbgs(), DEBUG, and llvm::SystemZHazardRecognizer::dumpSU().
|
inlineoverridevirtual |
Currently only scheduling top-down, so this method is empty.
Implements llvm::MachineSchedStrategy.
Definition at line 107 of file SystemZMachineScheduler.h.
|
overridevirtual |
SU has had all predecessor dependencies resolved.
Put it into Available.
Implements llvm::MachineSchedStrategy.
Definition at line 144 of file SystemZMachineScheduler.cpp.
References llvm::MCSchedClassDesc::BeginGroup, llvm::MCSchedClassDesc::EndGroup, llvm::ScheduleDAGInstrs::getSchedClass(), llvm::SUnit::isScheduleHigh, llvm::SUnit::isUnbuffered, llvm::MCSchedClassDesc::isValid(), and llvm::PPCISD::SC.
ScheduleDAGMI has scheduled an instruction - tell HazardRec about it.
Implements llvm::MachineSchedStrategy.
Definition at line 136 of file SystemZMachineScheduler.cpp.
References llvm::dbgs(), DEBUG, llvm::SystemZHazardRecognizer::EmitInstruction(), and llvm::SUnit::NodeNum.
|
inlineoverridevirtual |
PostRA scheduling does not track pressure.
Reimplemented from llvm::MachineSchedStrategy.
Definition at line 90 of file SystemZMachineScheduler.h.
1.8.6