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

Data Dependency Graph. More...

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

Public Types
using NodeType = DDGNode
using EdgeType = DDGEdge
Public Types inherited from llvm::DirectedGraph< DDGNode, DDGEdge >
using iterator
using const_iterator
using DGraphType
Public Types inherited from llvm::DependenceGraphInfo< DDGNode >
using DependenceList
Public Member Functions
DataDependenceGraph ()=delete
DataDependenceGraph (const DataDependenceGraph &G)=delete
DataDependenceGraph (DataDependenceGraph &&G)
DataDependenceGraph (Function &F, DependenceInfo &DI)
DataDependenceGraph (Loop &L, LoopInfo &LI, DependenceInfo &DI)
~DataDependenceGraph () override
const PiBlockDDGNode * getPiBlock (const NodeType &N) const
If node N belongs to a pi-block return a pointer to the pi-block, otherwise return null.
Public Member Functions inherited from llvm::DirectedGraph< DDGNode, DDGEdge >
DirectedGraph ()=default
DirectedGraph (DDGNode &N)
const_iterator begin () const
const_iterator end () const
iterator begin ()
iterator end ()
const DDGNode & front () const
DDGNode & front ()
const DDGNode & back () const
DDGNode & back ()
size_t size () const
const_iterator findNode (const DDGNode &N) const
Find the given node N in the table.
iterator findNode (const DDGNode &N)
bool addNode (DDGNode &N)
Add the given node N to the graph if it is not already present.
bool findIncomingEdgesToNode (const DDGNode &N, SmallVectorImpl< DDGEdge * > &EL) const
Collect in EL all edges that are coming into node N.
bool removeNode (DDGNode &N)
Remove the given node N from the graph.
bool connect (DDGNode &Src, DDGNode &Dst, DDGEdge &E)
Assuming nodes Src and Dst are already in the graph, connect node Src to node Dst using the provided edge E.
Public Member Functions inherited from llvm::DependenceGraphInfo< DDGNode >
DependenceGraphInfo ()=delete
DependenceGraphInfo (const DependenceGraphInfo &G)=delete
DependenceGraphInfo (const std::string &N, const DependenceInfo &DepInfo)
DependenceGraphInfo (DependenceGraphInfo &&G)
virtual ~DependenceGraphInfo ()=default
StringRef getName () const
Return the label that is used to name this graph.
DDGNode & getRoot () const
Return the root node of the graph.
bool getDependencies (const DDGNode &Src, const DDGNode &Dst, DependenceList &Deps) const
Collect all the data dependency infos coming from any pair of memory accesses from Src to Dst, and store them into Deps.
std::string getDependenceString (const DDGNode &Src, const DDGNode &Dst) const
Return a string representing the type of dependence that the dependence analysis identified between the two given nodes.
Protected Member Functions
bool addNode (NodeType &N)
Add node N to the graph, if it's not added yet, and keep track of the root node as well as pi-blocks and their members.
Additional Inherited Members
Protected Types inherited from llvm::DirectedGraph< DDGNode, DDGEdge >
using NodeListTy
using EdgeListTy
Protected Attributes inherited from llvm::DirectedGraph< DDGNode, DDGEdge >
NodeListTy Nodes
Protected Attributes inherited from llvm::DependenceGraphInfo< DDGNode >
std::string Name
const DependenceInfo DI
DDGNode * Root

Data Dependency Graph.

Definition at line 303 of file DDG.h.

EdgeType

NodeType

llvm::DataDependenceGraph::DataDependenceGraph ( ) delete

DataDependenceGraph() [2/5]

References DataDependenceGraph(), and G.

DataDependenceGraph() [3/5]

DataDependenceGraph() [4/5]

Definition at line 186 of file DDG.cpp.

References llvm::append_range(), llvm::SmallVectorTemplateCommon< T, typename >::begin(), D(), DDGBuilder, llvm::DependenceGraphInfo< DDGNode >::DependenceGraphInfo(), llvm::SmallVectorTemplateCommon< T, typename >::end(), F, llvm::DependenceGraphInfo< DDGNode >::getName(), llvm::make_range(), llvm::scc_begin(), and llvm::scc_end().

DataDependenceGraph() [5/5]

~DataDependenceGraph()

DataDependenceGraph::~DataDependenceGraph ( ) override

addNode()

bool DataDependenceGraph::addNode ( NodeType & N) protected

getPiBlock()

If node N belongs to a pi-block return a pointer to the pi-block, otherwise return null.

Definition at line 243 of file DDG.cpp.

References assert(), and N.

DDGBuilder


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