LLVM API Documentation

llvm::HazardRecognizer Class Reference

#include <ScheduleDAG.h>

Inheritance diagram for llvm::HazardRecognizer:

Inheritance graph
[legend]
List of all members.

Public Types

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 ()

Detailed Description

HazardRecognizer - This determines whether or not an instruction can be issued this cycle, and whether or not a noop needs to be inserted to handle the hazard.

Definition at line 37 of file ScheduleDAG.h.


Member Enumeration Documentation

enum llvm::HazardRecognizer::HazardType

Enumerator:
NoHazard 
Hazard 
NoopHazard 

Definition at line 41 of file ScheduleDAG.h.


Constructor & Destructor Documentation

HazardRecognizer::~HazardRecognizer (  )  [virtual]

Definition at line 85 of file ScheduleDAGList.cpp.


Member Function Documentation

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 54 of file ScheduleDAG.h.

References NoHazard.

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 60 of file ScheduleDAG.h.

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 67 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 72 of file ScheduleDAG.h.


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