LLVM  15.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"

Collaboration diagram for llvm::AADepGraph:
Collaboration graph

Public Types

using DepTy = AADepGraphNode::DepTy
using iterator = mapped_iterator< TinyPtrVector< DepTy >::iterator, decltype(&DepGetVal)>

Public Member Functions

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

Static Public Member Functions

static AADepGraphNodeDepGetVal (DepTy &DT)

Public Attributes

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

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

Member Typedef Documentation

◆ DepTy

Definition at line 344 of file Attributor.h.

◆ iterator

Definition at line 347 of file Attributor.h.

Constructor & Destructor Documentation

◆ AADepGraph()

llvm::AADepGraph::AADepGraph ( )

◆ ~AADepGraph()

llvm::AADepGraph::~AADepGraph ( )

Member Function Documentation

◆ begin()

iterator llvm::AADepGraph::begin ( )

◆ DepGetVal()

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

◆ dumpGraph()

void AADepGraph::dumpGraph ( )

◆ end()

iterator llvm::AADepGraph::end ( )

◆ GetEntryNode()

AADepGraphNode* llvm::AADepGraph::GetEntryNode ( )

Definition at line 353 of file Attributor.h.

References SyntheticRoot.

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

◆ print()

void AADepGraph::print ( )

Print dependency graph.

Definition at line 3263 of file Attributor.cpp.

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

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

◆ viewGraph()

void AADepGraph::viewGraph ( )

Definition at line 3239 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 352 of file Attributor.h.

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

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