llvm::DIFactory Class Reference

#include <DebugInfo.h>

List of all members.

Public Types

enum  ComplexAddrKind { OpPlus = 1, OpDeref }

Public Member Functions

 DIFactory (Module &m)
DIArray GetOrCreateArray (DIDescriptor *Tys, unsigned NumTys)
DISubrange GetOrCreateSubrange (int64_t Lo, int64_t Hi)
DICompileUnit CreateCompileUnit (unsigned LangID, StringRef Filename, StringRef Directory, StringRef Producer, bool isMain=false, bool isOptimized=false, StringRef Flags="", unsigned RunTimeVer=0)
DIFile CreateFile (StringRef Filename, StringRef Directory, DICompileUnit CU)
 CreateFile - Create a new descriptor for the specified file.
DIEnumerator CreateEnumerator (StringRef Name, uint64_t Val)
 CreateEnumerator - Create a single enumerator value.
DIBasicType CreateBasicType (DIDescriptor Context, StringRef Name, DIFile F, unsigned LineNumber, uint64_t SizeInBits, uint64_t AlignInBits, uint64_t OffsetInBits, unsigned Flags, unsigned Encoding)
 CreateBasicType - Create a basic type like int, float, etc.
DIBasicType CreateBasicTypeEx (DIDescriptor Context, StringRef Name, DIFile F, unsigned LineNumber, Constant *SizeInBits, Constant *AlignInBits, Constant *OffsetInBits, unsigned Flags, unsigned Encoding)
 CreateBasicType - Create a basic type like int, float, etc.
DIDerivedType CreateDerivedType (unsigned Tag, DIDescriptor Context, StringRef Name, DIFile F, unsigned LineNumber, uint64_t SizeInBits, uint64_t AlignInBits, uint64_t OffsetInBits, unsigned Flags, DIType DerivedFrom)
DIDerivedType CreateDerivedTypeEx (unsigned Tag, DIDescriptor Context, StringRef Name, DIFile F, unsigned LineNumber, Constant *SizeInBits, Constant *AlignInBits, Constant *OffsetInBits, unsigned Flags, DIType DerivedFrom)
DICompositeType CreateCompositeType (unsigned Tag, DIDescriptor Context, StringRef Name, DIFile F, unsigned LineNumber, uint64_t SizeInBits, uint64_t AlignInBits, uint64_t OffsetInBits, unsigned Flags, DIType DerivedFrom, DIArray Elements, unsigned RunTimeLang=0, MDNode *ContainingType=0)
 CreateCompositeType - Create a composite type like array, struct, etc.
DIType CreateArtificialType (DIType Ty)
 CreateArtificialType - Create a new DIType with "artificial" flag set.
DICompositeType CreateCompositeTypeEx (unsigned Tag, DIDescriptor Context, StringRef Name, DIFile F, unsigned LineNumber, Constant *SizeInBits, Constant *AlignInBits, Constant *OffsetInBits, unsigned Flags, DIType DerivedFrom, DIArray Elements, unsigned RunTimeLang=0)
 CreateCompositeType - Create a composite type like array, struct, etc.
DISubprogram CreateSubprogram (DIDescriptor Context, StringRef Name, StringRef DisplayName, StringRef LinkageName, DIFile F, unsigned LineNo, DIType Ty, bool isLocalToUnit, bool isDefinition, unsigned VK=0, unsigned VIndex=0, DIType=DIType(), bool isArtificial=0)
DISubprogram CreateSubprogramDefinition (DISubprogram &SPDeclaration)
DIGlobalVariable CreateGlobalVariable (DIDescriptor Context, StringRef Name, StringRef DisplayName, StringRef LinkageName, DIFile F, unsigned LineNo, DIType Ty, bool isLocalToUnit, bool isDefinition, llvm::GlobalVariable *GV)
 CreateGlobalVariable - Create a new descriptor for the specified global.
DIVariable CreateVariable (unsigned Tag, DIDescriptor Context, StringRef Name, DIFile F, unsigned LineNo, DIType Ty)
 CreateVariable - Create a new descriptor for the specified variable.
DIVariable CreateComplexVariable (unsigned Tag, DIDescriptor Context, const std::string &Name, DIFile F, unsigned LineNo, DIType Ty, SmallVector< Value *, 9 > &addr)
DILexicalBlock CreateLexicalBlock (DIDescriptor Context, unsigned Line=0, unsigned Col=0)
DINameSpace CreateNameSpace (DIDescriptor Context, StringRef Name, DIFile F, unsigned LineNo)
DILocation CreateLocation (unsigned LineNo, unsigned ColumnNo, DIScope S, DILocation OrigLoc)
 CreateLocation - Creates a debug info location.
DILocation CreateLocation (unsigned LineNo, unsigned ColumnNo, DIScope S, MDNode *OrigLoc=0)
 CreateLocation - Creates a debug info location.
Instruction * InsertDeclare (llvm::Value *Storage, DIVariable D, BasicBlock *InsertAtEnd)
 InsertDeclare - Insert a new llvm.dbg.declare intrinsic call.
Instruction * InsertDeclare (llvm::Value *Storage, DIVariable D, Instruction *InsertBefore)
 InsertDeclare - Insert a new llvm.dbg.declare intrinsic call.
Instruction * InsertDbgValueIntrinsic (llvm::Value *V, uint64_t Offset, DIVariable D, BasicBlock *InsertAtEnd)
 InsertDbgValueIntrinsic - Insert a new llvm.dbg.value intrinsic call.
Instruction * InsertDbgValueIntrinsic (llvm::Value *V, uint64_t Offset, DIVariable D, Instruction *InsertBefore)
 InsertDbgValueIntrinsic - Insert a new llvm.dbg.value intrinsic call.


Detailed Description

DIFactory - This object assists with the construction of the various descriptors.

Member Function Documentation

DICompileUnit llvm::DIFactory::CreateCompileUnit ( unsigned  LangID,
StringRef  Filename,
StringRef  Directory,
StringRef  Producer,
bool  isMain = false,
bool  isOptimized = false,
StringRef  Flags = "",
unsigned  RunTimeVer = 0 
)

CreateCompileUnit - Create a new descriptor for the specified compile unit.

DIVariable llvm::DIFactory::CreateComplexVariable ( unsigned  Tag,
DIDescriptor  Context,
const std::string &  Name,
DIFile  F,
unsigned  LineNo,
DIType  Ty,
SmallVector< Value *, 9 > &  addr 
)

CreateComplexVariable - Create a new descriptor for the specified variable which has a complex address expression for its address.

DIDerivedType llvm::DIFactory::CreateDerivedType ( unsigned  Tag,
DIDescriptor  Context,
StringRef  Name,
DIFile  F,
unsigned  LineNumber,
uint64_t  SizeInBits,
uint64_t  AlignInBits,
uint64_t  OffsetInBits,
unsigned  Flags,
DIType  DerivedFrom 
)

CreateDerivedType - Create a derived type like const qualified type, pointer, typedef, etc.

DIDerivedType llvm::DIFactory::CreateDerivedTypeEx ( unsigned  Tag,
DIDescriptor  Context,
StringRef  Name,
DIFile  F,
unsigned  LineNumber,
Constant *  SizeInBits,
Constant *  AlignInBits,
Constant *  OffsetInBits,
unsigned  Flags,
DIType  DerivedFrom 
)

CreateDerivedType - Create a derived type like const qualified type, pointer, typedef, etc.

DILexicalBlock llvm::DIFactory::CreateLexicalBlock ( DIDescriptor  Context,
unsigned  Line = 0,
unsigned  Col = 0 
)

CreateLexicalBlock - This creates a descriptor for a lexical block with the specified parent context.

DINameSpace llvm::DIFactory::CreateNameSpace ( DIDescriptor  Context,
StringRef  Name,
DIFile  F,
unsigned  LineNo 
)

CreateNameSpace - This creates new descriptor for a namespace with the specified parent context.

DISubprogram llvm::DIFactory::CreateSubprogram ( DIDescriptor  Context,
StringRef  Name,
StringRef  DisplayName,
StringRef  LinkageName,
DIFile  F,
unsigned  LineNo,
DIType  Ty,
bool  isLocalToUnit,
bool  isDefinition,
unsigned  VK = 0,
unsigned  VIndex = 0,
DIType  = DIType(),
bool  isArtificial = 0 
)

CreateSubprogram - Create a new descriptor for the specified subprogram. See comments in DISubprogram for descriptions of these fields.

DISubprogram llvm::DIFactory::CreateSubprogramDefinition ( DISubprogram SPDeclaration  ) 

CreateSubprogramDefinition - Create new subprogram descriptor for the given declaration.

DIArray llvm::DIFactory::GetOrCreateArray ( DIDescriptor Tys,
unsigned  NumTys 
)

GetOrCreateArray - Create an descriptor for an array of descriptors. This implicitly uniques the arrays created.

DISubrange llvm::DIFactory::GetOrCreateSubrange ( int64_t  Lo,
int64_t  Hi 
)

GetOrCreateSubrange - Create a descriptor for a value range. This implicitly uniques the values returned.


The documentation for this class was generated from the following file:

Generated on Fri Mar 19 01:41:24 2010 by  doxygen 1.5.8