class DDGNode
Declaration
class DDGNode : public DGNode { /* full declaration omitted */ };
Description
Data Dependence Graph Node The graph can represent the following types of nodes: 1. Single instruction node containing just one instruction. 2. Multiple instruction node where two or more instructions from the same basic block are merged into one node. 3. Pi-block node which is a group of other DDG nodes that are part of a strongly-connected component of the graph. A pi-block node contains more than one single or multiple instruction nodes. The root node cannot be part of a pi-block. 4. Root node is a special node that connects to all components such that there is always a path from it to any node in the graph.
Declared at: llvm/include/llvm/Analysis/DDG.h:42
Inherits from: DGNode
Method Overview
- public DDGNode()
- public DDGNode(const llvm::DDGNode::NodeKind K)
- public DDGNode(const llvm::DDGNode & N)
- public DDGNode(llvm::DDGNode && N)
- public bool collectInstructions(const llvm::function_ref<bool (Instruction *)> & Pred, llvm::DDGNode::InstructionListType & IList) const
- public llvm::DDGNode::NodeKind getKind() const
- protected void setKind(llvm::DDGNode::NodeKind K)
- public virtual ~DDGNode()
Methods
¶DDGNode()
DDGNode()
Declared at: llvm/include/llvm/Analysis/DDG.h:54
¶DDGNode(const llvm::DDGNode::NodeKind K)
DDGNode(const llvm::DDGNode::NodeKind K)
Declared at: llvm/include/llvm/Analysis/DDG.h:55
Parameters
- const llvm::DDGNode::NodeKind K
¶DDGNode(const llvm::DDGNode& N)
DDGNode(const llvm::DDGNode& N)
Declared at: llvm/include/llvm/Analysis/DDG.h:56
Parameters
- const llvm::DDGNode& N
¶DDGNode(llvm::DDGNode&& N)
DDGNode(llvm::DDGNode&& N)
Declared at: llvm/include/llvm/Analysis/DDG.h:57
Parameters
- llvm::DDGNode&& N
¶bool collectInstructions(
const llvm::function_ref<bool(Instruction*)>&
Pred,
llvm::DDGNode::InstructionListType& IList)
const
bool collectInstructions(
const llvm::function_ref<bool(Instruction*)>&
Pred,
llvm::DDGNode::InstructionListType& IList)
const
Description
Collect a list of instructions, in \p IList, for which predicate \p Pred evaluates to true when iterating over instructions of this node. Return true if at least one instruction was collected, and false otherwise.
Declared at: llvm/include/llvm/Analysis/DDG.h:78
Parameters
- const llvm::function_ref<bool(Instruction*)>& Pred
- llvm::DDGNode::InstructionListType& IList
¶llvm::DDGNode::NodeKind getKind() const
llvm::DDGNode::NodeKind getKind() const
Description
Getter for the kind of this node.
Declared at: llvm/include/llvm/Analysis/DDG.h:73
¶void setKind(llvm::DDGNode::NodeKind K)
void setKind(llvm::DDGNode::NodeKind K)
Description
Setter for the kind of this node.
Declared at: llvm/include/llvm/Analysis/DDG.h:83
Parameters
- llvm::DDGNode::NodeKind K
¶virtual ~DDGNode()
virtual ~DDGNode()
Declared at: llvm/include/llvm/Analysis/DDG.h:58