|
LLVM
3.7.0
|
Tuple of metadata. More...
#include <Metadata.h>
Static Public Member Functions | |
| static MDTuple * | get (LLVMContext &Context, ArrayRef< Metadata * > MDs) |
| static MDTuple * | getIfExists (LLVMContext &Context, ArrayRef< Metadata * > MDs) |
| static MDTuple * | getDistinct (LLVMContext &Context, ArrayRef< Metadata * > MDs) |
| Return a distinct node. More... | |
| static TempMDTuple | getTemporary (LLVMContext &Context, ArrayRef< Metadata * > MDs) |
| Return a temporary node. More... | |
| static bool | classof (const Metadata *MD) |
Static Public Member Functions inherited from llvm::MDNode | |
| static MDTuple * | get (LLVMContext &Context, ArrayRef< Metadata * > MDs) |
| static MDTuple * | getIfExists (LLVMContext &Context, ArrayRef< Metadata * > MDs) |
| static MDTuple * | getDistinct (LLVMContext &Context, ArrayRef< Metadata * > MDs) |
| static TempMDTuple | getTemporary (LLVMContext &Context, ArrayRef< Metadata * > MDs) |
| static void | deleteTemporary (MDNode *N) |
| Deallocate a node created by getTemporary. More... | |
| template<class T > | |
| static std::enable_if < std::is_base_of< MDNode, T > ::value, T * >::type | replaceWithPermanent (std::unique_ptr< T, TempMDNodeDeleter > N) |
| Replace a temporary node with a permanent one. More... | |
| template<class T > | |
| static std::enable_if < std::is_base_of< MDNode, T > ::value, T * >::type | replaceWithUniqued (std::unique_ptr< T, TempMDNodeDeleter > N) |
| Replace a temporary node with a uniqued one. More... | |
| template<class T > | |
| static std::enable_if < std::is_base_of< MDNode, T > ::value, T * >::type | replaceWithDistinct (std::unique_ptr< T, TempMDNodeDeleter > N) |
| Replace a temporary node with a distinct one. More... | |
| static bool | classof (const Metadata *MD) |
| Methods for support type inquiry through isa, cast, and dyn_cast: More... | |
| static MDNode * | concatenate (MDNode *A, MDNode *B) |
| Methods for metadata merging. More... | |
| static MDNode * | intersect (MDNode *A, MDNode *B) |
| static MDNode * | getMostGenericTBAA (MDNode *A, MDNode *B) |
| static MDNode * | getMostGenericFPMath (MDNode *A, MDNode *B) |
| static MDNode * | getMostGenericRange (MDNode *A, MDNode *B) |
| static MDNode * | getMostGenericAliasScope (MDNode *A, MDNode *B) |
Friends | |
| class | LLVMContextImpl |
| class | MDNode |
Tuple of metadata.
This is the simple MDNode arbitrary tuple. Nodes are uniqued by default based on their operands.
Definition at line 972 of file Metadata.h.
Definition at line 1025 of file Metadata.h.
References llvm::Metadata::getMetadataID(), and llvm::Metadata::MDTupleKind.
|
inline |
Return a (temporary) clone of this.
Definition at line 1023 of file Metadata.h.
|
inlinestatic |
Definition at line 998 of file Metadata.h.
References llvm::MDNode::Context, and llvm::Metadata::Uniqued.
Referenced by AddOperand(), llvm::DIBuilder::finalize(), llvm::MDNode::get(), and llvm::DIBuilder::getOrCreateArray().
|
inlinestatic |
Return a distinct node.
Return a distinct node – i.e., a node that is not uniqued.
Definition at line 1008 of file Metadata.h.
References llvm::Metadata::Distinct.
Referenced by llvm::MDNode::getDistinct().
|
inline |
Get the hash, if any.
Definition at line 996 of file Metadata.h.
References llvm::Metadata::SubclassData32.
|
inlinestatic |
Definition at line 1001 of file Metadata.h.
References llvm::Metadata::Uniqued.
Referenced by llvm::MDNode::getIfExists().
|
inlinestatic |
Return a temporary node.
For use in constructing cyclic MDNode structures. A temporary MDNode is not uniqued, may be RAUW'd, and must be manually deleted with deleteTemporary.
Definition at line 1017 of file Metadata.h.
References llvm::Metadata::Temporary.
Referenced by CloneAliasScopeMetadata(), llvm::DIBuilder::createFunction(), and llvm::MDNode::getTemporary().
|
friend |
Definition at line 973 of file Metadata.h.
|
friend |
Definition at line 974 of file Metadata.h.
1.8.6