LLVM 24.0.0git
llvm::RootDDGNode Class Reference

Subclass of DDGNode representing the root node of the graph. More...

#include "llvm/Analysis/DDG.h"

Inheritance diagram for llvm::RootDDGNode:
[legend]

Public Member Functions

 RootDDGNode ()
 RootDDGNode (const RootDDGNode &N)=delete
 RootDDGNode (RootDDGNode &&N)
 ~RootDDGNode () override=default
Public Member Functions inherited from llvm::DDGNode
 DDGNode ()=delete
 DDGNode (const NodeKind K)
 DDGNode (const DDGNode &N)=default
 DDGNode (DDGNode &&N)
virtual ~DDGNode ()=0
DDGNode & operator= (const DDGNode &N)=default
DDGNode & operator= (DDGNode &&N)
NodeKind getKind () const
 Getter for the kind of this node.
bool collectInstructions (llvm::function_ref< bool(Instruction *)> const &Pred, InstructionListType &IList) const
 Collect a list of instructions, in IList, for which predicate Pred evaluates to true when iterating over instructions of this node.
Public Member Functions inherited from llvm::DGNode< DDGNode, DDGEdge >
 DGNode (DDGEdge &E)
 Create a node with a single outgoing edge E.
 DGNode ()=default
const_iterator begin () const
const_iterator end () const
iterator begin ()
iterator end ()
const DDGEdge & front () const
DDGEdge & front ()
const DDGEdge & back () const
DDGEdge & back ()
bool findEdgesTo (const DDGNode &N, SmallVectorImpl< DDGEdge * > &EL) const
 Collect in EL, all the edges from this node to N.
bool addEdge (DDGEdge &E)
 Add the given edge E to this node, if it doesn't exist already.
void removeEdge (DDGEdge &E)
 Remove the given edge E from this node, if it exists.
bool hasEdgeTo (const DDGNode &N) const
 Test whether there is an edge that goes from this node to N.
const EdgeListTy & getEdges () const
 Retrieve the outgoing edges for the node.
EdgeListTy & getEdges ()
void clear ()
 Clear the outgoing edges.

Static Public Member Functions

static bool classof (const DDGNode *N)
 Define classof to be able to use isa<>, cast<>, dyn_cast<>, etc.
static bool classof (const RootDDGNode *N)

Additional Inherited Members

Public Types inherited from llvm::DDGNode
enum class  NodeKind {
  Unknown , SingleInstruction , MultiInstruction , PiBlock ,
  Root
}
using InstructionListType = SmallVectorImpl<Instruction *>
Public Types inherited from llvm::DGNode< DDGNode, DDGEdge >
using EdgeListTy
using iterator
using const_iterator
Protected Member Functions inherited from llvm::DDGNode
void setKind (NodeKind K)
 Setter for the kind of this node.
Protected Member Functions inherited from llvm::DGNode< DDGNode, DDGEdge >
bool isEqualTo (const DDGNode &N) const
DDGNode & getDerived ()
const DDGNode & getDerived () const
const_iterator findEdgeTo (const DDGNode &N) const
 Find an edge to N.
Protected Attributes inherited from llvm::DGNode< DDGNode, DDGEdge >
EdgeListTy Edges

Detailed Description

Subclass of DDGNode representing the root node of the graph.

There should only be one such node in a given graph.

Definition at line 90 of file DDG.h.

Constructor & Destructor Documentation

◆ RootDDGNode() [1/3]

llvm::RootDDGNode::RootDDGNode ( )
inline

Definition at line 92 of file DDG.h.

References llvm::DDGNode::DDGNode(), and llvm::DDGNode::Root.

Referenced by classof(), RootDDGNode(), and RootDDGNode().

◆ RootDDGNode() [2/3]

llvm::RootDDGNode::RootDDGNode ( const RootDDGNode & N)
delete

References N, and RootDDGNode().

◆ RootDDGNode() [3/3]

llvm::RootDDGNode::RootDDGNode ( RootDDGNode && N)
inline

Definition at line 94 of file DDG.h.

References llvm::DDGNode::DDGNode(), llvm::move(), N, and RootDDGNode().

◆ ~RootDDGNode()

llvm::RootDDGNode::~RootDDGNode ( )
overridedefault

Member Function Documentation

◆ classof() [1/2]

bool llvm::RootDDGNode::classof ( const DDGNode * N)
inlinestatic

Define classof to be able to use isa<>, cast<>, dyn_cast<>, etc.

Definition at line 98 of file DDG.h.

References llvm::DDGNode::DDGNode(), N, and llvm::DDGNode::Root.

◆ classof() [2/2]

bool llvm::RootDDGNode::classof ( const RootDDGNode * N)
inlinestatic

Definition at line 101 of file DDG.h.

References N, and RootDDGNode().


The documentation for this class was generated from the following file: