LLVM API Documentation

llvm::ScheduleHazardRecognizer Class Reference

#include <ScheduleHazardRecognizer.h>

Inheritance diagram for llvm::ScheduleHazardRecognizer:
[legend]

List of all members.

Public Types

enum  HazardType { NoHazard, Hazard, NoopHazard }

Public Member Functions

virtual ~ScheduleHazardRecognizer ()
virtual HazardType getHazardType (SUnit *)
virtual void EmitInstruction (SUnit *)
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 25 of file ScheduleHazardRecognizer.h.


Member Enumeration Documentation

Enumerator:
NoHazard 
Hazard 
NoopHazard 

Definition at line 29 of file ScheduleHazardRecognizer.h.


Constructor & Destructor Documentation

ScheduleHazardRecognizer::~ScheduleHazardRecognizer (  )  [virtual]

Definition at line 573 of file ScheduleDAG.cpp.


Member Function Documentation

virtual HazardType llvm::ScheduleHazardRecognizer::getHazardType ( SUnit *   )  [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::SPUHazardRecognizer, and llvm::PPCHazardRecognizer970.

Definition at line 42 of file ScheduleHazardRecognizer.h.

References NoHazard.

virtual void llvm::ScheduleHazardRecognizer::EmitInstruction ( SUnit *   )  [inline, virtual]

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

Reimplemented in llvm::SPUHazardRecognizer, and llvm::PPCHazardRecognizer970.

Definition at line 48 of file ScheduleHazardRecognizer.h.

virtual void llvm::ScheduleHazardRecognizer::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::SPUHazardRecognizer, and llvm::PPCHazardRecognizer970.

Definition at line 54 of file ScheduleHazardRecognizer.h.

Referenced by EmitNoop().

virtual void llvm::ScheduleHazardRecognizer::EmitNoop (  )  [inline, virtual]

EmitNoop - This callback is invoked when a noop was added to the instruction stream.

Reimplemented in llvm::SPUHazardRecognizer.

Definition at line 58 of file ScheduleHazardRecognizer.h.

References AdvanceCycle().


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