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:
- include/llvm/CodeGen/MachinePipeliner.h
- lib/CodeGen/MachinePipeliner.cpp