|
LLVM
3.7.0
|
This file contains the declarations for metadata subclasses. More...
#include "llvm/ADT/ArrayRef.h"#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/ilist_node.h"#include "llvm/ADT/iterator_range.h"#include "llvm/IR/Constant.h"#include "llvm/IR/MetadataTracking.h"#include "llvm/IR/Value.h"#include "llvm/Support/ErrorHandling.h"#include <type_traits>#include "llvm/IR/Metadata.def"Go to the source code of this file.
Namespaces | |
| llvm | |
| Compute iterated dominance frontiers using a linear time algorithm. | |
| llvm::mdconst | |
| Transitional API for extracting constants from Metadata. | |
| llvm::mdconst::detail | |
Macros | |
| #define | HANDLE_METADATA(CLASS) class CLASS; |
| #define | HANDLE_METADATA_LEAF(CLASS) |
| #define | HANDLE_MDNODE_LEAF(CLASS) typedef std::unique_ptr<CLASS, TempMDNodeDeleter> Temp##CLASS; |
| #define | HANDLE_MDNODE_BRANCH(CLASS) HANDLE_MDNODE_LEAF(CLASS) |
| #define | HANDLE_MDNODE_LEAF(CLASS) |
| #define | HANDLE_METADATA(CLASS) typedef MDTupleTypedArrayWrapper<CLASS> CLASS##Array; |
Enumerations | |
| enum | llvm::LLVMConstants : uint32_t { llvm::DEBUG_METADATA_VERSION = 3 } |
Functions | |
| raw_ostream & | llvm::operator<< (raw_ostream &OS, const Metadata &MD) |
| template<class T > | |
| T & | llvm::mdconst::detail::make () |
| template<class X , class Y > | |
| std::enable_if < detail::IsValidPointer< X, Y > ::value, bool >::type | llvm::mdconst::hasa (Y &&MD) |
| Check whether Metadata has a Value. More... | |
| template<class X , class Y > | |
| std::enable_if < detail::IsValidReference< X, Y & >::value, bool >::type | llvm::mdconst::hasa (Y &MD) |
| template<class X , class Y > | |
| std::enable_if < detail::IsValidPointer< X, Y > ::value, X * >::type | llvm::mdconst::extract (Y &&MD) |
| Extract a Value from Metadata. More... | |
| template<class X , class Y > | |
| std::enable_if < detail::IsValidReference< X, Y & >::value, X * >::type | llvm::mdconst::extract (Y &MD) |
| template<class X , class Y > | |
| std::enable_if < detail::IsValidPointer< X, Y > ::value, X * >::type | llvm::mdconst::extract_or_null (Y &&MD) |
| Extract a Value from Metadata, allowing null. More... | |
| template<class X , class Y > | |
| std::enable_if < detail::IsValidPointer< X, Y > ::value, X * >::type | llvm::mdconst::dyn_extract (Y &&MD) |
| Extract a Value from Metadata, if any. More... | |
| template<class X , class Y > | |
| std::enable_if < detail::IsValidPointer< X, Y > ::value, X * >::type | llvm::mdconst::dyn_extract_or_null (Y &&MD) |
| Extract a Value from Metadata, if any, allowing null. More... | |
This file contains the declarations for metadata subclasses.
They represent the different flavors of metadata that live in LLVM.
Definition in file Metadata.h.
| #define HANDLE_MDNODE_BRANCH | ( | CLASS | ) | HANDLE_MDNODE_LEAF(CLASS) |
Definition at line 721 of file Metadata.h.
| #define HANDLE_MDNODE_LEAF | ( | CLASS | ) | typedef std::unique_ptr<CLASS, TempMDNodeDeleter> Temp##CLASS; |
Definition at line 719 of file Metadata.h.
| #define HANDLE_MDNODE_LEAF | ( | CLASS | ) |
Definition at line 719 of file Metadata.h.
| #define HANDLE_METADATA | ( | CLASS | ) | class CLASS; |
Definition at line 1116 of file Metadata.h.
| #define HANDLE_METADATA | ( | CLASS | ) | typedef MDTupleTypedArrayWrapper<CLASS> CLASS##Array; |
Definition at line 1116 of file Metadata.h.
| #define HANDLE_METADATA_LEAF | ( | CLASS | ) |
Definition at line 152 of file Metadata.h.
1.8.6