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
[legend]

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

Member Typedef Documentation

◆ DepTy

Definition at line 375 of file Attributor.h.

◆ iterator

Definition at line 378 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 ( DepTy DT)
inlinestatic

◆ dumpGraph()

void AADepGraph::dumpGraph ( )

◆ end()

iterator llvm::AADepGraph::end ( )
inline

◆ GetEntryNode()

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

Definition at line 384 of file Attributor.h.

References SyntheticRoot.

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

◆ print()

void AADepGraph::print ( )

Print dependency graph.

Definition at line 3283 of file Attributor.cpp.

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

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

◆ viewGraph()

void AADepGraph::viewGraph ( )

Definition at line 3259 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 383 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: