|
LLVM 24.0.0git
|
Represents a dependence between two instruction. More...
#include "llvm/CodeGen/MachinePipeliner.h"
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. | |
| LLVM_ABI 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 123 of file MachinePipeliner.h.
|
inline |
Creates an edge corresponding to an edge represented by PredOrSucc and Dep in the original DAG.
This pair has no information about the direction of the edge, so we need to pass an additional argument IsSucc.
Definition at line 134 of file MachinePipeliner.h.
References llvm::SDep::Anti, llvm::SDep::getSUnit(), and std::swap().
|
inline |
Returns the distance value for the edge.
Definition at line 167 of file MachinePipeliner.h.
|
inline |
Returns the SUnit to which the edge points (destination node).
Definition at line 158 of file MachinePipeliner.h.
|
inline |
Returns the latency value for the edge.
Definition at line 161 of file MachinePipeliner.h.
|
inline |
Returns the register associated with the edge.
Definition at line 173 of file MachinePipeliner.h.
|
inline |
Returns the SUnit from which the edge comes (source node).
Definition at line 155 of file MachinePipeliner.h.
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 4194 of file MachinePipeliner.cpp.
References llvm::SDep::Anti.
|
inline |
Returns true if the edge represents anti dependence.
Definition at line 176 of file MachinePipeliner.h.
References llvm::SDep::Anti.
|
inline |
Returns true if the edge represents an artificial dependence.
Definition at line 189 of file MachinePipeliner.h.
|
inline |
Tests if this is a Data dependence that is associated with a register.
Definition at line 192 of file MachinePipeliner.h.
|
inline |
Returns true if the edge represents unknown scheduling barrier.
Definition at line 186 of file MachinePipeliner.h.
|
inline |
Returns true if the edge represents a dependence that is not data, anti or output dependence.
Definition at line 183 of file MachinePipeliner.h.
References llvm::SDep::Order.
|
inline |
Returns true if the edge represents output dependence.
Definition at line 179 of file MachinePipeliner.h.
References llvm::SDep::Output.
|
inline |
Returns true if this edge is intended to be used only for validating the schedule.
Definition at line 201 of file MachinePipeliner.h.
|
inline |
Sets the distance value for the edge.
Definition at line 170 of file MachinePipeliner.h.
References D().
|
inline |
Sets the latency for the edge.
Definition at line 164 of file MachinePipeliner.h.
References llvm::Latency.