class NamedMDNode

Declaration

class NamedMDNode : public ilist_node { /* full declaration omitted */ };

Description

A tuple of MDNodes. Despite its name, a NamedMDNode isn't itself an MDNode. NamedMDNodes are named module-level entities that contain lists of MDNodes. It is illegal for a NamedMDNode to appear as an operand of an MDNode.

Declared at: llvm/include/llvm/IR/Metadata.h:1588

Inherits from: ilist_node

Member Variables

private std::string Name
private llvm::Module* Parent = nullptr
private void* Operands

Method Overview

  • private NamedMDNode(const llvm::Twine & N)
  • public NamedMDNode(const llvm::NamedMDNode &)
  • public void addOperand(llvm::MDNode * M)
  • public void clearOperands()
  • public void dropAllReferences()
  • public void dump() const
  • public void eraseFromParent()
  • public llvm::StringRef getName() const
  • public unsigned int getNumOperands() const
  • public llvm::MDNode * getOperand(unsigned int i) const
  • public inline const llvm::Module * getParent() const
  • public inline llvm::Module * getParent()
  • public llvm::NamedMDNode::op_iterator op_begin()
  • public llvm::NamedMDNode::const_op_iterator op_begin() const
  • public llvm::NamedMDNode::op_iterator op_end()
  • public llvm::NamedMDNode::const_op_iterator op_end() const
  • public inline iterator_range<llvm::NamedMDNode::op_iterator> operands()
  • public inline iterator_range<llvm::NamedMDNode::const_op_iterator> operands() const
  • public void print(llvm::raw_ostream & ROS, bool IsForDebug = false) const
  • public void print(llvm::raw_ostream & ROS, llvm::ModuleSlotTracker & MST, bool IsForDebug = false) const
  • public void setOperand(unsigned int I, llvm::MDNode * New)
  • private void setParent(llvm::Module * M)
  • public ~NamedMDNode()

Methods

NamedMDNode(const llvm::Twine& N)

Declared at: llvm/include/llvm/IR/Metadata.h:1598

Parameters

const llvm::Twine& N

NamedMDNode(const llvm::NamedMDNode&)

Declared at: llvm/include/llvm/IR/Metadata.h:1646

Parameters

const llvm::NamedMDNode&

void addOperand(llvm::MDNode* M)

Declared at: llvm/include/llvm/IR/Metadata.h:1663

Parameters

llvm::MDNode* M

void clearOperands()

Description

Drop all references to this node's operands.

Declared at: llvm/include/llvm/IR/Metadata.h:1655

void dropAllReferences()

Description

Remove all uses and clear node vector.

Declared at: llvm/include/llvm/IR/Metadata.h:1653

void dump() const

Declared at: llvm/include/llvm/IR/Metadata.h:1669

void eraseFromParent()

Description

Drop all references and remove the node from parent module.

Declared at: llvm/include/llvm/IR/Metadata.h:1650

llvm::StringRef getName() const

Declared at: llvm/include/llvm/IR/Metadata.h:1665

unsigned int getNumOperands() const

Declared at: llvm/include/llvm/IR/Metadata.h:1662

llvm::MDNode* getOperand(unsigned int i) const

Declared at: llvm/include/llvm/IR/Metadata.h:1661

Parameters

unsigned int i

inline const llvm::Module* getParent() const

Declared at: llvm/include/llvm/IR/Metadata.h:1659

inline llvm::Module* getParent()

Description

Get the module that holds this named metadata collection.

Declared at: llvm/include/llvm/IR/Metadata.h:1658

llvm::NamedMDNode::op_iterator op_begin()

Declared at: llvm/include/llvm/IR/Metadata.h:1676

llvm::NamedMDNode::const_op_iterator op_begin()
    const

Declared at: llvm/include/llvm/IR/Metadata.h:1681

llvm::NamedMDNode::op_iterator op_end()

Declared at: llvm/include/llvm/IR/Metadata.h:1677

llvm::NamedMDNode::const_op_iterator op_end()
    const

Declared at: llvm/include/llvm/IR/Metadata.h:1682

inline iterator_range<
    llvm::NamedMDNode::op_iterator>
operands()

Declared at: llvm/include/llvm/IR/Metadata.h:1684

inline iterator_range<
    llvm::NamedMDNode::const_op_iterator>
operands() const

Declared at: llvm/include/llvm/IR/Metadata.h:1687

void print(llvm::raw_ostream& ROS,
           bool IsForDebug = false) const

Declared at: llvm/include/llvm/IR/Metadata.h:1666

Parameters

llvm::raw_ostream& ROS
bool IsForDebug = false

void print(llvm::raw_ostream& ROS,
           llvm::ModuleSlotTracker& MST,
           bool IsForDebug = false) const

Declared at: llvm/include/llvm/IR/Metadata.h:1667

Parameters

llvm::raw_ostream& ROS
llvm::ModuleSlotTracker& MST
bool IsForDebug = false

void setOperand(unsigned int I, llvm::MDNode* New)

Declared at: llvm/include/llvm/IR/Metadata.h:1664

Parameters

unsigned int I
llvm::MDNode* New

void setParent(llvm::Module* M)

Declared at: llvm/include/llvm/IR/Metadata.h:1596

Parameters

llvm::Module* M

~NamedMDNode()

Declared at: llvm/include/llvm/IR/Metadata.h:1647