LLVM API Documentation
#include <ScheduleDAG.h>
Inheritance diagram for llvm::HazardRecognizer:
Public Types | |
NoHazard | |
Hazard | |
NoopHazard | |
enum | HazardType { NoHazard, Hazard, NoopHazard } |
Public Member Functions | |
virtual | ~HazardRecognizer () |
virtual HazardType | getHazardType (SDNode *Node) |
virtual void | EmitInstruction (SDNode *Node) |
virtual void | AdvanceCycle () |
virtual void | EmitNoop () |
Definition at line 35 of file ScheduleDAG.h.
HazardRecognizer::~HazardRecognizer | ( | ) | [virtual] |
Definition at line 218 of file ScheduleDAGList.cpp.
virtual void llvm::HazardRecognizer::AdvanceCycle | ( | ) | [inline, virtual] |
AdvanceCycle - This callback is invoked when no instructions can be issued on this cycle without a hazard. This should increment the internal state of the hazard recognizer so that previously "Hazard" instructions will now not be hazards.
Reimplemented in llvm::PPCHazardRecognizer970.
Definition at line 65 of file ScheduleDAG.h.
virtual void llvm::HazardRecognizer::EmitInstruction | ( | SDNode * | Node | ) | [inline, virtual] |
EmitInstruction - This callback is invoked when an instruction is emitted, to advance the hazard state.
Reimplemented in llvm::PPCHazardRecognizer970.
Definition at line 58 of file ScheduleDAG.h.
virtual void llvm::HazardRecognizer::EmitNoop | ( | ) | [inline, virtual] |
EmitNoop - This callback is invoked when a noop was added to the instruction stream.
Reimplemented in llvm::PPCHazardRecognizer970.
Definition at line 70 of file ScheduleDAG.h.
virtual HazardType llvm::HazardRecognizer::getHazardType | ( | SDNode * | Node | ) | [inline, virtual] |
getHazardType - Return the hazard type of emitting this node. There are three possible results. Either: NoHazard: it is legal to issue this instruction on this cycle. Hazard: issuing this instruction would stall the machine. If some other instruction is available, issue it first. NoopHazard: issuing this instruction would break the program. If some other instruction can be issued, do so, otherwise issue a noop.
Reimplemented in llvm::PPCHazardRecognizer970.
Definition at line 52 of file ScheduleDAG.h.
References NoHazard.