LLVM: llvm::SystemZHazardRecognizer Class Reference (original) (raw)

SystemZHazardRecognizer maintains the state for one MBB during scheduling. More...

#include "[Target/SystemZ/SystemZHazardRecognizer.h](SystemZHazardRecognizer%5F8h%5Fsource.html)"

Public Member Functions
SystemZHazardRecognizer (const SystemZInstrInfo *tii, const TargetSchedModel *SM)
HazardType getHazardType (SUnit *SU, int Stalls=0) override
getHazardType - Return the hazard type of emitting this node.
void Reset () override
Reset - This callback is invoked when a new block of instructions is about to be schedule.
void EmitInstruction (SUnit *SU) override
EmitInstruction - This callback is invoked when an instruction is emitted, to advance the hazard state.
const MCSchedClassDesc * getSchedClass (SUnit *SU) const
Resolves and cache a resolved scheduling class for an SUnit.
void emitInstruction (MachineInstr *MI, bool TakenBranch=false)
Wrap a non-scheduled instruction in an SU and emit it.
int groupingCost (SUnit *SU) const
Return the cost of decoder grouping for SU.
int resourcesCost (SUnit *SU)
Return the cost of SU in regards to processor resources usage.
void dumpSU (SUnit *SU, raw_ostream &OS) const
void dumpCurrGroup (std::string Msg="") const
void dumpProcResourceCounters () const
void dumpState () const
MachineBasicBlock::iterator getLastEmittedMI ()
void copyState (SystemZHazardRecognizer *Incoming)
Copy counters from end of single predecessor.
Public Member Functions inherited from llvm::ScheduleHazardRecognizer
ScheduleHazardRecognizer ()=default
virtual ~ScheduleHazardRecognizer ()
unsigned getMaxLookAhead () const
bool isEnabled () const
virtual bool atIssueLimit () const
atIssueLimit - Return true if no more instructions may be issued in this cycle.
virtual void EmitInstruction (MachineInstr *)
This overload will be used when the hazard recognizer is being used by a non-scheduling pass, which does not use SUnits.
virtual unsigned PreEmitNoops (SUnit *)
PreEmitNoops - This callback is invoked prior to emitting an instruction.
virtual unsigned PreEmitNoops (MachineInstr *)
This overload will be used when the hazard recognizer is being used by a non-scheduling pass, which does not use SUnits.
virtual bool ShouldPreferAnother (SUnit *)
ShouldPreferAnother - This callback may be invoked if getHazardType returns NoHazard.
virtual void AdvanceCycle ()
AdvanceCycle - This callback is invoked whenever the next top-down instruction to be scheduled cannot issue in the current cycle, either because of latency or resource conflicts.
virtual void RecedeCycle ()
RecedeCycle - This callback is invoked whenever the next bottom-up instruction to be scheduled cannot issue in the current cycle, either because of latency or resource conflicts.
virtual void EmitNoop ()
EmitNoop - This callback is invoked when a noop was added to the instruction stream.
virtual void EmitNoops (unsigned Quantity)
EmitNoops - This callback is invoked when noops were added to the instruction stream.
Public Attributes
std::string CurGroupDbg
Additional Inherited Members
Public Types inherited from llvm::ScheduleHazardRecognizer
enum HazardType { NoHazard, Hazard, NoopHazard }
Protected Attributes inherited from llvm::ScheduleHazardRecognizer
unsigned MaxLookAhead = 0
MaxLookAhead - Indicate the number of cycles in the scoreboard state.

SystemZHazardRecognizer maintains the state for one MBB during scheduling.

Definition at line 45 of file SystemZHazardRecognizer.h.

copyState()

dumpCurrGroup()

void SystemZHazardRecognizer::dumpCurrGroup ( std::string Msg = "" ) const

dumpProcResourceCounters()

void SystemZHazardRecognizer::dumpProcResourceCounters ( ) const

dumpState()

void SystemZHazardRecognizer::dumpState ( ) const

dumpSU()

EmitInstruction()

void SystemZHazardRecognizer::EmitInstruction ( SUnit * ) overridevirtual

EmitInstruction - This callback is invoked when an instruction is emitted, to advance the hazard state.

Reimplemented from llvm::ScheduleHazardRecognizer.

Definition at line 268 of file SystemZHazardRecognizer.cpp.

References assert(), CurGroupDbg, llvm::dbgs(), dumpCurrGroup(), dumpSU(), llvm::MCSchedClassDesc::EndGroup, llvm::SUnit::getInstr(), getSchedClass(), llvm::SUnit::isCall, llvm::SUnit::isUnbuffered, LLVM_DEBUG, ProcResCostLim, and Reset().

Referenced by emitInstruction().

emitInstruction()

void SystemZHazardRecognizer::emitInstruction ( MachineInstr * MI,
bool TakenBranch = false )

getHazardType()

getLastEmittedMI()

getSchedClass()

groupingCost()

int SystemZHazardRecognizer::groupingCost ( SUnit * SU ) const

Reset()

void SystemZHazardRecognizer::Reset ( ) overridevirtual

resourcesCost()

int SystemZHazardRecognizer::resourcesCost ( SUnit * SU )

CurGroupDbg

std::string llvm::SystemZHazardRecognizer::CurGroupDbg


The documentation for this class was generated from the following files: