LLVM 19.0.0git
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
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 = mapped_iterator< AADepGraphNode::DepSetTy::iterator, decltype(&DepGetVal)>
 

Public Member Functions

 AADepGraph ()=default
 
 ~AADepGraph ()=default
 
AADepGraphNodeGetEntryNode ()
 
iterator begin ()
 
iterator end ()
 
void viewGraph ()
 
void dumpGraph ()
 Dump graph to file.
 
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 544 of file Attributor.h.

Member Typedef Documentation

◆ DepTy

Definition at line 548 of file Attributor.h.

◆ iterator

Definition at line 550 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

◆ DepGetVal()

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

◆ dumpGraph()

void AADepGraph::dumpGraph ( )

Dump graph to file.

Definition at line 4000 of file Attributor.cpp.

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

Referenced by llvm::Attributor::run().

◆ end()

iterator llvm::AADepGraph::end ( )
inline

◆ GetEntryNode()

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

Definition at line 557 of file Attributor.h.

References SyntheticRoot.

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

◆ print()

void AADepGraph::print ( )

Print dependency graph.

Definition at line 4022 of file Attributor.cpp.

References llvm::AADepGraphNode::Deps, llvm::outs(), and SyntheticRoot.

Referenced by llvm::Attributor::run().

◆ viewGraph()

void AADepGraph::viewGraph ( )

Definition at line 3998 of file Attributor.cpp.

References llvm::ViewGraph().

Referenced by llvm::Attributor::run().

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

Referenced by begin(), end(), GetEntryNode(), print(), and llvm::Attributor::registerAA().


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