LLVM 18.0.0git
|
A tuple of MDNodes. More...
#include "llvm/IR/Metadata.h"
Public Types | |
using | op_iterator = op_iterator_impl< MDNode *, MDNode > |
using | const_op_iterator = op_iterator_impl< const MDNode *, MDNode > |
Friends | |
class | LLVMContextImpl |
class | Module |
Additional Inherited Members | |
![]() | |
using | self_iterator = typename ilist_select_iterator_type< OptionsT::has_iterator_bits, OptionsT, false, false >::type |
using | const_self_iterator = typename ilist_select_iterator_type< OptionsT::has_iterator_bits, OptionsT, false, true >::type |
using | reverse_self_iterator = typename ilist_select_iterator_type< OptionsT::has_iterator_bits, OptionsT, true, false >::type |
using | const_reverse_self_iterator = typename ilist_select_iterator_type< OptionsT::has_iterator_bits, OptionsT, true, true >::type |
![]() | |
ilist_node_impl ()=default | |
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.
Definition at line 1692 of file Metadata.h.
using llvm::NamedMDNode::const_op_iterator = op_iterator_impl<const MDNode *, MDNode> |
Definition at line 1783 of file Metadata.h.
using llvm::NamedMDNode::op_iterator = op_iterator_impl<MDNode *, MDNode> |
Definition at line 1778 of file Metadata.h.
|
delete |
NamedMDNode::~NamedMDNode | ( | ) |
Definition at line 1337 of file Metadata.cpp.
References dropAllReferences(), and getNMDOps().
void NamedMDNode::addOperand | ( | MDNode * | M | ) |
Definition at line 1352 of file Metadata.cpp.
References getNMDOps().
Referenced by llvm::Module::addModuleFlag(), llvm::CloneModule(), llvm::DIBuilder::createCompileUnit(), llvm::dxil::createEntryMD(), llvm::OpenMPIRBuilder::createOffloadEntriesAndInfoMetadata(), llvm::OpenMPIRBuilder::createOffloadEntry(), llvm::embedBufferInModule(), llvm::emitAMDGPUPrintfCall(), stripDeadDebugInfoImpl(), llvm::stripDebugifyMetadata(), llvm::dxil::ValidatorVersionMD::update(), updateNVPTXMetadata(), and llvm::dxil::Resources::write().
void NamedMDNode::clearOperands | ( | ) |
Drop all references to this node's operands.
Definition at line 1361 of file Metadata.cpp.
References getNMDOps().
Referenced by dropAllReferences(), stripDeadDebugInfoImpl(), and llvm::stripDebugifyMetadata().
|
inline |
Remove all uses and clear node vector.
Definition at line 1757 of file Metadata.h.
References clearOperands().
Referenced by handleValVerMetadata(), and ~NamedMDNode().
LLVM_DUMP_METHOD void NamedMDNode::dump | ( | ) | const |
Definition at line 5127 of file AsmWriter.cpp.
References llvm::dbgs(), and print().
void NamedMDNode::eraseFromParent | ( | ) |
Drop all references and remove the node from parent module.
Definition at line 1359 of file Metadata.cpp.
References llvm::Module::eraseNamedMetadata(), and getParent().
Referenced by handleValVerMetadata(), and llvm::stripDebugifyMetadata().
StringRef NamedMDNode::getName | ( | ) | const |
Definition at line 1363 of file Metadata.cpp.
Referenced by llvm::Module::eraseNamedMetadata(), LLVMGetNamedMetadataName(), and llvm::stripNonLineTableDebugInfo().
unsigned NamedMDNode::getNumOperands | ( | ) | const |
Definition at line 1342 of file Metadata.cpp.
References getNMDOps().
Referenced by llvm::cacheAnnotationFromMD(), llvm::emitAMDGPUPrintfCall(), getHiPELiteral(), getKernelArgAttribute(), getOperand(), llvm::dxil::ValidatorVersionMD::isEmpty(), op_end(), llvm::Module::setModuleFlag(), setOperand(), llvm::stripDebugifyMetadata(), and llvm::UpgradeModuleFlags().
Definition at line 1346 of file Metadata.cpp.
References assert(), getNMDOps(), getNumOperands(), and N.
Referenced by llvm::cacheAnnotationFromMD(), getHiPELiteral(), getKernelArgAttribute(), llvm::Module::debug_compile_units_iterator::operator*(), llvm::Module::setModuleFlag(), llvm::UpgradeModuleFlags(), and UpgradeRetainReleaseMarker().
|
inline |
Get the module that holds this named metadata collection.
Definition at line 1762 of file Metadata.h.
Referenced by eraseFromParent(), LLVMGetNextNamedMetadata(), LLVMGetPreviousNamedMetadata(), print(), and llvm::dxil::ValidatorVersionMD::update().
Definition at line 1763 of file Metadata.h.
|
inline |
Definition at line 1780 of file Metadata.h.
Referenced by operands().
|
inline |
Definition at line 1785 of file Metadata.h.
|
inline |
|
inline |
Definition at line 1786 of file Metadata.h.
References getNumOperands().
|
inline |
Definition at line 1788 of file Metadata.h.
References llvm::make_range(), op_begin(), and op_end().
Referenced by llvm::omp::getDeviceKernels(), llvm::Module::getModuleFlagsMetadata(), getNVPTXMDNode(), llvm::OpenMPIRBuilder::loadOffloadInfoMetadata(), and llvm::stripDebugifyMetadata().
|
inline |
Definition at line 1791 of file Metadata.h.
References llvm::make_range(), op_begin(), and op_end().
void NamedMDNode::print | ( | raw_ostream & | ROS, |
bool | IsForDebug = false |
||
) | const |
Definition at line 4736 of file AsmWriter.cpp.
References getParent(), and OS.
Referenced by dump().
void NamedMDNode::print | ( | raw_ostream & | ROS, |
ModuleSlotTracker & | MST, | ||
bool | IsForDebug = false |
||
) | const |
Definition at line 4743 of file AsmWriter.cpp.
References llvm::ModuleSlotTracker::getMachine(), getParent(), and OS.
Definition at line 1354 of file Metadata.cpp.
References assert(), getNMDOps(), getNumOperands(), and I.
Referenced by llvm::dxil::ValidatorVersionMD::update(), and llvm::UpgradeModuleFlags().
|
friend |
Definition at line 1693 of file Metadata.h.
|
friend |
Definition at line 1694 of file Metadata.h.