LLVM  mainline
Classes | Public Types | Public Member Functions | Friends
llvm::NamedMDNode Class Reference

A tuple of MDNodes. More...

#include <Metadata.h>

Inheritance diagram for llvm::NamedMDNode:
Inheritance graph
[legend]
Collaboration diagram for llvm::NamedMDNode:
Collaboration graph
[legend]

List of all members.

Classes

class  op_iterator_impl

Public Types

typedef op_iterator_impl
< MDNode *, MDNode
op_iterator
typedef op_iterator_impl
< const MDNode *, MDNode
const_op_iterator

Public Member Functions

void eraseFromParent ()
 Drop all references and remove the node from parent module.
void dropAllReferences ()
 Remove all uses and clear node vector.
 ~NamedMDNode ()
ModulegetParent ()
 Get the module that holds this named metadata collection.
const ModulegetParent () const
MDNodegetOperand (unsigned i) const
unsigned getNumOperands () const
void addOperand (MDNode *M)
void setOperand (unsigned I, MDNode *New)
StringRef getName () const
void print (raw_ostream &ROS) const
void dump () const
op_iterator op_begin ()
op_iterator op_end ()
const_op_iterator op_begin () const
const_op_iterator op_end () const
iterator_range< op_iteratoroperands ()
iterator_range< const_op_iteratoroperands () const

Friends

class SymbolTableListTraits< NamedMDNode, Module >
struct ilist_traits< NamedMDNode >
class LLVMContextImpl
class Module

Detailed Description

A tuple of MDNodes.

Despite its name, a NamedMDNode isn't itself an MDNode. NamedMDNodes belong to modules, have names, and contain lists of MDNodes.

TODO: Inherit from Metadata.

Definition at line 1115 of file Metadata.h.


Member Typedef Documentation

Definition at line 1194 of file Metadata.h.

typedef op_iterator_impl<MDNode *, MDNode> llvm::NamedMDNode::op_iterator

Definition at line 1190 of file Metadata.h.


Constructor & Destructor Documentation

Definition at line 941 of file Metadata.cpp.

References dropAllReferences(), and getNMDOps().


Member Function Documentation

Remove all uses and clear node vector.

Definition at line 967 of file Metadata.cpp.

References getNMDOps().

Referenced by ~NamedMDNode().

Definition at line 3236 of file AsmWriter.cpp.

References llvm::dbgs(), and print().

Drop all references and remove the node from parent module.

Definition at line 963 of file Metadata.cpp.

References llvm::Module::eraseNamedMetadata(), and getParent().

Referenced by llvm::StripDebugInfo().

Get the module that holds this named metadata collection.

Definition at line 1176 of file Metadata.h.

Referenced by eraseFromParent(), and print().

Definition at line 1177 of file Metadata.h.

Definition at line 1191 of file Metadata.h.

Referenced by operands().

Definition at line 1195 of file Metadata.h.

Definition at line 1192 of file Metadata.h.

References getNumOperands().

Referenced by operands().

Definition at line 1196 of file Metadata.h.

References getNumOperands().

Definition at line 1201 of file Metadata.h.

References op_begin(), and op_end().

void NamedMDNode::print ( raw_ostream ROS) const

Definition at line 3074 of file AsmWriter.cpp.

References getParent().

Referenced by dump().

void NamedMDNode::setOperand ( unsigned  I,
MDNode New 
)

Definition at line 958 of file Metadata.cpp.

References getNMDOps(), getNumOperands(), and I.


Friends And Related Function Documentation

friend struct ilist_traits< NamedMDNode > [friend]

Definition at line 1117 of file Metadata.h.

friend class LLVMContextImpl [friend]

Definition at line 1118 of file Metadata.h.

friend class Module [friend]

Definition at line 1119 of file Metadata.h.

friend class SymbolTableListTraits< NamedMDNode, Module > [friend]

Definition at line 1116 of file Metadata.h.


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