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

Represents a dependence between two instruction. More...

#include "[llvm/CodeGen/MachinePipeliner.h](MachinePipeliner%5F8h%5Fsource.html)"

Public Member Functions
SwingSchedulerDDGEdge (SUnit *PredOrSucc, const SDep &Dep, bool IsSucc, bool IsValidationOnly)
Creates an edge corresponding to an edge represented by PredOrSucc and Dep in the original DAG.
SUnit * getSrc () const
Returns the SUnit from which the edge comes (source node).
SUnit * getDst () const
Returns the SUnit to which the edge points (destination node).
unsigned getLatency () const
Returns the latency value for the edge.
void setLatency (unsigned Latency)
Sets the latency for the edge.
unsigned getDistance () const
Returns the distance value for the edge.
void setDistance (unsigned D)
Sets the distance value for the edge.
Register getReg () const
Returns the register associated with the edge.
bool isAntiDep () const
Returns true if the edge represents anti dependence.
bool isOutputDep () const
Returns true if the edge represents output dependence.
bool isOrderDep () const
Returns true if the edge represents a dependence that is not data, anti or output dependence.
bool isBarrier () const
Returns true if the edge represents unknown scheduling barrier.
bool isArtificial () const
Returns true if the edge represents an artificial dependence.
bool isAssignedRegDep () const
Tests if this is a Data dependence that is associated with a register.
bool ignoreDependence (bool IgnoreAnti) const
Returns true for DDG nodes that we ignore when computing the cost functions.
bool isValidationOnly () const
Returns true if this edge is intended to be used only for validating the schedule.

Represents a dependence between two instruction.

Definition at line 119 of file MachinePipeliner.h.

llvm::SwingSchedulerDDGEdge::SwingSchedulerDDGEdge ( SUnit * PredOrSucc, const SDep & Dep, bool IsSucc, bool IsValidationOnly ) inline

getDistance()

unsigned llvm::SwingSchedulerDDGEdge::getDistance ( ) const inline

getDst()

SUnit * llvm::SwingSchedulerDDGEdge::getDst ( ) const inline

getLatency()

unsigned llvm::SwingSchedulerDDGEdge::getLatency ( ) const inline

getReg()

Register llvm::SwingSchedulerDDGEdge::getReg ( ) const inline

getSrc()

SUnit * llvm::SwingSchedulerDDGEdge::getSrc ( ) const inline

ignoreDependence()

bool SwingSchedulerDDGEdge::ignoreDependence ( bool IgnoreAnti ) const

Returns true for DDG nodes that we ignore when computing the cost functions.

We ignore the back-edge recurrence in order to avoid unbounded recursion in the calculation of the ASAP, ALAP, etc functions.

Definition at line 4253 of file MachinePipeliner.cpp.

References llvm::SDep::Anti.

isAntiDep()

bool llvm::SwingSchedulerDDGEdge::isAntiDep ( ) const inline

isArtificial()

bool llvm::SwingSchedulerDDGEdge::isArtificial ( ) const inline

Returns true if the edge represents an artificial dependence.

Definition at line 185 of file MachinePipeliner.h.

isAssignedRegDep()

bool llvm::SwingSchedulerDDGEdge::isAssignedRegDep ( ) const inline

Tests if this is a Data dependence that is associated with a register.

Definition at line 188 of file MachinePipeliner.h.

isBarrier()

bool llvm::SwingSchedulerDDGEdge::isBarrier ( ) const inline

Returns true if the edge represents unknown scheduling barrier.

Definition at line 182 of file MachinePipeliner.h.

isOrderDep()

bool llvm::SwingSchedulerDDGEdge::isOrderDep ( ) const inline

isOutputDep()

bool llvm::SwingSchedulerDDGEdge::isOutputDep ( ) const inline

isValidationOnly()

bool llvm::SwingSchedulerDDGEdge::isValidationOnly ( ) const inline

Returns true if this edge is intended to be used only for validating the schedule.

Definition at line 197 of file MachinePipeliner.h.

setDistance()

void llvm::SwingSchedulerDDGEdge::setDistance ( unsigned D) inline

setLatency()

void llvm::SwingSchedulerDDGEdge::setLatency ( unsigned Latency) inline

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