LLVM API Documentation

Classes | Namespaces | Defines | Enumerations | Functions
Metadata.h File Reference
#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"
Include dependency graph for Metadata.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::Metadata
 Root of the metadata hierarchy. More...
class  llvm::MetadataAsValue
 Metadata wrapper in the Value hierarchy. More...
class  llvm::ReplaceableMetadataImpl
 Shared implementation of use-lists for replaceable metadata. More...
class  llvm::ValueAsMetadata
 Value wrapper in the Metadata hierarchy. More...
class  llvm::ConstantAsMetadata
class  llvm::LocalAsMetadata
struct  llvm::mdconst::detail::HasDereference< T, Result >
struct  llvm::mdconst::detail::HasDereference< T, Result >::SFINAE< N >
struct  llvm::mdconst::detail::IsValidPointer< V, M >
struct  llvm::mdconst::detail::IsValidReference< V, M >
class  llvm::MDString
 A single uniqued string. More...
struct  llvm::AAMDNodes
 A collection of metadata nodes that might be associated with a memory access used by the alias-analysis infrastructure. More...
struct  llvm::DenseMapInfo< AAMDNodes >
class  llvm::MDOperand
 Tracking metadata reference owned by Metadata. More...
struct  llvm::simplify_type< MDOperand >
struct  llvm::simplify_type< const MDOperand >
class  llvm::MDNode
 Tuple of metadata. More...
class  llvm::GenericMDNode
 Generic metadata node. More...
class  llvm::MDNodeFwdDecl
 Forward declaration of metadata. More...
class  llvm::NamedMDNode
 A tuple of MDNodes. More...
class  llvm::NamedMDNode::op_iterator_impl< T1, T2 >

Namespaces

namespace  llvm
 

List of target independent CodeGen pass IDs.


namespace  llvm::mdconst
 

Transitional API for extracting constants from Metadata.


namespace  llvm::mdconst::detail

Defines

#define HANDLE_METADATA(CLASS)   class CLASS;

Enumerations

enum  llvm::LLVMConstants { llvm::DEBUG_METADATA_VERSION = 2 }

Functions

raw_ostream & llvm::operator<< (raw_ostream &OS, const Metadata &MD)
template<class T >
Tllvm::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.
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.
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.
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.
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.

Detailed Description

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 Documentation

#define HANDLE_METADATA (   CLASS)    class CLASS;

Definition at line 94 of file Metadata.h.