LLVM  mainline
Classes | Namespaces | Defines | Typedefs | Functions
DebugInfo.h File Reference
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/IR/DebugInfoMetadata.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Dwarf.h"
#include "llvm/Support/ErrorHandling.h"
#include <iterator>
#include "llvm/IR/DebugInfoFlags.def"
Include dependency graph for DebugInfo.h:

Go to the source code of this file.


class  llvm::DIHeaderFieldIterator
class  llvm::DIDescriptor
 A thin wraper around MDNode to access encoded debug info. More...
class  llvm::DISubrange
 This is used to represent ranges, for array bounds. More...
class  llvm::DITypedArray< T >
 This descriptor holds an array of nodes with type T. More...
class  llvm::DIEnumerator
 A wrapper for an enumerator (e.g. X and Y in 'enum {X,Y}'). More...
class  llvm::DIScope
 A base class for various scopes. More...
class  llvm::DIRef< T >
 Represents reference to a DIDescriptor. More...
class  llvm::DIType
 This is a wrapper for a type. More...
class  llvm::DIBasicType
 A basic type, like 'int' or 'float'. More...
class  llvm::DIDerivedType
 A simple derived type. More...
class  llvm::DICompositeType
 Types that refer to multiple other types. More...
class  llvm::DISubroutineType
class  llvm::DIFile
 This is a wrapper for a file. More...
class  llvm::DICompileUnit
 A wrapper for a compile unit. More...
class  llvm::DISubprogram
 This is a wrapper for a subprogram (e.g. a function). More...
class  llvm::DILexicalBlock
 This is a wrapper for a lexical block. More...
class  llvm::DILexicalBlockFile
 This is a wrapper for a lexical block with a filename change. More...
class  llvm::DINameSpace
 A wrapper for a C++ style name space. More...
class  llvm::DITemplateTypeParameter
 This is a wrapper for template type parameter. More...
class  llvm::DITemplateValueParameter
 This is a wrapper for template value parameter. More...
class  llvm::DIGlobalVariable
 This is a wrapper for a global variable. More...
class  llvm::DIVariable
 This is a wrapper for a variable (e.g. parameter, local, global etc). More...
class  llvm::DIExpression
 A complex location expression in postfix notation. More...
class  llvm::DIExpression::Operand
 A lightweight wrapper around an element of a DIExpression. More...
class  llvm::DIExpression::iterator
 An iterator for DIExpression elements. More...
class  llvm::DILocation
 This object holds location information. More...
class  llvm::DIObjCProperty
class  llvm::DIImportedEntity
 An imported module (C++ using directive or similar). More...
class  llvm::DebugInfoFinder
 Utility to find all debug info in a module. More...


namespace  llvm

List of target independent CodeGen pass IDs.


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


typedef DenseMap< const
MDString *, MDNode * > 
 Maps from type identifier to the actual MDNode.
typedef DITypedArray
< DIDescriptor > 
typedef DIRef< DIDescriptor > llvm::DIDescriptorRef
typedef DIRef< DIScope > llvm::DIScopeRef
typedef DIRef< DIType > llvm::DITypeRef
typedef DITypedArray< DITypeRef > llvm::DITypeArray


DISubprogram llvm::getDISubprogram (const MDNode *Scope)
 Find subprogram that is enclosing this scope.
DISubprogram llvm::getDISubprogram (const Function *F)
 Find debug info for a given function.
DICompositeType llvm::getDICompositeType (DIType T)
 Find underlying composite type.
DIVariable llvm::createInlinedVariable (MDNode *DV, MDNode *InlinedScope, LLVMContext &VMContext)
 Create a new inlined variable based on current variable.
DIVariable llvm::cleanseInlinedVariable (MDNode *DV, LLVMContext &VMContext)
 Remove inlined scope from the variable.
DITypeIdentifierMap llvm::generateDITypeIdentifierMap (const NamedMDNode *CU_Nodes)
 Generate map by visiting all retained types.
bool llvm::StripDebugInfo (Module &M)
 Strip debug info in the module if it exists.
bool llvm::stripDebugInfo (Function &F)
unsigned llvm::getDebugMetadataVersionFromModule (const Module &M)
 Return Debug Info Metadata Version by checking module flags.
DenseMap< const Function
*, DISubprogram
llvm::makeSubprogramMap (const Module &M)

Define Documentation

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

Definition at line 134 of file DebugInfo.h.

Referenced by llvm::DIDescriptor::getFlag().