|
LLVM
4.0.0
|
This file contains the declarations for metadata subclasses. More...
#include "llvm/ADT/ArrayRef.h"#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/DenseMapInfo.h"#include "llvm/ADT/ilist_node.h"#include "llvm/ADT/iterator_range.h"#include "llvm/ADT/None.h"#include "llvm/ADT/PointerUnion.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/StringRef.h"#include "llvm/IR/Constant.h"#include "llvm/IR/LLVMContext.h"#include "llvm/IR/Value.h"#include "llvm/Support/Casting.h"#include "llvm/Support/ErrorHandling.h"#include <cassert>#include <cstddef>#include <cstdint>#include <iterator>#include <memory>#include <string>#include <type_traits>#include <utility>#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_LEAF(CLASS) CLASS##Kind, |
| #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 811 of file Metadata.h.
| #define HANDLE_MDNODE_LEAF | ( | CLASS | ) | typedef std::unique_ptr<CLASS, TempMDNodeDeleter> Temp##CLASS; |
Definition at line 809 of file Metadata.h.
| #define HANDLE_MDNODE_LEAF | ( | CLASS | ) |
Definition at line 809 of file Metadata.h.
| #define HANDLE_METADATA | ( | CLASS | ) | class CLASS; |
Definition at line 1225 of file Metadata.h.
| #define HANDLE_METADATA | ( | CLASS | ) | typedef MDTupleTypedArrayWrapper<CLASS> CLASS##Array; |
Definition at line 1225 of file Metadata.h.
| #define HANDLE_METADATA_LEAF | ( | CLASS | ) | CLASS##Kind, |
Definition at line 141 of file Metadata.h.
| #define HANDLE_METADATA_LEAF | ( | CLASS | ) |
Definition at line 141 of file Metadata.h.
1.8.6