LLVM 20.0.0git
|
Encapsulate some common data and functionality needed for different variations of data dependence graphs. More...
#include "llvm/Analysis/DDG.h"
Public Types | |
using | DependenceList = SmallVector< std::unique_ptr< Dependence >, 1 > |
Public Member Functions | |
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. | |
NodeType & | getRoot () const |
Return the root node of the graph. | |
bool | getDependencies (const NodeType &Src, const NodeType &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 NodeType &Src, const NodeType &Dst) const |
Return a string representing the type of dependence that the dependence analysis identified between the two given nodes. | |
Protected Attributes | |
std::string | Name |
const DependenceInfo | DI |
NodeType * | Root = nullptr |
Encapsulate some common data and functionality needed for different variations of data dependence graphs.
using llvm::DependenceGraphInfo< NodeType >::DependenceList = SmallVector<std::unique_ptr<Dependence>, 1> |
|
delete |
|
delete |
|
inline |
|
inline |
|
virtualdefault |
std::string llvm::DependenceGraphInfo< NodeType >::getDependenceString | ( | const NodeType & | Src, |
const NodeType & | Dst | ||
) | const |
Return a string representing the type of dependence that the dependence analysis identified between the two given nodes.
This function assumes that there is a memory dependence between the given two nodes.
Definition at line 464 of file DDG.h.
References D, llvm::interleaveComma(), and OS.
bool llvm::DependenceGraphInfo< NodeType >::getDependencies | ( | const NodeType & | Src, |
const NodeType & | 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
.
Return true if a dependence exists, and false otherwise.
Definition at line 441 of file DDG.h.
References assert(), llvm::DependenceInfo::depends(), llvm::AbstractDependenceGraphBuilder< DataDependenceGraph >::DI, llvm::SmallVectorBase< Size_T >::empty(), I, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
|
inline |
Return the label that is used to name this graph.
Definition at line 268 of file DDG.h.
References llvm::DependenceGraphInfo< NodeType >::Name.
|
inline |
Return the root node of the graph.
Definition at line 271 of file DDG.h.
References assert(), and llvm::DependenceGraphInfo< NodeType >::Root.
Referenced by llvm::GraphTraits< const DataDependenceGraph * >::getEntryNode(), and llvm::GraphTraits< DataDependenceGraph * >::getEntryNode().
|
protected |
|
protected |
Definition at line 291 of file DDG.h.
Referenced by llvm::DependenceGraphInfo< NodeType >::getName().
|
protected |
Definition at line 300 of file DDG.h.
Referenced by llvm::DataDependenceGraph::addNode(), and llvm::DependenceGraphInfo< NodeType >::getRoot().