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:44

Inherits from: DGNode

Member Variables

private llvm::DDGNode::NodeKind Kind

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()

Declared at: llvm/include/llvm/Analysis/DDG.h:56

DDGNode(const llvm::DDGNode::NodeKind K)

Declared at: llvm/include/llvm/Analysis/DDG.h:57

Parameters

const llvm::DDGNode::NodeKind K

DDGNode(const llvm::DDGNode& N)

Declared at: llvm/include/llvm/Analysis/DDG.h:58

Parameters

const llvm::DDGNode& N

DDGNode(llvm::DDGNode&& N)

Declared at: llvm/include/llvm/Analysis/DDG.h:59

Parameters

llvm::DDGNode&& N

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:80

Parameters

const llvm::function_ref<bool(Instruction*)>& Pred
llvm::DDGNode::InstructionListType& IList

llvm::DDGNode::NodeKind getKind() const

Description

Getter for the kind of this node.

Declared at: llvm/include/llvm/Analysis/DDG.h:75

void setKind(llvm::DDGNode::NodeKind K)

Description

Setter for the kind of this node.

Declared at: llvm/include/llvm/Analysis/DDG.h:85

Parameters

llvm::DDGNode::NodeKind K

virtual ~DDGNode()

Declared at: llvm/include/llvm/Analysis/DDG.h:60