LLVM 20.0.0git
|
The data structure for the dependency graph. More...
#include "llvm/Transforms/IPO/Attributor.h"
Public Types | |
using | DepTy = AADepGraphNode::DepTy |
using | iterator = mapped_iterator< AADepGraphNode::DepSetTy::iterator, decltype(&DepGetVal)> |
Public Member Functions | |
AADepGraph ()=default | |
~AADepGraph ()=default | |
AADepGraphNode * | GetEntryNode () |
iterator | begin () |
iterator | end () |
void | viewGraph () |
void | dumpGraph () |
Dump graph to file. | |
void | print () |
Print dependency graph. | |
Static Public Member Functions | |
static AADepGraphNode * | DepGetVal (const DepTy &DT) |
Public Attributes | |
AADepGraphNode | SyntheticRoot |
There is no root node for the dependency graph. | |
The data structure for the dependency graph.
Note that in this graph if there is an edge from A to B (A -> B), then it means that B depends on A, and when the state of A is updated, node B should also be updated
Definition at line 545 of file Attributor.h.
Definition at line 549 of file Attributor.h.
using llvm::AADepGraph::iterator = mapped_iterator<AADepGraphNode::DepSetTy::iterator, decltype(&DepGetVal)> |
Definition at line 551 of file Attributor.h.
|
default |
|
default |
|
inline |
Definition at line 560 of file Attributor.h.
References llvm::AADepGraphNode::child_begin(), and SyntheticRoot.
Referenced by llvm::GraphTraits< AADepGraph * >::nodes_begin().
|
inlinestatic |
Definition at line 550 of file Attributor.h.
References llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits, Info >::getPointer().
void AADepGraph::dumpGraph | ( | ) |
Dump graph to file.
Definition at line 3999 of file Attributor.cpp.
References DepGraphDotFileNamePrefix, llvm::sys::fs::OF_TextWithCRLF, llvm::outs(), and llvm::WriteGraph().
Referenced by llvm::Attributor::run().
|
inline |
Definition at line 561 of file Attributor.h.
References llvm::AADepGraphNode::child_end(), and SyntheticRoot.
Referenced by llvm::GraphTraits< AADepGraph * >::nodes_end().
|
inline |
Definition at line 558 of file Attributor.h.
References SyntheticRoot.
Referenced by llvm::GraphTraits< AADepGraph * >::getEntryNode().
void AADepGraph::print | ( | ) |
Print dependency graph.
Definition at line 4021 of file Attributor.cpp.
References llvm::AADepGraphNode::Deps, llvm::outs(), and SyntheticRoot.
Referenced by llvm::Attributor::run().
void AADepGraph::viewGraph | ( | ) |
Definition at line 3997 of file Attributor.cpp.
References llvm::ViewGraph().
Referenced by llvm::Attributor::run().
AADepGraphNode llvm::AADepGraph::SyntheticRoot |
There is no root node for the dependency graph.
But the SCCIterator requires a single entry point, so we maintain a fake("synthetic") root node that depends on every node.
Definition at line 557 of file Attributor.h.
Referenced by begin(), end(), GetEntryNode(), print(), and llvm::Attributor::registerAA().