LLVM  3.7.0
Classes | Namespaces | Macros | Typedefs
DebugInfoMetadata.h File Reference
#include "llvm/IR/Metadata.h"
#include "llvm/Support/Dwarf.h"
#include "llvm/IR/DebugInfoFlags.def"
Include dependency graph for DebugInfoMetadata.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::TypedDINodeRef< T >
 Pointer union between a subclass of DINode and MDString. More...
 
class  llvm::DITypeRefArray
 
class  llvm::DITypeRefArray::iterator
 
class  llvm::DINode
 Tagged DWARF-like metadata node. More...
 
struct  llvm::simplify_type< const TypedDINodeRef< T > >
 
struct  llvm::simplify_type< TypedDINodeRef< T > >
 
class  llvm::GenericDINode
 Generic tagged DWARF-like metadata node. More...
 
class  llvm::DISubrange
 Array subrange. More...
 
class  llvm::DIEnumerator
 Enumeration value. More...
 
class  llvm::DIScope
 Base class for scope-like contexts. More...
 
class  llvm::DIFile
 File. More...
 
class  llvm::DIType
 Base class for types. More...
 
class  llvm::DIBasicType
 Basic type, like 'int' or 'float'. More...
 
class  llvm::DIDerivedTypeBase
 Base class for DIDerivedType and DICompositeType. More...
 
class  llvm::DIDerivedType
 Derived types. More...
 
class  llvm::DICompositeTypeBase
 Base class for DICompositeType and DISubroutineType. More...
 
class  llvm::DICompositeType
 Composite types. More...
 
class  llvm::DISubroutineType
 Type array for a subprogram. More...
 
class  llvm::DICompileUnit
 Compile unit. More...
 
class  llvm::DILocalScope
 A scope for locals. More...
 
class  llvm::DILocation
 Debug location. More...
 
class  llvm::DISubprogram
 Subprogram description. More...
 
class  llvm::DILexicalBlockBase
 
class  llvm::DILexicalBlock
 
class  llvm::DILexicalBlockFile
 
class  llvm::DINamespace
 
class  llvm::DIModule
 A (clang) module that has been imported by the compile unit. More...
 
class  llvm::DITemplateParameter
 Base class for template parameters. More...
 
class  llvm::DITemplateTypeParameter
 
class  llvm::DITemplateValueParameter
 
class  llvm::DIVariable
 Base class for variables. More...
 
class  llvm::DIGlobalVariable
 Global variables. More...
 
class  llvm::DILocalVariable
 Local variable. More...
 
class  llvm::DIExpression
 DWARF expression. More...
 
class  llvm::DIExpression::ExprOperand
 A lightweight wrapper around an expression operand. More...
 
class  llvm::DIExpression::expr_op_iterator
 An iterator for expression operands. More...
 
class  llvm::DIObjCProperty
 
class  llvm::DIImportedEntity
 An imported module (C++ using directive or similar). More...
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

Macros

#define DEFINE_MDNODE_GET_UNPACK_IMPL(...)   __VA_ARGS__
 
#define DEFINE_MDNODE_GET_UNPACK(ARGS)   DEFINE_MDNODE_GET_UNPACK_IMPL ARGS
 
#define DEFINE_MDNODE_GET(CLASS, FORMAL, ARGS)
 
#define HANDLE_DI_FLAG(ID, NAME)   Flag##NAME = ID,
 

Typedefs

typedef TypedDINodeRef< DINode > llvm::DINodeRef
 
typedef TypedDINodeRef< DIScope > llvm::DIScopeRef
 
typedef TypedDINodeRef< DIType > llvm::DITypeRef
 

Macro Definition Documentation

#define DEFINE_MDNODE_GET (   CLASS,
  FORMAL,
  ARGS 
)
Value:
static CLASS *get(LLVMContext &Context, DEFINE_MDNODE_GET_UNPACK(FORMAL)) { \
return getImpl(Context, DEFINE_MDNODE_GET_UNPACK(ARGS), Uniqued); \
} \
static CLASS *getIfExists(LLVMContext &Context, \
return getImpl(Context, DEFINE_MDNODE_GET_UNPACK(ARGS), Uniqued, \
/* ShouldCreate */ false); \
} \
static CLASS *getDistinct(LLVMContext &Context, \
return getImpl(Context, DEFINE_MDNODE_GET_UNPACK(ARGS), Distinct); \
} \
static Temp##CLASS getTemporary(LLVMContext &Context, \
return Temp##CLASS( \
getImpl(Context, DEFINE_MDNODE_GET_UNPACK(ARGS), Temporary)); \
}
#define DEFINE_MDNODE_GET_UNPACK(ARGS)

Definition at line 23 of file DebugInfoMetadata.h.

#define DEFINE_MDNODE_GET_UNPACK (   ARGS)    DEFINE_MDNODE_GET_UNPACK_IMPL ARGS

Definition at line 22 of file DebugInfoMetadata.h.

#define DEFINE_MDNODE_GET_UNPACK_IMPL (   ...)    __VA_ARGS__

Definition at line 21 of file DebugInfoMetadata.h.

#define HANDLE_DI_FLAG (   ID,
  NAME 
)    Flag##NAME = ID,

Definition at line 181 of file DebugInfoMetadata.h.