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)
NamedMDNode(const llvm::Twine& N)
Declared at: llvm/include/llvm/IR/Metadata.h:1598
Parameters
- const llvm::Twine& N
¶NamedMDNode(const llvm::NamedMDNode&)
NamedMDNode(const llvm::NamedMDNode&)
Declared at: llvm/include/llvm/IR/Metadata.h:1646
Parameters
- const llvm::NamedMDNode&
¶void addOperand(llvm::MDNode* M)
void addOperand(llvm::MDNode* M)
Declared at: llvm/include/llvm/IR/Metadata.h:1663
Parameters
- llvm::MDNode* M
¶void clearOperands()
void clearOperands()
Description
Drop all references to this node's operands.
Declared at: llvm/include/llvm/IR/Metadata.h:1655
¶void dropAllReferences()
void dropAllReferences()
Description
Remove all uses and clear node vector.
Declared at: llvm/include/llvm/IR/Metadata.h:1653
¶void dump() const
void dump() const
Declared at: llvm/include/llvm/IR/Metadata.h:1669
¶void eraseFromParent()
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
llvm::StringRef getName() const
Declared at: llvm/include/llvm/IR/Metadata.h:1665
¶unsigned int getNumOperands() const
unsigned int getNumOperands() const
Declared at: llvm/include/llvm/IR/Metadata.h:1662
¶llvm::MDNode* getOperand(unsigned int i) const
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
inline const llvm::Module* getParent() const
Declared at: llvm/include/llvm/IR/Metadata.h:1659
¶inline llvm::Module* getParent()
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()
llvm::NamedMDNode::op_iterator op_begin()
Declared at: llvm/include/llvm/IR/Metadata.h:1676
¶llvm::NamedMDNode::const_op_iterator op_begin()
const
llvm::NamedMDNode::const_op_iterator op_begin()
const
Declared at: llvm/include/llvm/IR/Metadata.h:1681
¶llvm::NamedMDNode::op_iterator op_end()
llvm::NamedMDNode::op_iterator op_end()
Declared at: llvm/include/llvm/IR/Metadata.h:1677
¶llvm::NamedMDNode::const_op_iterator op_end()
const
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()
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
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
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
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)
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)
void setParent(llvm::Module* M)
Declared at: llvm/include/llvm/IR/Metadata.h:1596
Parameters
- llvm::Module* M
¶~NamedMDNode()
~NamedMDNode()
Declared at: llvm/include/llvm/IR/Metadata.h:1647