LLVM 22.0.0git
llvm::AADepGraph Struct Reference

The data structure for the dependency graph. More...

#include "llvm/Transforms/IPO/Attributor.h"

Public Types

using DepTy = AADepGraphNode::DepTy
using iterator

Public Member Functions

 AADepGraph ()=default
 ~AADepGraph ()=default
AADepGraphNodeGetEntryNode ()
iterator begin ()
iterator end ()
LLVM_ABI void viewGraph ()
LLVM_ABI void dumpGraph ()
 Dump graph to file.
LLVM_ABI void print ()
 Print dependency graph.

Static Public Member Functions

static AADepGraphNodeDepGetVal (const DepTy &DT)

Public Attributes

AADepGraphNode SyntheticRoot
 There is no root node for the dependency graph.

Detailed Description

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 557 of file Attributor.h.

Member Typedef Documentation

◆ DepTy

Definition at line 561 of file Attributor.h.

◆ iterator

Initial value:
typename vector_type::const_iterator iterator
Definition SetVector.h:71
static AADepGraphNode * DepGetVal(const DepTy &DT)
Definition Attributor.h:562

Definition at line 563 of file Attributor.h.

Constructor & Destructor Documentation

◆ AADepGraph()

llvm::AADepGraph::AADepGraph ( )
default

◆ ~AADepGraph()

llvm::AADepGraph::~AADepGraph ( )
default

Member Function Documentation

◆ begin()

iterator llvm::AADepGraph::begin ( )
inline

Definition at line 572 of file Attributor.h.

References SyntheticRoot.

Referenced by llvm::GraphTraits< AADepGraph * >::nodes_begin().

◆ DepGetVal()

AADepGraphNode * llvm::AADepGraph::DepGetVal ( const DepTy & DT)
inlinestatic

◆ dumpGraph()

void AADepGraph::dumpGraph ( )

Dump graph to file.

Definition at line 3989 of file Attributor.cpp.

References DepGraphDotFileNamePrefix, llvm::sys::fs::OF_TextWithCRLF, llvm::outs(), and llvm::WriteGraph().

◆ end()

iterator llvm::AADepGraph::end ( )
inline

Definition at line 573 of file Attributor.h.

References SyntheticRoot.

Referenced by llvm::GraphTraits< AADepGraph * >::nodes_end().

◆ GetEntryNode()

AADepGraphNode * llvm::AADepGraph::GetEntryNode ( )
inline

Definition at line 570 of file Attributor.h.

References SyntheticRoot.

Referenced by llvm::GraphTraits< AADepGraph * >::getEntryNode().

◆ print()

void AADepGraph::print ( )

Print dependency graph.

Definition at line 4011 of file Attributor.cpp.

References llvm::cast(), llvm::outs(), and SyntheticRoot.

◆ viewGraph()

void AADepGraph::viewGraph ( )

Definition at line 3987 of file Attributor.cpp.

References llvm::ViewGraph().

Member Data Documentation

◆ SyntheticRoot

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 569 of file Attributor.h.

Referenced by begin(), end(), GetEntryNode(), and print().


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