Follow LLVM coding style.

clang uses DBuilder, so it requries corresponding change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126231 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Devang Patel
2011-02-22 18:56:12 +00:00
parent 4c3ab58c47
commit 50d280c14e
2 changed files with 154 additions and 154 deletions

View File

@ -58,7 +58,7 @@ namespace llvm {
const MDNode *getCU() { return TheCU; } const MDNode *getCU() { return TheCU; }
enum ComplexAddrKind { OpPlus=1, OpDeref }; enum ComplexAddrKind { OpPlus=1, OpDeref };
/// CreateCompileUnit - A CompileUnit provides an anchor for all debugging /// createCompileUnit - A CompileUnit provides an anchor for all debugging
/// information generated during this instance of compilation. /// information generated during this instance of compilation.
/// @param Lang Source programming language, eg. dwarf::DW_LANG_C99 /// @param Lang Source programming language, eg. dwarf::DW_LANG_C99
/// @param File File name /// @param File File name
@ -72,67 +72,67 @@ namespace llvm {
/// by a tool analyzing generated debugging information. /// by a tool analyzing generated debugging information.
/// @param RV This indicates runtime version for languages like /// @param RV This indicates runtime version for languages like
/// Objective-C. /// Objective-C.
void CreateCompileUnit(unsigned Lang, StringRef File, StringRef Dir, void createCompileUnit(unsigned Lang, StringRef File, StringRef Dir,
StringRef Producer, StringRef Producer,
bool isOptimized, StringRef Flags, unsigned RV); bool isOptimized, StringRef Flags, unsigned RV);
/// CreateFile - Create a file descriptor to hold debugging information /// createFile - Create a file descriptor to hold debugging information
/// for a file. /// for a file.
DIFile CreateFile(StringRef Filename, StringRef Directory); DIFile createFile(StringRef Filename, StringRef Directory);
/// CreateEnumerator - Create a single enumerator value. /// createEnumerator - Create a single enumerator value.
DIEnumerator CreateEnumerator(StringRef Name, uint64_t Val); DIEnumerator createEnumerator(StringRef Name, uint64_t Val);
/// CreateBasicType - Create debugging information entry for a basic /// createBasicType - Create debugging information entry for a basic
/// type. /// type.
/// @param Name Type name. /// @param Name Type name.
/// @param SizeInBits Size of the type. /// @param SizeInBits Size of the type.
/// @param AlignInBits Type alignment. /// @param AlignInBits Type alignment.
/// @param Encoding DWARF encoding code, e.g. dwarf::DW_ATE_float. /// @param Encoding DWARF encoding code, e.g. dwarf::DW_ATE_float.
DIType CreateBasicType(StringRef Name, uint64_t SizeInBits, DIType createBasicType(StringRef Name, uint64_t SizeInBits,
uint64_t AlignInBits, unsigned Encoding); uint64_t AlignInBits, unsigned Encoding);
/// CreateQualifiedType - Create debugging information entry for a qualified /// createQualifiedType - Create debugging information entry for a qualified
/// type, e.g. 'const int'. /// type, e.g. 'const int'.
/// @param Tag Tag identifing type, e.g. dwarf::TAG_volatile_type /// @param Tag Tag identifing type, e.g. dwarf::TAG_volatile_type
/// @param FromTy Base Type. /// @param FromTy Base Type.
DIType CreateQualifiedType(unsigned Tag, DIType FromTy); DIType createQualifiedType(unsigned Tag, DIType FromTy);
/// CreatePointerType - Create debugging information entry for a pointer. /// createPointerType - Create debugging information entry for a pointer.
/// @param PointeeTy Type pointed by this pointer. /// @param PointeeTy Type pointed by this pointer.
/// @param SizeInBits Size. /// @param SizeInBits Size.
/// @param AlignInBits Alignment. (optional) /// @param AlignInBits Alignment. (optional)
/// @param Name Pointer type name. (optional) /// @param Name Pointer type name. (optional)
DIType CreatePointerType(DIType PointeeTy, uint64_t SizeInBits, DIType createPointerType(DIType PointeeTy, uint64_t SizeInBits,
uint64_t AlignInBits = 0, uint64_t AlignInBits = 0,
StringRef Name = StringRef()); StringRef Name = StringRef());
/// CreateReferenceType - Create debugging information entry for a c++ /// createReferenceType - Create debugging information entry for a c++
/// style reference. /// style reference.
DIType CreateReferenceType(DIType RTy); DIType createReferenceType(DIType RTy);
/// CreateTypedef - Create debugging information entry for a typedef. /// createTypedef - Create debugging information entry for a typedef.
/// @param Ty Original type. /// @param Ty Original type.
/// @param Name Typedef name. /// @param Name Typedef name.
/// @param File File where this type is defined. /// @param File File where this type is defined.
/// @param LineNo Line number. /// @param LineNo Line number.
DIType CreateTypedef(DIType Ty, StringRef Name, DIFile File, DIType createTypedef(DIType Ty, StringRef Name, DIFile File,
unsigned LineNo); unsigned LineNo);
/// CreateFriend - Create debugging information entry for a 'friend'. /// createFriend - Create debugging information entry for a 'friend'.
DIType CreateFriend(DIType Ty, DIType FriendTy); DIType createFriend(DIType Ty, DIType FriendTy);
/// CreateInheritance - Create debugging information entry to establish /// createInheritance - Create debugging information entry to establish
/// inheritance relationship between two types. /// inheritance relationship between two types.
/// @param Ty Original type. /// @param Ty Original type.
/// @param BaseTy Base type. Ty is inherits from base. /// @param BaseTy Base type. Ty is inherits from base.
/// @param BaseOffset Base offset. /// @param BaseOffset Base offset.
/// @param Flags Flags to describe inheritance attribute, /// @param Flags Flags to describe inheritance attribute,
/// e.g. private /// e.g. private
DIType CreateInheritance(DIType Ty, DIType BaseTy, uint64_t BaseOffset, DIType createInheritance(DIType Ty, DIType BaseTy, uint64_t BaseOffset,
unsigned Flags); unsigned Flags);
/// CreateMemberType - Create debugging information entry for a member. /// createMemberType - Create debugging information entry for a member.
/// @param Name Member name. /// @param Name Member name.
/// @param File File where this member is defined. /// @param File File where this member is defined.
/// @param LineNo Line number. /// @param LineNo Line number.
@ -141,12 +141,12 @@ namespace llvm {
/// @param OffsetInBits Member offset. /// @param OffsetInBits Member offset.
/// @param Flags Flags to encode member attribute, e.g. private /// @param Flags Flags to encode member attribute, e.g. private
/// @param Ty Parent type. /// @param Ty Parent type.
DIType CreateMemberType(StringRef Name, DIFile File, DIType createMemberType(StringRef Name, DIFile File,
unsigned LineNo, uint64_t SizeInBits, unsigned LineNo, uint64_t SizeInBits,
uint64_t AlignInBits, uint64_t OffsetInBits, uint64_t AlignInBits, uint64_t OffsetInBits,
unsigned Flags, DIType Ty); unsigned Flags, DIType Ty);
/// CreateClassType - Create debugging information entry for a class. /// createClassType - Create debugging information entry for a class.
/// @param Scope Scope in which this class is defined. /// @param Scope Scope in which this class is defined.
/// @param Name class name. /// @param Name class name.
/// @param File File where this member is defined. /// @param File File where this member is defined.
@ -161,14 +161,14 @@ namespace llvm {
/// DW_AT_containing_type. See DWARF documentation /// DW_AT_containing_type. See DWARF documentation
/// for more info. /// for more info.
/// @param TemplateParms Template type parameters. /// @param TemplateParms Template type parameters.
DIType CreateClassType(DIDescriptor Scope, StringRef Name, DIFile File, DIType createClassType(DIDescriptor Scope, StringRef Name, DIFile File,
unsigned LineNumber, uint64_t SizeInBits, unsigned LineNumber, uint64_t SizeInBits,
uint64_t AlignInBits, uint64_t OffsetInBits, uint64_t AlignInBits, uint64_t OffsetInBits,
unsigned Flags, DIType DerivedFrom, unsigned Flags, DIType DerivedFrom,
DIArray Elements, MDNode *VTableHolder = 0, DIArray Elements, MDNode *VTableHolder = 0,
MDNode *TemplateParms = 0); MDNode *TemplateParms = 0);
/// CreateStructType - Create debugging information entry for a struct. /// createStructType - Create debugging information entry for a struct.
/// @param Scope Scope in which this struct is defined. /// @param Scope Scope in which this struct is defined.
/// @param Name Struct name. /// @param Name Struct name.
/// @param File File where this member is defined. /// @param File File where this member is defined.
@ -178,12 +178,12 @@ namespace llvm {
/// @param Flags Flags to encode member attribute, e.g. private /// @param Flags Flags to encode member attribute, e.g. private
/// @param Elements Struct elements. /// @param Elements Struct elements.
/// @param RunTimeLang Optional parameter, Objective-C runtime version. /// @param RunTimeLang Optional parameter, Objective-C runtime version.
DIType CreateStructType(DIDescriptor Scope, StringRef Name, DIFile File, DIType createStructType(DIDescriptor Scope, StringRef Name, DIFile File,
unsigned LineNumber, uint64_t SizeInBits, unsigned LineNumber, uint64_t SizeInBits,
uint64_t AlignInBits, unsigned Flags, uint64_t AlignInBits, unsigned Flags,
DIArray Elements, unsigned RunTimeLang = 0); DIArray Elements, unsigned RunTimeLang = 0);
/// CreateUnionType - Create debugging information entry for an union. /// createUnionType - Create debugging information entry for an union.
/// @param Scope Scope in which this union is defined. /// @param Scope Scope in which this union is defined.
/// @param Name Union name. /// @param Name Union name.
/// @param File File where this member is defined. /// @param File File where this member is defined.
@ -193,12 +193,12 @@ namespace llvm {
/// @param Flags Flags to encode member attribute, e.g. private /// @param Flags Flags to encode member attribute, e.g. private
/// @param Elements Union elements. /// @param Elements Union elements.
/// @param RunTimeLang Optional parameter, Objective-C runtime version. /// @param RunTimeLang Optional parameter, Objective-C runtime version.
DIType CreateUnionType(DIDescriptor Scope, StringRef Name, DIFile File, DIType createUnionType(DIDescriptor Scope, StringRef Name, DIFile File,
unsigned LineNumber, uint64_t SizeInBits, unsigned LineNumber, uint64_t SizeInBits,
uint64_t AlignInBits, unsigned Flags, uint64_t AlignInBits, unsigned Flags,
DIArray Elements, unsigned RunTimeLang = 0); DIArray Elements, unsigned RunTimeLang = 0);
/// CreateTemplateTypeParameter - Create debugging information for template /// createTemplateTypeParameter - Create debugging information for template
/// type parameter. /// type parameter.
/// @param Scope Scope in which this type is defined. /// @param Scope Scope in which this type is defined.
/// @param Name Type parameter name. /// @param Name Type parameter name.
@ -207,11 +207,11 @@ namespace llvm {
/// @param LineNo Line number. /// @param LineNo Line number.
/// @param ColumnNo Column Number. /// @param ColumnNo Column Number.
DITemplateTypeParameter DITemplateTypeParameter
CreateTemplateTypeParameter(DIDescriptor Scope, StringRef Name, DIType Ty, createTemplateTypeParameter(DIDescriptor Scope, StringRef Name, DIType Ty,
MDNode *File = 0, unsigned LineNo = 0, MDNode *File = 0, unsigned LineNo = 0,
unsigned ColumnNo = 0); unsigned ColumnNo = 0);
/// CreateTemplateValueParameter - Create debugging information for template /// createTemplateValueParameter - Create debugging information for template
/// value parameter. /// value parameter.
/// @param Scope Scope in which this type is defined. /// @param Scope Scope in which this type is defined.
/// @param Name Value parameter name. /// @param Name Value parameter name.
@ -221,28 +221,28 @@ namespace llvm {
/// @param LineNo Line number. /// @param LineNo Line number.
/// @param ColumnNo Column Number. /// @param ColumnNo Column Number.
DITemplateValueParameter DITemplateValueParameter
CreateTemplateValueParameter(DIDescriptor Scope, StringRef Name, DIType Ty, createTemplateValueParameter(DIDescriptor Scope, StringRef Name, DIType Ty,
uint64_t Value, uint64_t Value,
MDNode *File = 0, unsigned LineNo = 0, MDNode *File = 0, unsigned LineNo = 0,
unsigned ColumnNo = 0); unsigned ColumnNo = 0);
/// CreateArrayType - Create debugging information entry for an array. /// createArrayType - Create debugging information entry for an array.
/// @param Size Array size. /// @param Size Array size.
/// @param AlignInBits Alignment. /// @param AlignInBits Alignment.
/// @param Ty Element type. /// @param Ty Element type.
/// @param Subscripts Subscripts. /// @param Subscripts Subscripts.
DIType CreateArrayType(uint64_t Size, uint64_t AlignInBits, DIType createArrayType(uint64_t Size, uint64_t AlignInBits,
DIType Ty, DIArray Subscripts); DIType Ty, DIArray Subscripts);
/// CreateVectorType - Create debugging information entry for a vector type. /// createVectorType - Create debugging information entry for a vector type.
/// @param Size Array size. /// @param Size Array size.
/// @param AlignInBits Alignment. /// @param AlignInBits Alignment.
/// @param Ty Element type. /// @param Ty Element type.
/// @param Subscripts Subscripts. /// @param Subscripts Subscripts.
DIType CreateVectorType(uint64_t Size, uint64_t AlignInBits, DIType createVectorType(uint64_t Size, uint64_t AlignInBits,
DIType Ty, DIArray Subscripts); DIType Ty, DIArray Subscripts);
/// CreateEnumerationType - Create debugging information entry for an /// createEnumerationType - Create debugging information entry for an
/// enumeration. /// enumeration.
/// @param Scope Scope in which this enumeration is defined. /// @param Scope Scope in which this enumeration is defined.
/// @param Name Union name. /// @param Name Union name.
@ -251,40 +251,40 @@ namespace llvm {
/// @param SizeInBits Member size. /// @param SizeInBits Member size.
/// @param AlignInBits Member alignment. /// @param AlignInBits Member alignment.
/// @param Elements Enumeration elements. /// @param Elements Enumeration elements.
DIType CreateEnumerationType(DIDescriptor Scope, StringRef Name, DIType createEnumerationType(DIDescriptor Scope, StringRef Name,
DIFile File, unsigned LineNumber, DIFile File, unsigned LineNumber,
uint64_t SizeInBits, uint64_t SizeInBits,
uint64_t AlignInBits, DIArray Elements); uint64_t AlignInBits, DIArray Elements);
/// CreateSubroutineType - Create subroutine type. /// createSubroutineType - Create subroutine type.
/// @param File File in which this subroutine is defined. /// @param File File in which this subroutine is defined.
/// @param ParamterTypes An array of subroutine parameter types. This /// @param ParamterTypes An array of subroutine parameter types. This
/// includes return type at 0th index. /// includes return type at 0th index.
DIType CreateSubroutineType(DIFile File, DIArray ParameterTypes); DIType createSubroutineType(DIFile File, DIArray ParameterTypes);
/// CreateArtificialType - Create a new DIType with "artificial" flag set. /// createArtificialType - Create a new DIType with "artificial" flag set.
DIType CreateArtificialType(DIType Ty); DIType createArtificialType(DIType Ty);
/// CreateTemporaryType - Create a temporary forward-declared type. /// createTemporaryType - Create a temporary forward-declared type.
DIType CreateTemporaryType(); DIType createTemporaryType();
DIType CreateTemporaryType(DIFile F); DIType createTemporaryType(DIFile F);
/// RetainType - Retain DIType in a module even if it is not referenced /// retainType - Retain DIType in a module even if it is not referenced
/// through debug info anchors. /// through debug info anchors.
void RetainType(DIType T); void retainType(DIType T);
/// CreateUnspecifiedParameter - Create unspeicified type descriptor /// createUnspecifiedParameter - Create unspeicified type descriptor
/// for a subroutine type. /// for a subroutine type.
DIDescriptor CreateUnspecifiedParameter(); DIDescriptor createUnspecifiedParameter();
/// GetOrCreateArray - Get a DIArray, create one if required. /// getOrCreateArray - Get a DIArray, create one if required.
DIArray GetOrCreateArray(Value *const *Elements, unsigned NumElements); DIArray getOrCreateArray(Value *const *Elements, unsigned NumElements);
/// GetOrCreateSubrange - Create a descriptor for a value range. This /// getOrCreateSubrange - Create a descriptor for a value range. This
/// implicitly uniques the values returned. /// implicitly uniques the values returned.
DISubrange GetOrCreateSubrange(int64_t Lo, int64_t Hi); DISubrange getOrCreateSubrange(int64_t Lo, int64_t Hi);
/// CreateGlobalVariable - Create a new descriptor for the specified global. /// createGlobalVariable - Create a new descriptor for the specified global.
/// @param Name Name of the variable. /// @param Name Name of the variable.
/// @param File File where this variable is defined. /// @param File File where this variable is defined.
/// @param LineNo Line number. /// @param LineNo Line number.
@ -293,11 +293,11 @@ namespace llvm {
/// externally visible or not. /// externally visible or not.
/// @param Val llvm::Value of the variable. /// @param Val llvm::Value of the variable.
DIGlobalVariable DIGlobalVariable
CreateGlobalVariable(StringRef Name, DIFile File, unsigned LineNo, createGlobalVariable(StringRef Name, DIFile File, unsigned LineNo,
DIType Ty, bool isLocalToUnit, llvm::Value *Val); DIType Ty, bool isLocalToUnit, llvm::Value *Val);
/// CreateStaticVariable - Create a new descriptor for the specified /// createStaticVariable - Create a new descriptor for the specified
/// variable. /// variable.
/// @param Conext Variable scope. /// @param Conext Variable scope.
/// @param Name Name of the variable. /// @param Name Name of the variable.
@ -309,12 +309,12 @@ namespace llvm {
/// externally visible or not. /// externally visible or not.
/// @param Val llvm::Value of the variable. /// @param Val llvm::Value of the variable.
DIGlobalVariable DIGlobalVariable
CreateStaticVariable(DIDescriptor Context, StringRef Name, createStaticVariable(DIDescriptor Context, StringRef Name,
StringRef LinkageName, DIFile File, unsigned LineNo, StringRef LinkageName, DIFile File, unsigned LineNo,
DIType Ty, bool isLocalToUnit, llvm::Value *Val); DIType Ty, bool isLocalToUnit, llvm::Value *Val);
/// CreateLocalVariable - Create a new descriptor for the specified /// createLocalVariable - Create a new descriptor for the specified
/// local variable. /// local variable.
/// @param Tag Dwarf TAG. Usually DW_TAG_auto_variable or /// @param Tag Dwarf TAG. Usually DW_TAG_auto_variable or
/// DW_TAG_arg_variable. /// DW_TAG_arg_variable.
@ -326,14 +326,14 @@ namespace llvm {
/// @param AlwaysPreserve Boolean. Set to true if debug info for this /// @param AlwaysPreserve Boolean. Set to true if debug info for this
/// variable should be preserved in optimized build. /// variable should be preserved in optimized build.
/// @param Flags Flags, e.g. artificial variable. /// @param Flags Flags, e.g. artificial variable.
DIVariable CreateLocalVariable(unsigned Tag, DIDescriptor Scope, DIVariable createLocalVariable(unsigned Tag, DIDescriptor Scope,
StringRef Name, StringRef Name,
DIFile File, unsigned LineNo, DIFile File, unsigned LineNo,
DIType Ty, bool AlwaysPreserve = false, DIType Ty, bool AlwaysPreserve = false,
unsigned Flags = 0); unsigned Flags = 0);
/// CreateComplexVariable - Create a new descriptor for the specified /// createComplexVariable - Create a new descriptor for the specified
/// variable which has a complex address expression for its address. /// variable which has a complex address expression for its address.
/// @param Tag Dwarf TAG. Usually DW_TAG_auto_variable or /// @param Tag Dwarf TAG. Usually DW_TAG_auto_variable or
/// DW_TAG_arg_variable. /// DW_TAG_arg_variable.
@ -344,12 +344,12 @@ namespace llvm {
/// @param Ty Variable Type /// @param Ty Variable Type
/// @param Addr A pointer to a vector of complex address operations. /// @param Addr A pointer to a vector of complex address operations.
/// @param NumAddr Num of address operations in the vector. /// @param NumAddr Num of address operations in the vector.
DIVariable CreateComplexVariable(unsigned Tag, DIDescriptor Scope, DIVariable createComplexVariable(unsigned Tag, DIDescriptor Scope,
StringRef Name, DIFile F, unsigned LineNo, StringRef Name, DIFile F, unsigned LineNo,
DIType Ty, Value *const *Addr, DIType Ty, Value *const *Addr,
unsigned NumAddr); unsigned NumAddr);
/// CreateFunction - Create a new descriptor for the specified subprogram. /// createFunction - Create a new descriptor for the specified subprogram.
/// See comments in DISubprogram for descriptions of these fields. /// See comments in DISubprogram for descriptions of these fields.
/// @param Scope Function scope. /// @param Scope Function scope.
/// @param Name Function name. /// @param Name Function name.
@ -363,7 +363,7 @@ namespace llvm {
/// This flags are used to emit dwarf attributes. /// This flags are used to emit dwarf attributes.
/// @param isOptimized True if optimization is ON. /// @param isOptimized True if optimization is ON.
/// @param Fn llvm::Function pointer. /// @param Fn llvm::Function pointer.
DISubprogram CreateFunction(DIDescriptor Scope, StringRef Name, DISubprogram createFunction(DIDescriptor Scope, StringRef Name,
StringRef LinkageName, StringRef LinkageName,
DIFile File, unsigned LineNo, DIFile File, unsigned LineNo,
DIType Ty, bool isLocalToUnit, DIType Ty, bool isLocalToUnit,
@ -372,7 +372,7 @@ namespace llvm {
bool isOptimized = false, bool isOptimized = false,
Function *Fn = 0); Function *Fn = 0);
/// CreateMethod - Create a new descriptor for the specified C++ method. /// createMethod - Create a new descriptor for the specified C++ method.
/// See comments in DISubprogram for descriptions of these fields. /// See comments in DISubprogram for descriptions of these fields.
/// @param Scope Function scope. /// @param Scope Function scope.
/// @param Name Function name. /// @param Name Function name.
@ -390,7 +390,7 @@ namespace llvm {
/// This flags are used to emit dwarf attributes. /// This flags are used to emit dwarf attributes.
/// @param isOptimized True if optimization is ON. /// @param isOptimized True if optimization is ON.
/// @param Fn llvm::Function pointer. /// @param Fn llvm::Function pointer.
DISubprogram CreateMethod(DIDescriptor Scope, StringRef Name, DISubprogram createMethod(DIDescriptor Scope, StringRef Name,
StringRef LinkageName, StringRef LinkageName,
DIFile File, unsigned LineNo, DIFile File, unsigned LineNo,
DIType Ty, bool isLocalToUnit, DIType Ty, bool isLocalToUnit,
@ -401,55 +401,55 @@ namespace llvm {
bool isOptimized = false, bool isOptimized = false,
Function *Fn = 0); Function *Fn = 0);
/// CreateNameSpace - This creates new descriptor for a namespace /// createNameSpace - This creates new descriptor for a namespace
/// with the specified parent scope. /// with the specified parent scope.
/// @param Scope Namespace scope /// @param Scope Namespace scope
/// @param Name Name of this namespace /// @param Name Name of this namespace
/// @param File Source file /// @param File Source file
/// @param LineNo Line number /// @param LineNo Line number
DINameSpace CreateNameSpace(DIDescriptor Scope, StringRef Name, DINameSpace createNameSpace(DIDescriptor Scope, StringRef Name,
DIFile File, unsigned LineNo); DIFile File, unsigned LineNo);
/// CreateLexicalBlock - This creates a descriptor for a lexical block /// createLexicalBlock - This creates a descriptor for a lexical block
/// with the specified parent context. /// with the specified parent context.
/// @param Scope Parent lexical scope. /// @param Scope Parent lexical scope.
/// @param File Source file /// @param File Source file
/// @param Line Line number /// @param Line Line number
/// @param Col Column number /// @param Col Column number
DILexicalBlock CreateLexicalBlock(DIDescriptor Scope, DIFile File, DILexicalBlock createLexicalBlock(DIDescriptor Scope, DIFile File,
unsigned Line, unsigned Col); unsigned Line, unsigned Col);
/// InsertDeclare - Insert a new llvm.dbg.declare intrinsic call. /// insertDeclare - Insert a new llvm.dbg.declare intrinsic call.
/// @param Storage llvm::Value of the variable /// @param Storage llvm::Value of the variable
/// @param VarInfo Variable's debug info descriptor. /// @param VarInfo Variable's debug info descriptor.
/// @param InsertAtEnd Location for the new intrinsic. /// @param InsertAtEnd Location for the new intrinsic.
Instruction *InsertDeclare(llvm::Value *Storage, DIVariable VarInfo, Instruction *insertDeclare(llvm::Value *Storage, DIVariable VarInfo,
BasicBlock *InsertAtEnd); BasicBlock *InsertAtEnd);
/// InsertDeclare - Insert a new llvm.dbg.declare intrinsic call. /// insertDeclare - Insert a new llvm.dbg.declare intrinsic call.
/// @param Storage llvm::Value of the variable /// @param Storage llvm::Value of the variable
/// @param VarInfo Variable's debug info descriptor. /// @param VarInfo Variable's debug info descriptor.
/// @param InsertBefore Location for the new intrinsic. /// @param InsertBefore Location for the new intrinsic.
Instruction *InsertDeclare(llvm::Value *Storage, DIVariable VarInfo, Instruction *insertDeclare(llvm::Value *Storage, DIVariable VarInfo,
Instruction *InsertBefore); Instruction *InsertBefore);
/// InsertDbgValueIntrinsic - Insert a new llvm.dbg.value intrinsic call. /// insertDbgValueIntrinsic - Insert a new llvm.dbg.value intrinsic call.
/// @param Val llvm::Value of the variable /// @param Val llvm::Value of the variable
/// @param Offset Offset /// @param Offset Offset
/// @param VarInfo Variable's debug info descriptor. /// @param VarInfo Variable's debug info descriptor.
/// @param InsertAtEnd Location for the new intrinsic. /// @param InsertAtEnd Location for the new intrinsic.
Instruction *InsertDbgValueIntrinsic(llvm::Value *Val, uint64_t Offset, Instruction *insertDbgValueIntrinsic(llvm::Value *Val, uint64_t Offset,
DIVariable VarInfo, DIVariable VarInfo,
BasicBlock *InsertAtEnd); BasicBlock *InsertAtEnd);
/// InsertDbgValueIntrinsic - Insert a new llvm.dbg.value intrinsic call. /// insertDbgValueIntrinsic - Insert a new llvm.dbg.value intrinsic call.
/// @param Val llvm::Value of the variable /// @param Val llvm::Value of the variable
/// @param Offset Offset /// @param Offset Offset
/// @param VarInfo Variable's debug info descriptor. /// @param VarInfo Variable's debug info descriptor.
/// @param InsertBefore Location for the new intrinsic. /// @param InsertBefore Location for the new intrinsic.
Instruction *InsertDbgValueIntrinsic(llvm::Value *Val, uint64_t Offset, Instruction *insertDbgValueIntrinsic(llvm::Value *Val, uint64_t Offset,
DIVariable VarInfo, DIVariable VarInfo,
Instruction *InsertBefore); Instruction *InsertBefore);

View File

@ -31,9 +31,9 @@ static Constant *GetTagConstant(LLVMContext &VMContext, unsigned Tag) {
DIBuilder::DIBuilder(Module &m) DIBuilder::DIBuilder(Module &m)
: M(m), VMContext(M.getContext()), TheCU(0), DeclareFn(0), ValueFn(0) {} : M(m), VMContext(M.getContext()), TheCU(0), DeclareFn(0), ValueFn(0) {}
/// CreateCompileUnit - A CompileUnit provides an anchor for all debugging /// createCompileUnit - A CompileUnit provides an anchor for all debugging
/// information generated during this instance of compilation. /// information generated during this instance of compilation.
void DIBuilder::CreateCompileUnit(unsigned Lang, StringRef Filename, void DIBuilder::createCompileUnit(unsigned Lang, StringRef Filename,
StringRef Directory, StringRef Producer, StringRef Directory, StringRef Producer,
bool isOptimized, StringRef Flags, bool isOptimized, StringRef Flags,
unsigned RunTimeVer) { unsigned RunTimeVer) {
@ -53,9 +53,9 @@ void DIBuilder::CreateCompileUnit(unsigned Lang, StringRef Filename,
TheCU = DICompileUnit(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts))); TheCU = DICompileUnit(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts)));
} }
/// CreateFile - Create a file descriptor to hold debugging information /// createFile - Create a file descriptor to hold debugging information
/// for a file. /// for a file.
DIFile DIBuilder::CreateFile(StringRef Filename, StringRef Directory) { DIFile DIBuilder::createFile(StringRef Filename, StringRef Directory) {
assert(TheCU && "Unable to create DW_TAG_file_type without CompileUnit"); assert(TheCU && "Unable to create DW_TAG_file_type without CompileUnit");
Value *Elts[] = { Value *Elts[] = {
GetTagConstant(VMContext, dwarf::DW_TAG_file_type), GetTagConstant(VMContext, dwarf::DW_TAG_file_type),
@ -66,8 +66,8 @@ DIFile DIBuilder::CreateFile(StringRef Filename, StringRef Directory) {
return DIFile(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts))); return DIFile(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts)));
} }
/// CreateEnumerator - Create a single enumerator value. /// createEnumerator - Create a single enumerator value.
DIEnumerator DIBuilder::CreateEnumerator(StringRef Name, uint64_t Val) { DIEnumerator DIBuilder::createEnumerator(StringRef Name, uint64_t Val) {
Value *Elts[] = { Value *Elts[] = {
GetTagConstant(VMContext, dwarf::DW_TAG_enumerator), GetTagConstant(VMContext, dwarf::DW_TAG_enumerator),
MDString::get(VMContext, Name), MDString::get(VMContext, Name),
@ -76,9 +76,9 @@ DIEnumerator DIBuilder::CreateEnumerator(StringRef Name, uint64_t Val) {
return DIEnumerator(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts))); return DIEnumerator(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts)));
} }
/// CreateBasicType - Create debugging information entry for a basic /// createBasicType - Create debugging information entry for a basic
/// type, e.g 'char'. /// type, e.g 'char'.
DIType DIBuilder::CreateBasicType(StringRef Name, uint64_t SizeInBits, DIType DIBuilder::createBasicType(StringRef Name, uint64_t SizeInBits,
uint64_t AlignInBits, uint64_t AlignInBits,
unsigned Encoding) { unsigned Encoding) {
// Basic types are encoded in DIBasicType format. Line number, filename, // Basic types are encoded in DIBasicType format. Line number, filename,
@ -98,9 +98,9 @@ DIType DIBuilder::CreateBasicType(StringRef Name, uint64_t SizeInBits,
return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts))); return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts)));
} }
/// CreateQaulifiedType - Create debugging information entry for a qualified /// createQaulifiedType - Create debugging information entry for a qualified
/// type, e.g. 'const int'. /// type, e.g. 'const int'.
DIType DIBuilder::CreateQualifiedType(unsigned Tag, DIType FromTy) { DIType DIBuilder::createQualifiedType(unsigned Tag, DIType FromTy) {
// Qualified types are encoded in DIDerivedType format. // Qualified types are encoded in DIDerivedType format.
Value *Elts[] = { Value *Elts[] = {
GetTagConstant(VMContext, Tag), GetTagConstant(VMContext, Tag),
@ -117,8 +117,8 @@ DIType DIBuilder::CreateQualifiedType(unsigned Tag, DIType FromTy) {
return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts))); return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts)));
} }
/// CreatePointerType - Create debugging information entry for a pointer. /// createPointerType - Create debugging information entry for a pointer.
DIType DIBuilder::CreatePointerType(DIType PointeeTy, uint64_t SizeInBits, DIType DIBuilder::createPointerType(DIType PointeeTy, uint64_t SizeInBits,
uint64_t AlignInBits, StringRef Name) { uint64_t AlignInBits, StringRef Name) {
// Pointer types are encoded in DIDerivedType format. // Pointer types are encoded in DIDerivedType format.
Value *Elts[] = { Value *Elts[] = {
@ -136,8 +136,8 @@ DIType DIBuilder::CreatePointerType(DIType PointeeTy, uint64_t SizeInBits,
return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts))); return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts)));
} }
/// CreateReferenceType - Create debugging information entry for a reference. /// createReferenceType - Create debugging information entry for a reference.
DIType DIBuilder::CreateReferenceType(DIType RTy) { DIType DIBuilder::createReferenceType(DIType RTy) {
// References are encoded in DIDerivedType format. // References are encoded in DIDerivedType format.
Value *Elts[] = { Value *Elts[] = {
GetTagConstant(VMContext, dwarf::DW_TAG_reference_type), GetTagConstant(VMContext, dwarf::DW_TAG_reference_type),
@ -154,8 +154,8 @@ DIType DIBuilder::CreateReferenceType(DIType RTy) {
return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts))); return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts)));
} }
/// CreateTypedef - Create debugging information entry for a typedef. /// createTypedef - Create debugging information entry for a typedef.
DIType DIBuilder::CreateTypedef(DIType Ty, StringRef Name, DIFile File, DIType DIBuilder::createTypedef(DIType Ty, StringRef Name, DIFile File,
unsigned LineNo) { unsigned LineNo) {
// typedefs are encoded in DIDerivedType format. // typedefs are encoded in DIDerivedType format.
assert(Ty.Verify() && "Invalid typedef type!"); assert(Ty.Verify() && "Invalid typedef type!");
@ -174,8 +174,8 @@ DIType DIBuilder::CreateTypedef(DIType Ty, StringRef Name, DIFile File,
return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts))); return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts)));
} }
/// CreateFriend - Create debugging information entry for a 'friend'. /// createFriend - Create debugging information entry for a 'friend'.
DIType DIBuilder::CreateFriend(DIType Ty, DIType FriendTy) { DIType DIBuilder::createFriend(DIType Ty, DIType FriendTy) {
// typedefs are encoded in DIDerivedType format. // typedefs are encoded in DIDerivedType format.
assert(Ty.Verify() && "Invalid type!"); assert(Ty.Verify() && "Invalid type!");
assert(FriendTy.Verify() && "Invalid friend type!"); assert(FriendTy.Verify() && "Invalid friend type!");
@ -194,9 +194,9 @@ DIType DIBuilder::CreateFriend(DIType Ty, DIType FriendTy) {
return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts))); return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts)));
} }
/// CreateInheritance - Create debugging information entry to establish /// createInheritance - Create debugging information entry to establish
/// inheritnace relationship between two types. /// inheritnace relationship between two types.
DIType DIBuilder::CreateInheritance(DIType Ty, DIType BaseTy, DIType DIBuilder::createInheritance(DIType Ty, DIType BaseTy,
uint64_t BaseOffset, unsigned Flags) { uint64_t BaseOffset, unsigned Flags) {
// TAG_inheritance is encoded in DIDerivedType format. // TAG_inheritance is encoded in DIDerivedType format.
Value *Elts[] = { Value *Elts[] = {
@ -214,8 +214,8 @@ DIType DIBuilder::CreateInheritance(DIType Ty, DIType BaseTy,
return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts))); return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts)));
} }
/// CreateMemberType - Create debugging information entry for a member. /// createMemberType - Create debugging information entry for a member.
DIType DIBuilder::CreateMemberType(StringRef Name, DIType DIBuilder::createMemberType(StringRef Name,
DIFile File, unsigned LineNumber, DIFile File, unsigned LineNumber,
uint64_t SizeInBits, uint64_t AlignInBits, uint64_t SizeInBits, uint64_t AlignInBits,
uint64_t OffsetInBits, unsigned Flags, uint64_t OffsetInBits, unsigned Flags,
@ -236,8 +236,8 @@ DIType DIBuilder::CreateMemberType(StringRef Name,
return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts))); return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts)));
} }
/// CreateClassType - Create debugging information entry for a class. /// createClassType - Create debugging information entry for a class.
DIType DIBuilder::CreateClassType(DIDescriptor Context, StringRef Name, DIType DIBuilder::createClassType(DIDescriptor Context, StringRef Name,
DIFile File, unsigned LineNumber, DIFile File, unsigned LineNumber,
uint64_t SizeInBits, uint64_t AlignInBits, uint64_t SizeInBits, uint64_t AlignInBits,
uint64_t OffsetInBits, unsigned Flags, uint64_t OffsetInBits, unsigned Flags,
@ -263,10 +263,10 @@ DIType DIBuilder::CreateClassType(DIDescriptor Context, StringRef Name,
return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts))); return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts)));
} }
/// CreateTemplateTypeParameter - Create debugging information for template /// createTemplateTypeParameter - Create debugging information for template
/// type parameter. /// type parameter.
DITemplateTypeParameter DITemplateTypeParameter
DIBuilder::CreateTemplateTypeParameter(DIDescriptor Context, StringRef Name, DIBuilder::createTemplateTypeParameter(DIDescriptor Context, StringRef Name,
DIType Ty, MDNode *File, unsigned LineNo, DIType Ty, MDNode *File, unsigned LineNo,
unsigned ColumnNo) { unsigned ColumnNo) {
Value *Elts[] = { Value *Elts[] = {
@ -282,10 +282,10 @@ DIBuilder::CreateTemplateTypeParameter(DIDescriptor Context, StringRef Name,
array_lengthof(Elts))); array_lengthof(Elts)));
} }
/// CreateTemplateValueParameter - Create debugging information for template /// createTemplateValueParameter - Create debugging information for template
/// value parameter. /// value parameter.
DITemplateValueParameter DITemplateValueParameter
DIBuilder::CreateTemplateValueParameter(DIDescriptor Context, StringRef Name, DIBuilder::createTemplateValueParameter(DIDescriptor Context, StringRef Name,
DIType Ty, uint64_t Val, DIType Ty, uint64_t Val,
MDNode *File, unsigned LineNo, MDNode *File, unsigned LineNo,
unsigned ColumnNo) { unsigned ColumnNo) {
@ -303,8 +303,8 @@ DIBuilder::CreateTemplateValueParameter(DIDescriptor Context, StringRef Name,
array_lengthof(Elts))); array_lengthof(Elts)));
} }
/// CreateStructType - Create debugging information entry for a struct. /// createStructType - Create debugging information entry for a struct.
DIType DIBuilder::CreateStructType(DIDescriptor Context, StringRef Name, DIType DIBuilder::createStructType(DIDescriptor Context, StringRef Name,
DIFile File, unsigned LineNumber, DIFile File, unsigned LineNumber,
uint64_t SizeInBits, uint64_t AlignInBits, uint64_t SizeInBits, uint64_t AlignInBits,
unsigned Flags, DIArray Elements, unsigned Flags, DIArray Elements,
@ -328,8 +328,8 @@ DIType DIBuilder::CreateStructType(DIDescriptor Context, StringRef Name,
return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts))); return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts)));
} }
/// CreateUnionType - Create debugging information entry for an union. /// createUnionType - Create debugging information entry for an union.
DIType DIBuilder::CreateUnionType(DIDescriptor Scope, StringRef Name, DIType DIBuilder::createUnionType(DIDescriptor Scope, StringRef Name,
DIFile File, DIFile File,
unsigned LineNumber, uint64_t SizeInBits, unsigned LineNumber, uint64_t SizeInBits,
uint64_t AlignInBits, unsigned Flags, uint64_t AlignInBits, unsigned Flags,
@ -353,8 +353,8 @@ DIType DIBuilder::CreateUnionType(DIDescriptor Scope, StringRef Name,
return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts))); return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts)));
} }
/// CreateSubroutineType - Create subroutine type. /// createSubroutineType - Create subroutine type.
DIType DIBuilder::CreateSubroutineType(DIFile File, DIArray ParameterTypes) { DIType DIBuilder::createSubroutineType(DIFile File, DIArray ParameterTypes) {
// TAG_subroutine_type is encoded in DICompositeType format. // TAG_subroutine_type is encoded in DICompositeType format.
Value *Elts[] = { Value *Elts[] = {
GetTagConstant(VMContext, dwarf::DW_TAG_subroutine_type), GetTagConstant(VMContext, dwarf::DW_TAG_subroutine_type),
@ -374,9 +374,9 @@ DIType DIBuilder::CreateSubroutineType(DIFile File, DIArray ParameterTypes) {
return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts))); return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts)));
} }
/// CreateEnumerationType - Create debugging information entry for an /// createEnumerationType - Create debugging information entry for an
/// enumeration. /// enumeration.
DIType DIBuilder::CreateEnumerationType(DIDescriptor Scope, StringRef Name, DIType DIBuilder::createEnumerationType(DIDescriptor Scope, StringRef Name,
DIFile File, unsigned LineNumber, DIFile File, unsigned LineNumber,
uint64_t SizeInBits, uint64_t SizeInBits,
uint64_t AlignInBits, DIArray Elements) { uint64_t AlignInBits, DIArray Elements) {
@ -402,8 +402,8 @@ DIType DIBuilder::CreateEnumerationType(DIDescriptor Scope, StringRef Name,
return DIType(Node); return DIType(Node);
} }
/// CreateArrayType - Create debugging information entry for an array. /// createArrayType - Create debugging information entry for an array.
DIType DIBuilder::CreateArrayType(uint64_t Size, uint64_t AlignInBits, DIType DIBuilder::createArrayType(uint64_t Size, uint64_t AlignInBits,
DIType Ty, DIArray Subscripts) { DIType Ty, DIArray Subscripts) {
// TAG_array_type is encoded in DICompositeType format. // TAG_array_type is encoded in DICompositeType format.
Value *Elts[] = { Value *Elts[] = {
@ -424,8 +424,8 @@ DIType DIBuilder::CreateArrayType(uint64_t Size, uint64_t AlignInBits,
return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts))); return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts)));
} }
/// CreateVectorType - Create debugging information entry for a vector. /// createVectorType - Create debugging information entry for a vector.
DIType DIBuilder::CreateVectorType(uint64_t Size, uint64_t AlignInBits, DIType DIBuilder::createVectorType(uint64_t Size, uint64_t AlignInBits,
DIType Ty, DIArray Subscripts) { DIType Ty, DIArray Subscripts) {
// TAG_vector_type is encoded in DICompositeType format. // TAG_vector_type is encoded in DICompositeType format.
Value *Elts[] = { Value *Elts[] = {
@ -446,8 +446,8 @@ DIType DIBuilder::CreateVectorType(uint64_t Size, uint64_t AlignInBits,
return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts))); return DIType(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts)));
} }
/// CreateArtificialType - Create a new DIType with "artificial" flag set. /// createArtificialType - Create a new DIType with "artificial" flag set.
DIType DIBuilder::CreateArtificialType(DIType Ty) { DIType DIBuilder::createArtificialType(DIType Ty) {
if (Ty.isArtificial()) if (Ty.isArtificial())
return Ty; return Ty;
@ -470,24 +470,24 @@ DIType DIBuilder::CreateArtificialType(DIType Ty) {
return DIType(MDNode::get(VMContext, Elts.data(), Elts.size())); return DIType(MDNode::get(VMContext, Elts.data(), Elts.size()));
} }
/// RetainType - Retain DIType in a module even if it is not referenced /// retainType - Retain DIType in a module even if it is not referenced
/// through debug info anchors. /// through debug info anchors.
void DIBuilder::RetainType(DIType T) { void DIBuilder::retainType(DIType T) {
NamedMDNode *NMD = M.getOrInsertNamedMetadata("llvm.dbg.ty"); NamedMDNode *NMD = M.getOrInsertNamedMetadata("llvm.dbg.ty");
NMD->addOperand(T); NMD->addOperand(T);
} }
/// CreateUnspecifiedParameter - Create unspeicified type descriptor /// createUnspecifiedParameter - Create unspeicified type descriptor
/// for the subroutine type. /// for the subroutine type.
DIDescriptor DIBuilder::CreateUnspecifiedParameter() { DIDescriptor DIBuilder::createUnspecifiedParameter() {
Value *Elts[] = { Value *Elts[] = {
GetTagConstant(VMContext, dwarf::DW_TAG_unspecified_parameters) GetTagConstant(VMContext, dwarf::DW_TAG_unspecified_parameters)
}; };
return DIDescriptor(MDNode::get(VMContext, &Elts[0], 1)); return DIDescriptor(MDNode::get(VMContext, &Elts[0], 1));
} }
/// CreateTemporaryType - Create a temporary forward-declared type. /// createTemporaryType - Create a temporary forward-declared type.
DIType DIBuilder::CreateTemporaryType() { DIType DIBuilder::createTemporaryType() {
// Give the temporary MDNode a tag. It doesn't matter what tag we // Give the temporary MDNode a tag. It doesn't matter what tag we
// use here as long as DIType accepts it. // use here as long as DIType accepts it.
Value *Elts[] = { GetTagConstant(VMContext, DW_TAG_base_type) }; Value *Elts[] = { GetTagConstant(VMContext, DW_TAG_base_type) };
@ -495,8 +495,8 @@ DIType DIBuilder::CreateTemporaryType() {
return DIType(Node); return DIType(Node);
} }
/// CreateTemporaryType - Create a temporary forward-declared type. /// createTemporaryType - Create a temporary forward-declared type.
DIType DIBuilder::CreateTemporaryType(DIFile F) { DIType DIBuilder::createTemporaryType(DIFile F) {
// Give the temporary MDNode a tag. It doesn't matter what tag we // Give the temporary MDNode a tag. It doesn't matter what tag we
// use here as long as DIType accepts it. // use here as long as DIType accepts it.
Value *Elts[] = { Value *Elts[] = {
@ -509,8 +509,8 @@ DIType DIBuilder::CreateTemporaryType(DIFile F) {
return DIType(Node); return DIType(Node);
} }
/// GetOrCreateArray - Get a DIArray, create one if required. /// getOrCreateArray - Get a DIArray, create one if required.
DIArray DIBuilder::GetOrCreateArray(Value *const *Elements, unsigned NumElements) { DIArray DIBuilder::getOrCreateArray(Value *const *Elements, unsigned NumElements) {
if (NumElements == 0) { if (NumElements == 0) {
Value *Null = llvm::Constant::getNullValue(Type::getInt32Ty(VMContext)); Value *Null = llvm::Constant::getNullValue(Type::getInt32Ty(VMContext));
return DIArray(MDNode::get(VMContext, &Null, 1)); return DIArray(MDNode::get(VMContext, &Null, 1));
@ -518,9 +518,9 @@ DIArray DIBuilder::GetOrCreateArray(Value *const *Elements, unsigned NumElements
return DIArray(MDNode::get(VMContext, Elements, NumElements)); return DIArray(MDNode::get(VMContext, Elements, NumElements));
} }
/// GetOrCreateSubrange - Create a descriptor for a value range. This /// getOrCreateSubrange - Create a descriptor for a value range. This
/// implicitly uniques the values returned. /// implicitly uniques the values returned.
DISubrange DIBuilder::GetOrCreateSubrange(int64_t Lo, int64_t Hi) { DISubrange DIBuilder::getOrCreateSubrange(int64_t Lo, int64_t Hi) {
Value *Elts[] = { Value *Elts[] = {
GetTagConstant(VMContext, dwarf::DW_TAG_subrange_type), GetTagConstant(VMContext, dwarf::DW_TAG_subrange_type),
ConstantInt::get(Type::getInt64Ty(VMContext), Lo), ConstantInt::get(Type::getInt64Ty(VMContext), Lo),
@ -530,9 +530,9 @@ DISubrange DIBuilder::GetOrCreateSubrange(int64_t Lo, int64_t Hi) {
return DISubrange(MDNode::get(VMContext, &Elts[0], 3)); return DISubrange(MDNode::get(VMContext, &Elts[0], 3));
} }
/// CreateGlobalVariable - Create a new descriptor for the specified global. /// createGlobalVariable - Create a new descriptor for the specified global.
DIGlobalVariable DIBuilder:: DIGlobalVariable DIBuilder::
CreateGlobalVariable(StringRef Name, DIFile F, unsigned LineNumber, createGlobalVariable(StringRef Name, DIFile F, unsigned LineNumber,
DIType Ty, bool isLocalToUnit, llvm::Value *Val) { DIType Ty, bool isLocalToUnit, llvm::Value *Val) {
Value *Elts[] = { Value *Elts[] = {
GetTagConstant(VMContext, dwarf::DW_TAG_variable), GetTagConstant(VMContext, dwarf::DW_TAG_variable),
@ -555,10 +555,10 @@ CreateGlobalVariable(StringRef Name, DIFile F, unsigned LineNumber,
return DIGlobalVariable(Node); return DIGlobalVariable(Node);
} }
/// CreateStaticVariable - Create a new descriptor for the specified static /// createStaticVariable - Create a new descriptor for the specified static
/// variable. /// variable.
DIGlobalVariable DIBuilder:: DIGlobalVariable DIBuilder::
CreateStaticVariable(DIDescriptor Context, StringRef Name, createStaticVariable(DIDescriptor Context, StringRef Name,
StringRef LinkageName, DIFile F, unsigned LineNumber, StringRef LinkageName, DIFile F, unsigned LineNumber,
DIType Ty, bool isLocalToUnit, llvm::Value *Val) { DIType Ty, bool isLocalToUnit, llvm::Value *Val) {
Value *Elts[] = { Value *Elts[] = {
@ -582,8 +582,8 @@ CreateStaticVariable(DIDescriptor Context, StringRef Name,
return DIGlobalVariable(Node); return DIGlobalVariable(Node);
} }
/// CreateVariable - Create a new descriptor for the specified variable. /// createVariable - Create a new descriptor for the specified variable.
DIVariable DIBuilder::CreateLocalVariable(unsigned Tag, DIDescriptor Scope, DIVariable DIBuilder::createLocalVariable(unsigned Tag, DIDescriptor Scope,
StringRef Name, DIFile File, StringRef Name, DIFile File,
unsigned LineNo, DIType Ty, unsigned LineNo, DIType Ty,
bool AlwaysPreserve, unsigned Flags) { bool AlwaysPreserve, unsigned Flags) {
@ -614,9 +614,9 @@ DIVariable DIBuilder::CreateLocalVariable(unsigned Tag, DIDescriptor Scope,
return DIVariable(Node); return DIVariable(Node);
} }
/// CreateComplexVariable - Create a new descriptor for the specified variable /// createComplexVariable - Create a new descriptor for the specified variable
/// which has a complex address expression for its address. /// which has a complex address expression for its address.
DIVariable DIBuilder::CreateComplexVariable(unsigned Tag, DIDescriptor Scope, DIVariable DIBuilder::createComplexVariable(unsigned Tag, DIDescriptor Scope,
StringRef Name, DIFile F, StringRef Name, DIFile F,
unsigned LineNo, unsigned LineNo,
DIType Ty, Value *const *Addr, DIType Ty, Value *const *Addr,
@ -633,8 +633,8 @@ DIVariable DIBuilder::CreateComplexVariable(unsigned Tag, DIDescriptor Scope,
return DIVariable(MDNode::get(VMContext, Elts.data(), Elts.size())); return DIVariable(MDNode::get(VMContext, Elts.data(), Elts.size()));
} }
/// CreateFunction - Create a new descriptor for the specified function. /// createFunction - Create a new descriptor for the specified function.
DISubprogram DIBuilder::CreateFunction(DIDescriptor Context, DISubprogram DIBuilder::createFunction(DIDescriptor Context,
StringRef Name, StringRef Name,
StringRef LinkageName, StringRef LinkageName,
DIFile File, unsigned LineNo, DIFile File, unsigned LineNo,
@ -670,8 +670,8 @@ DISubprogram DIBuilder::CreateFunction(DIDescriptor Context,
return DISubprogram(Node); return DISubprogram(Node);
} }
/// CreateMethod - Create a new descriptor for the specified C++ method. /// createMethod - Create a new descriptor for the specified C++ method.
DISubprogram DIBuilder::CreateMethod(DIDescriptor Context, DISubprogram DIBuilder::createMethod(DIDescriptor Context,
StringRef Name, StringRef Name,
StringRef LinkageName, StringRef LinkageName,
DIFile F, DIFile F,
@ -710,9 +710,9 @@ DISubprogram DIBuilder::CreateMethod(DIDescriptor Context,
return DISubprogram(Node); return DISubprogram(Node);
} }
/// CreateNameSpace - This creates new descriptor for a namespace /// createNameSpace - This creates new descriptor for a namespace
/// with the specified parent scope. /// with the specified parent scope.
DINameSpace DIBuilder::CreateNameSpace(DIDescriptor Scope, StringRef Name, DINameSpace DIBuilder::createNameSpace(DIDescriptor Scope, StringRef Name,
DIFile File, unsigned LineNo) { DIFile File, unsigned LineNo) {
Value *Elts[] = { Value *Elts[] = {
GetTagConstant(VMContext, dwarf::DW_TAG_namespace), GetTagConstant(VMContext, dwarf::DW_TAG_namespace),
@ -724,7 +724,7 @@ DINameSpace DIBuilder::CreateNameSpace(DIDescriptor Scope, StringRef Name,
return DINameSpace(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts))); return DINameSpace(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts)));
} }
DILexicalBlock DIBuilder::CreateLexicalBlock(DIDescriptor Scope, DIFile File, DILexicalBlock DIBuilder::createLexicalBlock(DIDescriptor Scope, DIFile File,
unsigned Line, unsigned Col) { unsigned Line, unsigned Col) {
// Defeat MDNode uniqing for lexical blocks by using unique id. // Defeat MDNode uniqing for lexical blocks by using unique id.
static unsigned int unique_id = 0; static unsigned int unique_id = 0;
@ -739,8 +739,8 @@ DILexicalBlock DIBuilder::CreateLexicalBlock(DIDescriptor Scope, DIFile File,
return DILexicalBlock(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts))); return DILexicalBlock(MDNode::get(VMContext, &Elts[0], array_lengthof(Elts)));
} }
/// InsertDeclare - Insert a new llvm.dbg.declare intrinsic call. /// insertDeclare - Insert a new llvm.dbg.declare intrinsic call.
Instruction *DIBuilder::InsertDeclare(Value *Storage, DIVariable VarInfo, Instruction *DIBuilder::insertDeclare(Value *Storage, DIVariable VarInfo,
Instruction *InsertBefore) { Instruction *InsertBefore) {
assert(Storage && "no storage passed to dbg.declare"); assert(Storage && "no storage passed to dbg.declare");
assert(VarInfo.Verify() && "empty DIVariable passed to dbg.declare"); assert(VarInfo.Verify() && "empty DIVariable passed to dbg.declare");
@ -751,8 +751,8 @@ Instruction *DIBuilder::InsertDeclare(Value *Storage, DIVariable VarInfo,
return CallInst::Create(DeclareFn, Args, Args+2, "", InsertBefore); return CallInst::Create(DeclareFn, Args, Args+2, "", InsertBefore);
} }
/// InsertDeclare - Insert a new llvm.dbg.declare intrinsic call. /// insertDeclare - Insert a new llvm.dbg.declare intrinsic call.
Instruction *DIBuilder::InsertDeclare(Value *Storage, DIVariable VarInfo, Instruction *DIBuilder::insertDeclare(Value *Storage, DIVariable VarInfo,
BasicBlock *InsertAtEnd) { BasicBlock *InsertAtEnd) {
assert(Storage && "no storage passed to dbg.declare"); assert(Storage && "no storage passed to dbg.declare");
assert(VarInfo.Verify() && "invalid DIVariable passed to dbg.declare"); assert(VarInfo.Verify() && "invalid DIVariable passed to dbg.declare");
@ -769,8 +769,8 @@ Instruction *DIBuilder::InsertDeclare(Value *Storage, DIVariable VarInfo,
return CallInst::Create(DeclareFn, Args, Args+2, "", InsertAtEnd); return CallInst::Create(DeclareFn, Args, Args+2, "", InsertAtEnd);
} }
/// InsertDbgValueIntrinsic - Insert a new llvm.dbg.value intrinsic call. /// insertDbgValueIntrinsic - Insert a new llvm.dbg.value intrinsic call.
Instruction *DIBuilder::InsertDbgValueIntrinsic(Value *V, uint64_t Offset, Instruction *DIBuilder::insertDbgValueIntrinsic(Value *V, uint64_t Offset,
DIVariable VarInfo, DIVariable VarInfo,
Instruction *InsertBefore) { Instruction *InsertBefore) {
assert(V && "no value passed to dbg.value"); assert(V && "no value passed to dbg.value");
@ -784,8 +784,8 @@ Instruction *DIBuilder::InsertDbgValueIntrinsic(Value *V, uint64_t Offset,
return CallInst::Create(ValueFn, Args, Args+3, "", InsertBefore); return CallInst::Create(ValueFn, Args, Args+3, "", InsertBefore);
} }
/// InsertDbgValueIntrinsic - Insert a new llvm.dbg.value intrinsic call. /// insertDbgValueIntrinsic - Insert a new llvm.dbg.value intrinsic call.
Instruction *DIBuilder::InsertDbgValueIntrinsic(Value *V, uint64_t Offset, Instruction *DIBuilder::insertDbgValueIntrinsic(Value *V, uint64_t Offset,
DIVariable VarInfo, DIVariable VarInfo,
BasicBlock *InsertAtEnd) { BasicBlock *InsertAtEnd) {
assert(V && "no value passed to dbg.value"); assert(V && "no value passed to dbg.value");