LLVM  14.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
[legend]

Public Types

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

Public Member Functions

 AADepGraph ()
 
 ~AADepGraph ()
 
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 268 of file Attributor.h.

Member Typedef Documentation

◆ DepTy

Definition at line 272 of file Attributor.h.

◆ iterator

Definition at line 275 of file Attributor.h.

Constructor & Destructor Documentation

◆ AADepGraph()

llvm::AADepGraph::AADepGraph ( )
inline

Definition at line 269 of file Attributor.h.

◆ ~AADepGraph()

llvm::AADepGraph::~AADepGraph ( )
inline

Definition at line 270 of file Attributor.h.

Member Function Documentation

◆ begin()

iterator llvm::AADepGraph::begin ( )
inline

◆ DepGetVal()

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

◆ dumpGraph()

void AADepGraph::dumpGraph ( )

◆ end()

iterator llvm::AADepGraph::end ( )
inline

◆ GetEntryNode()

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

Definition at line 281 of file Attributor.h.

References SyntheticRoot.

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

◆ print()

void AADepGraph::print ( )

Print dependency graph.

Definition at line 2916 of file Attributor.cpp.

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

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

◆ viewGraph()

void AADepGraph::viewGraph ( )

Definition at line 2892 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 280 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: