LLVM 20.0.0git
Classes | Namespaces | Typedefs | Functions
DDG.h File Reference
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DirectedGraph.h"
#include "llvm/Analysis/DependenceAnalysis.h"
#include "llvm/Analysis/DependenceGraphBuilder.h"
#include "llvm/Analysis/LoopAnalysisManager.h"

Go to the source code of this file.

Classes

class  llvm::DDGNode
 Data Dependence Graph Node The graph can represent the following types of nodes: More...
 
class  llvm::RootDDGNode
 Subclass of DDGNode representing the root node of the graph. More...
 
class  llvm::SimpleDDGNode
 Subclass of DDGNode representing single or multi-instruction nodes. More...
 
class  llvm::PiBlockDDGNode
 Subclass of DDGNode representing a pi-block. More...
 
class  llvm::DDGEdge
 Data Dependency Graph Edge. More...
 
class  llvm::DependenceGraphInfo< NodeType >
 Encapsulate some common data and functionality needed for different variations of data dependence graphs. More...
 
class  llvm::DataDependenceGraph
 Data Dependency Graph. More...
 
class  llvm::DDGBuilder
 Concrete implementation of a pure data dependence graph builder. More...
 
class  llvm::DDGAnalysis
 Analysis pass that builds the DDG for a loop. More...
 
class  llvm::DDGAnalysisPrinterPass
 Textual printer pass for the DDG of a loop. More...
 
struct  llvm::GraphTraits< DDGNode * >
 non-const versions of the grapth trait specializations for DDG More...
 
struct  llvm::GraphTraits< DataDependenceGraph * >
 
struct  llvm::GraphTraits< const DDGNode * >
 const versions of the grapth trait specializations for DDG More...
 
struct  llvm::GraphTraits< const DataDependenceGraph * >
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Typedefs

using llvm::DDGNodeBase = DGNode< DDGNode, DDGEdge >
 
using llvm::DDGEdgeBase = DGEdge< DDGNode, DDGEdge >
 
using llvm::DDGBase = DirectedGraph< DDGNode, DDGEdge >
 
using llvm::DDGInfo = DependenceGraphInfo< DDGNode >
 

Functions

raw_ostreamllvm::operator<< (raw_ostream &OS, const DDGNode &N)
 
raw_ostreamllvm::operator<< (raw_ostream &OS, const DDGNode::NodeKind K)
 
raw_ostreamllvm::operator<< (raw_ostream &OS, const DDGEdge &E)
 
raw_ostreamllvm::operator<< (raw_ostream &OS, const DDGEdge::EdgeKind K)
 
raw_ostreamllvm::operator<< (raw_ostream &OS, const DataDependenceGraph &G)