LLVM 20.0.0git
|
A tuple of MDNodes. More...
#include "llvm/IR/Metadata.h"
Public Types | |
using | op_iterator = op_iterator_impl< MDNode * > |
using | const_op_iterator = op_iterator_impl< const MDNode * > |
Friends | |
class | LLVMContextImpl |
class | Module |
Additional Inherited Members | |
Protected Types inherited from llvm::ilist_node_impl< OptionsT > | |
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 |
Protected Member Functions inherited from llvm::ilist_node_impl< OptionsT > | |
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 1730 of file Metadata.h.
using llvm::NamedMDNode::const_op_iterator = op_iterator_impl<const MDNode *> |
Definition at line 1821 of file Metadata.h.
using llvm::NamedMDNode::op_iterator = op_iterator_impl<MDNode *> |
Definition at line 1816 of file Metadata.h.
|
delete |
NamedMDNode::~NamedMDNode | ( | ) |
Definition at line 1379 of file Metadata.cpp.
References dropAllReferences(), and getNMDOps().
void NamedMDNode::addOperand | ( | MDNode * | M | ) |
Definition at line 1394 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 1403 of file Metadata.cpp.
References getNMDOps().
Referenced by dropAllReferences(), stripDeadDebugInfoImpl(), and llvm::stripDebugifyMetadata().
|
inline |
Remove all uses and clear node vector.
Definition at line 1795 of file Metadata.h.
References clearOperands().
Referenced by handleValVerMetadata(), and ~NamedMDNode().
LLVM_DUMP_METHOD void NamedMDNode::dump | ( | ) | const |
Definition at line 5296 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 1401 of file Metadata.cpp.
References llvm::Module::eraseNamedMetadata(), and getParent().
Referenced by handleValVerMetadata(), and llvm::stripDebugifyMetadata().
StringRef NamedMDNode::getName | ( | ) | const |
Definition at line 1405 of file Metadata.cpp.
Referenced by llvm::Module::eraseNamedMetadata(), LLVMGetNamedMetadataName(), and llvm::stripNonLineTableDebugInfo().
unsigned NamedMDNode::getNumOperands | ( | ) | const |
Definition at line 1384 of file Metadata.cpp.
References getNMDOps().
Referenced by llvm::cacheAnnotationFromMD(), llvm::emitAMDGPUPrintfCall(), getHiPELiteral(), getOCLKernelArgAttribute(), getOperand(), llvm::dxil::ValidatorVersionMD::isEmpty(), op_end(), setOperand(), llvm::stripDebugifyMetadata(), and llvm::UpgradeModuleFlags().
Definition at line 1388 of file Metadata.cpp.
References assert(), getNMDOps(), getNumOperands(), and N.
Referenced by llvm::cacheAnnotationFromMD(), collectMetadataInfo(), llvm::dxil::ValidatorVersionMD::getAsVersionTuple(), getHiPELiteral(), getOCLKernelArgAttribute(), handleValVerMetadata(), llvm::Module::debug_compile_units_iterator::operator*(), llvm::UpgradeModuleFlags(), and upgradeRetainReleaseMarker().
|
inline |
Get the module that holds this named metadata collection.
Definition at line 1800 of file Metadata.h.
Referenced by eraseFromParent(), LLVMGetNextNamedMetadata(), LLVMGetPreviousNamedMetadata(), print(), and llvm::dxil::ValidatorVersionMD::update().
Definition at line 1801 of file Metadata.h.
|
inline |
Definition at line 1818 of file Metadata.h.
Referenced by operands().
|
inline |
Definition at line 1823 of file Metadata.h.
|
inline |
|
inline |
Definition at line 1824 of file Metadata.h.
References getNumOperands().
|
inline |
Definition at line 1826 of file Metadata.h.
References llvm::make_range(), op_begin(), and op_end().
Referenced by llvm::omp::getDeviceKernels(), llvm::Module::getModuleFlag(), llvm::Module::getModuleFlagsMetadata(), getNVPTXMDNode(), llvm::OpenMPIRBuilder::loadOffloadInfoMetadata(), llvm::Module::setModuleFlag(), and llvm::stripDebugifyMetadata().
|
inline |
Definition at line 1829 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 4883 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 4890 of file AsmWriter.cpp.
References llvm::ModuleSlotTracker::getMachine(), getParent(), and OS.
Definition at line 1396 of file Metadata.cpp.
References assert(), getNMDOps(), getNumOperands(), and I.
Referenced by llvm::dxil::ValidatorVersionMD::update(), and llvm::UpgradeModuleFlags().
|
friend |
Definition at line 1731 of file Metadata.h.
|
friend |
Definition at line 1732 of file Metadata.h.