LLVM  10.0.0svn
Public Types | Public Member Functions | List of all members
llvm::DDGEdge Class Reference

Data Dependency Graph Edge. More...

#include "llvm/Analysis/DDG.h"

Inheritance diagram for llvm::DDGEdge:
Inheritance graph
[legend]
Collaboration diagram for llvm::DDGEdge:
Collaboration graph
[legend]

Public Types

enum  EdgeKind { EdgeKind::Unknown, EdgeKind::RegisterDefUse, EdgeKind::MemoryDependence, EdgeKind::Rooted }
 The kind of edge in the DDG. More...
 

Public Member Functions

 DDGEdge (DDGNode &N)=delete
 
 DDGEdge (DDGNode &N, EdgeKind K)
 
 DDGEdge (const DDGEdge &E)
 
 DDGEdge (DDGEdge &&E)
 
DDGEdgeoperator= (const DDGEdge &E)
 
DDGEdgeoperator= (DDGEdge &&E)
 
EdgeKind getKind () const
 Get the edge kind. More...
 
bool isDefUse () const
 Return true if this is a def-use edge, and false otherwise. More...
 
bool isMemoryDependence () const
 Return true if this is a memory dependence edge, and false otherwise. More...
 
bool isRooted () const
 Return true if this is an edge stemming from the root node, and false otherwise. More...
 
- Public Member Functions inherited from llvm::DGEdge< NodeType, EdgeType >
 DGEdge ()=delete
 
 DGEdge (NodeType &N)
 Create an edge pointing to the given node N. More...
 
 DGEdge (const DGEdge< NodeType, EdgeType > &E)
 
DGEdge< NodeType, EdgeType > & operator= (const DGEdge< NodeType, EdgeType > &E)
 
bool operator== (const EdgeType &E) const
 Static polymorphism: delegate implementation (via isEqualTo) to the derived class. More...
 
bool operator!= (const EdgeType &E) const
 
const NodeType & getTargetNode () const
 Retrieve the target node this edge connects to. More...
 
NodeType & getTargetNode ()
 

Additional Inherited Members

- Protected Member Functions inherited from llvm::DGEdge< NodeType, EdgeType >
bool isEqualTo (const EdgeType &E) const
 
EdgeType & getDerived ()
 
const EdgeType & getDerived () const
 
- Protected Attributes inherited from llvm::DGEdge< NodeType, EdgeType >
NodeType & TargetNode
 

Detailed Description

Data Dependency Graph Edge.

An edge in the DDG can represent a def-use relationship or a memory dependence based on the result of DependenceAnalysis. A rooted edge connects the root node to one of the components of the graph.

Definition at line 163 of file DDG.h.

Member Enumeration Documentation

◆ EdgeKind

The kind of edge in the DDG.

Enumerator
Unknown 
RegisterDefUse 
MemoryDependence 
Rooted 

Definition at line 166 of file DDG.h.

Constructor & Destructor Documentation

◆ DDGEdge() [1/4]

llvm::DDGEdge::DDGEdge ( DDGNode N)
explicitdelete

◆ DDGEdge() [2/4]

llvm::DDGEdge::DDGEdge ( DDGNode N,
EdgeKind  K 
)
inline

Definition at line 169 of file DDG.h.

◆ DDGEdge() [3/4]

llvm::DDGEdge::DDGEdge ( const DDGEdge E)
inline

Definition at line 170 of file DDG.h.

◆ DDGEdge() [4/4]

llvm::DDGEdge::DDGEdge ( DDGEdge &&  E)
inline

Definition at line 171 of file DDG.h.

Member Function Documentation

◆ getKind()

EdgeKind llvm::DDGEdge::getKind ( ) const
inline

Get the edge kind.

Definition at line 185 of file DDG.h.

Referenced by llvm::operator<<().

◆ isDefUse()

bool llvm::DDGEdge::isDefUse ( ) const
inline

Return true if this is a def-use edge, and false otherwise.

Definition at line 188 of file DDG.h.

◆ isMemoryDependence()

bool llvm::DDGEdge::isMemoryDependence ( ) const
inline

Return true if this is a memory dependence edge, and false otherwise.

Definition at line 191 of file DDG.h.

◆ isRooted()

bool llvm::DDGEdge::isRooted ( ) const
inline

Return true if this is an edge stemming from the root node, and false otherwise.

Definition at line 195 of file DDG.h.

◆ operator=() [1/2]

DDGEdge& llvm::DDGEdge::operator= ( const DDGEdge E)
inline

Definition at line 172 of file DDG.h.

References llvm::DGEdge< NodeType, EdgeType >::operator=().

◆ operator=() [2/2]

DDGEdge& llvm::DDGEdge::operator= ( DDGEdge &&  E)
inline

Definition at line 178 of file DDG.h.

References E, and llvm::DGEdge< NodeType, EdgeType >::operator=().


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