Go to the documentation of this file.
14 #ifndef LLVM_CODEGEN_MULTIHAZARDRECOGNIZER_H
15 #define LLVM_CODEGEN_MULTIHAZARDRECOGNIZER_H
34 void Reset()
override;
47 #endif // LLVM_CODEGEN_MULTIHAZARDRECOGNIZER_H
This is an optimization pass for GlobalISel generic memory operations.
HazardType getHazardType(SUnit *, int Stalls=0) override
getHazardType - Return the hazard type of emitting this node.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
MultiHazardRecognizer()=default
void EmitInstruction(SUnit *) override
EmitInstruction - This callback is invoked when an instruction is emitted, to advance the hazard stat...
bool atIssueLimit() const override
atIssueLimit - Return true if no more instructions may be issued in this cycle.
void Reset() override
Reset - This callback is invoked when a new block of instructions is about to be schedule.
Representation of each machine instruction.
void RecedeCycle() override
RecedeCycle - This callback is invoked whenever the next bottom-up instruction to be scheduled cannot...
void EmitNoop() override
EmitNoop - This callback is invoked when a noop was added to the instruction stream.
unsigned PreEmitNoops(SUnit *) override
PreEmitNoops - This callback is invoked prior to emitting an instruction.
Scheduling unit. This is a node in the scheduling DAG.
HazardRecognizer - This determines whether or not an instruction can be issued this cycle,...
void AdvanceCycle() override
AdvanceCycle - This callback is invoked whenever the next top-down instruction to be scheduled cannot...
void AddHazardRecognizer(std::unique_ptr< ScheduleHazardRecognizer > &&)
bool ShouldPreferAnother(SUnit *) override
ShouldPreferAnother - This callback may be invoked if getHazardType returns NoHazard.