Project Alice
Loading...
Searching...
No Matches
DebugInfo.h
Go to the documentation of this file.
1//===------------ DebugInfo.h - LLVM C API Debug Info API -----------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
14//===----------------------------------------------------------------------===//
15
16#ifndef LLVM_C_DEBUGINFO_H
17#define LLVM_C_DEBUGINFO_H
18
19#include "llvm-c/ExternC.h"
20#include "llvm-c/Types.h"
21
23
34typedef enum {
63 LLVMDIFlagThunk = 1 << 25,
67 LLVMDIFlagIndirectVirtualBase = (1 << 2) | (1 << 5),
74
78typedef enum {
89 // New in DWARF v3:
99 // New in DWARF v4:
101 // New in DWARF v5:
129 // Vendor extensions:
134
138typedef enum {
143
147enum {
184};
185typedef unsigned LLVMMetadataKind;
186
190typedef unsigned LLVMDWARFTypeEncoding;
191
197typedef enum {
204
209
214
222
228
235
241
246
252 LLVMMetadataRef Subprogram);
253
288 LLVMMetadataRef FileRef, const char *Producer, size_t ProducerLen,
289 LLVMBool isOptimized, const char *Flags, size_t FlagsLen,
290 unsigned RuntimeVer, const char *SplitName, size_t SplitNameLen,
291 LLVMDWARFEmissionKind Kind, unsigned DWOId, LLVMBool SplitDebugInlining,
292 LLVMBool DebugInfoForProfiling, const char *SysRoot, size_t SysRootLen,
293 const char *SDK, size_t SDKLen);
294
304LLVMDIBuilderCreateFile(LLVMDIBuilderRef Builder, const char *Filename,
305 size_t FilenameLen, const char *Directory,
306 size_t DirectoryLen);
307
324 const char *Name, size_t NameLen,
325 const char *ConfigMacros, size_t ConfigMacrosLen,
326 const char *IncludePath, size_t IncludePathLen,
327 const char *APINotesFile, size_t APINotesFileLen);
328
340 LLVMMetadataRef ParentScope,
341 const char *Name, size_t NameLen,
342 LLVMBool ExportSymbols);
343
363 LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
364 size_t NameLen, const char *LinkageName, size_t LinkageNameLen,
365 LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty,
366 LLVMBool IsLocalToUnit, LLVMBool IsDefinition,
367 unsigned ScopeLine, LLVMDIFlags Flags, LLVMBool IsOptimized);
368
378 LLVMDIBuilderRef Builder, LLVMMetadataRef Scope,
379 LLVMMetadataRef File, unsigned Line, unsigned Column);
380
390 LLVMMetadataRef Scope,
391 LLVMMetadataRef File,
392 unsigned Discriminator);
393
404 LLVMMetadataRef Scope,
406 LLVMMetadataRef File,
407 unsigned Line);
408
421 LLVMDIBuilderRef Builder, LLVMMetadataRef Scope,
422 LLVMMetadataRef ImportedEntity, LLVMMetadataRef File, unsigned Line,
423 LLVMMetadataRef *Elements, unsigned NumElements);
424
437 LLVMMetadataRef File, unsigned Line, LLVMMetadataRef *Elements,
438 unsigned NumElements);
439
457 LLVMMetadataRef File, unsigned Line, const char *Name, size_t NameLen,
458 LLVMMetadataRef *Elements, unsigned NumElements);
459
472 unsigned Column, LLVMMetadataRef Scope,
473 LLVMMetadataRef InlinedAt);
474
482
490
498
506
514
522const char *LLVMDIFileGetDirectory(LLVMMetadataRef File, unsigned *Len);
523
531const char *LLVMDIFileGetFilename(LLVMMetadataRef File, unsigned *Len);
532
540const char *LLVMDIFileGetSource(LLVMMetadataRef File, unsigned *Len);
541
549 LLVMMetadataRef *Data,
550 size_t NumElements);
551
564 LLVMMetadataRef File,
565 LLVMMetadataRef *ParameterTypes,
566 unsigned NumParameterTypes,
567 LLVMDIFlags Flags);
568
581 LLVMMetadataRef ParentMacroFile,
582 unsigned Line,
584 const char *Name, size_t NameLen,
585 const char *Value, size_t ValueLen);
586
598 LLVMMetadataRef ParentMacroFile, unsigned Line,
599 LLVMMetadataRef File);
600
610 const char *Name, size_t NameLen,
611 int64_t Value,
612 LLVMBool IsUnsigned);
613
629 LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
630 size_t NameLen, LLVMMetadataRef File, unsigned LineNumber,
631 uint64_t SizeInBits, uint32_t AlignInBits, LLVMMetadataRef *Elements,
632 unsigned NumElements, LLVMMetadataRef ClassTy);
633
652 LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
653 size_t NameLen, LLVMMetadataRef File, unsigned LineNumber,
654 uint64_t SizeInBits, uint32_t AlignInBits, LLVMDIFlags Flags,
655 LLVMMetadataRef *Elements, unsigned NumElements, unsigned RunTimeLang,
656 const char *UniqueId, size_t UniqueIdLen);
657
658
670 uint32_t AlignInBits, LLVMMetadataRef Ty,
671 LLVMMetadataRef *Subscripts,
672 unsigned NumSubscripts);
673
685 uint32_t AlignInBits, LLVMMetadataRef Ty,
686 LLVMMetadataRef *Subscripts,
687 unsigned NumSubscripts);
688
697 size_t NameLen);
698
711 size_t NameLen, uint64_t SizeInBits,
712 LLVMDWARFTypeEncoding Encoding,
713 LLVMDIFlags Flags);
714
726 LLVMDIBuilderRef Builder, LLVMMetadataRef PointeeTy,
727 uint64_t SizeInBits, uint32_t AlignInBits, unsigned AddressSpace,
728 const char *Name, size_t NameLen);
729
749 LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
750 size_t NameLen, LLVMMetadataRef File, unsigned LineNumber,
751 uint64_t SizeInBits, uint32_t AlignInBits, LLVMDIFlags Flags,
752 LLVMMetadataRef DerivedFrom, LLVMMetadataRef *Elements,
753 unsigned NumElements, unsigned RunTimeLang, LLVMMetadataRef VTableHolder,
754 const char *UniqueId, size_t UniqueIdLen);
755
771 LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
772 size_t NameLen, LLVMMetadataRef File, unsigned LineNo,
773 uint64_t SizeInBits, uint32_t AlignInBits, uint64_t OffsetInBits,
774 LLVMDIFlags Flags, LLVMMetadataRef Ty);
775
792 LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
793 size_t NameLen, LLVMMetadataRef File, unsigned LineNumber,
794 LLVMMetadataRef Type, LLVMDIFlags Flags, LLVMValueRef ConstantVal,
795 uint32_t AlignInBits);
796
808 LLVMMetadataRef PointeeType,
809 LLVMMetadataRef ClassType,
810 uint64_t SizeInBits,
811 uint32_t AlignInBits,
812 LLVMDIFlags Flags);
829 const char *Name, size_t NameLen,
830 LLVMMetadataRef File, unsigned LineNo,
831 uint64_t SizeInBits, uint32_t AlignInBits,
832 uint64_t OffsetInBits, LLVMDIFlags Flags,
833 LLVMMetadataRef Ty, LLVMMetadataRef PropertyNode);
834
851 const char *Name, size_t NameLen,
852 LLVMMetadataRef File, unsigned LineNo,
853 const char *GetterName, size_t GetterNameLen,
854 const char *SetterName, size_t SetterNameLen,
855 unsigned PropertyAttributes,
856 LLVMMetadataRef Ty);
857
865 LLVMMetadataRef Type);
866
877 LLVMMetadataRef Type);
878
888 LLVMMetadataRef Type);
889
896
908 const char *Name, size_t NameLen,
909 LLVMMetadataRef File, unsigned LineNo,
910 LLVMMetadataRef Scope, uint32_t AlignInBits);
911
925 uint64_t BaseOffset, uint32_t VBPtrOffset,
926 LLVMDIFlags Flags);
927
945 LLVMDIBuilderRef Builder, unsigned Tag, const char *Name,
946 size_t NameLen, LLVMMetadataRef Scope, LLVMMetadataRef File, unsigned Line,
947 unsigned RuntimeLang, uint64_t SizeInBits, uint32_t AlignInBits,
948 const char *UniqueIdentifier, size_t UniqueIdentifierLen);
949
969 LLVMDIBuilderRef Builder, unsigned Tag, const char *Name,
970 size_t NameLen, LLVMMetadataRef Scope, LLVMMetadataRef File, unsigned Line,
971 unsigned RuntimeLang, uint64_t SizeInBits, uint32_t AlignInBits,
972 LLVMDIFlags Flags, const char *UniqueIdentifier,
973 size_t UniqueIdentifierLen);
974
991 LLVMMetadataRef Scope,
992 const char *Name, size_t NameLen,
993 LLVMMetadataRef File, unsigned LineNumber,
994 uint64_t SizeInBits,
995 uint64_t OffsetInBits,
996 uint64_t StorageOffsetInBits,
997 LLVMDIFlags Flags, LLVMMetadataRef Type);
998
1022 LLVMMetadataRef Scope, const char *Name, size_t NameLen,
1023 LLVMMetadataRef File, unsigned LineNumber, uint64_t SizeInBits,
1024 uint32_t AlignInBits, uint64_t OffsetInBits, LLVMDIFlags Flags,
1025 LLVMMetadataRef DerivedFrom,
1026 LLVMMetadataRef *Elements, unsigned NumElements,
1027 LLVMMetadataRef VTableHolder, LLVMMetadataRef TemplateParamsNode,
1028 const char *UniqueIdentifier, size_t UniqueIdentifierLen);
1029
1037 LLVMMetadataRef Type);
1038
1046const char *LLVMDITypeGetName(LLVMMetadataRef DType, size_t *Length);
1047
1055
1063
1071
1079
1087
1095 int64_t LowerBound,
1096 int64_t Count);
1097
1105 LLVMMetadataRef *Data,
1106 size_t NumElements);
1107
1116 uint64_t *Addr, size_t Length);
1117
1126 uint64_t Value);
1127
1148 LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
1149 size_t NameLen, const char *Linkage, size_t LinkLen, LLVMMetadataRef File,
1150 unsigned LineNo, LLVMMetadataRef Ty, LLVMBool LocalToUnit,
1151 LLVMMetadataRef Expr, LLVMMetadataRef Decl, uint32_t AlignInBits);
1152
1153
1158
1166
1174 LLVMMetadataRef GVE);
1175
1183
1191
1199
1209 size_t NumElements);
1210
1219
1226 LLVMMetadataRef Replacement);
1227
1246 LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
1247 size_t NameLen, const char *Linkage, size_t LnkLen, LLVMMetadataRef File,
1248 unsigned LineNo, LLVMMetadataRef Ty, LLVMBool LocalToUnit,
1249 LLVMMetadataRef Decl, uint32_t AlignInBits);
1250
1261 LLVMDIBuilderRef Builder, LLVMValueRef Storage, LLVMMetadataRef VarInfo,
1262 LLVMMetadataRef Expr, LLVMMetadataRef DebugLoc, LLVMValueRef Instr);
1263
1276 LLVMDIBuilderRef Builder, LLVMValueRef Storage, LLVMMetadataRef VarInfo,
1277 LLVMMetadataRef Expr, LLVMMetadataRef DebugLoc, LLVMBasicBlockRef Block);
1278
1289 LLVMValueRef Val,
1290 LLVMMetadataRef VarInfo,
1291 LLVMMetadataRef Expr,
1292 LLVMMetadataRef DebugLoc,
1293 LLVMValueRef Instr);
1294
1307 LLVMValueRef Val,
1308 LLVMMetadataRef VarInfo,
1309 LLVMMetadataRef Expr,
1310 LLVMMetadataRef DebugLoc,
1311 LLVMBasicBlockRef Block);
1312
1327 LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
1328 size_t NameLen, LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty,
1329 LLVMBool AlwaysPreserve, LLVMDIFlags Flags, uint32_t AlignInBits);
1330
1345 LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
1346 size_t NameLen, unsigned ArgNo, LLVMMetadataRef File, unsigned LineNo,
1347 LLVMMetadataRef Ty, LLVMBool AlwaysPreserve, LLVMDIFlags Flags);
1348
1355
1362
1370
1377
1386
1393
1399
1400#endif
#define LLVM_C_EXTERN_C_BEGIN
Definition: ExternC.h:35
#define LLVM_C_EXTERN_C_END
Definition: ExternC.h:36
LLVMMetadataRef LLVMDIBuilderCreateObjCIVar(LLVMDIBuilderRef Builder, const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNo, uint64_t SizeInBits, uint32_t AlignInBits, uint64_t OffsetInBits, LLVMDIFlags Flags, LLVMMetadataRef Ty, LLVMMetadataRef PropertyNode)
LLVMMetadataRef LLVMDILocationGetInlinedAt(LLVMMetadataRef Location)
LLVMValueRef LLVMDIBuilderInsertDbgValueAtEnd(LLVMDIBuilderRef Builder, LLVMValueRef Val, LLVMMetadataRef VarInfo, LLVMMetadataRef Expr, LLVMMetadataRef DebugLoc, LLVMBasicBlockRef Block)
LLVMMetadataRef LLVMDIBuilderGetOrCreateArray(LLVMDIBuilderRef Builder, LLVMMetadataRef *Data, size_t NumElements)
LLVMMetadataRef LLVMDIBuilderCreateEnumerationType(LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNumber, uint64_t SizeInBits, uint32_t AlignInBits, LLVMMetadataRef *Elements, unsigned NumElements, LLVMMetadataRef ClassTy)
LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromModule(LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef M, LLVMMetadataRef File, unsigned Line, LLVMMetadataRef *Elements, unsigned NumElements)
LLVMMetadataRef LLVMDIBuilderCreateObjectPointerType(LLVMDIBuilderRef Builder, LLVMMetadataRef Type)
uint64_t LLVMDITypeGetSizeInBits(LLVMMetadataRef DType)
LLVMDWARFMacinfoRecordType
Definition: DebugInfo.h:197
LLVMMetadataRef LLVMDIBuilderCreateFunction(LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, const char *LinkageName, size_t LinkageNameLen, LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty, LLVMBool IsLocalToUnit, LLVMBool IsDefinition, unsigned ScopeLine, LLVMDIFlags Flags, LLVMBool IsOptimized)
LLVMValueRef LLVMDIBuilderInsertDbgValueBefore(LLVMDIBuilderRef Builder, LLVMValueRef Val, LLVMMetadataRef VarInfo, LLVMMetadataRef Expr, LLVMMetadataRef DebugLoc, LLVMValueRef Instr)
LLVMMetadataRef LLVMDIBuilderCreateBitFieldMemberType(LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNumber, uint64_t SizeInBits, uint64_t OffsetInBits, uint64_t StorageOffsetInBits, LLVMDIFlags Flags, LLVMMetadataRef Type)
LLVMMetadataRef LLVMDIGlobalVariableExpressionGetVariable(LLVMMetadataRef GVE)
LLVMMetadataRef LLVMDIBuilderCreateArtificialType(LLVMDIBuilderRef Builder, LLVMMetadataRef Type)
void LLVMDIBuilderFinalize(LLVMDIBuilderRef Builder)
LLVMMetadataRef LLVMDIBuilderCreateLexicalBlockFile(LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef File, unsigned Discriminator)
unsigned LLVMDISubprogramGetLine(LLVMMetadataRef Subprogram)
LLVMMetadataRef LLVMDIBuilderCreateUnspecifiedType(LLVMDIBuilderRef Builder, const char *Name, size_t NameLen)
LLVMMetadataRef LLVMDIBuilderCreateNameSpace(LLVMDIBuilderRef Builder, LLVMMetadataRef ParentScope, const char *Name, size_t NameLen, LLVMBool ExportSymbols)
LLVMMetadataRef LLVMDIBuilderCreateDebugLocation(LLVMContextRef Ctx, unsigned Line, unsigned Column, LLVMMetadataRef Scope, LLVMMetadataRef InlinedAt)
uint32_t LLVMDITypeGetAlignInBits(LLVMMetadataRef DType)
LLVMMetadataRef LLVMDIGlobalVariableExpressionGetExpression(LLVMMetadataRef GVE)
LLVMMetadataRef LLVMDIVariableGetScope(LLVMMetadataRef Var)
LLVMMetadataRef LLVMInstructionGetDebugLoc(LLVMValueRef Inst)
LLVMMetadataRef LLVMDIBuilderCreateReferenceType(LLVMDIBuilderRef Builder, unsigned Tag, LLVMMetadataRef Type)
LLVMMetadataRef LLVMDIBuilderCreateModule(LLVMDIBuilderRef Builder, LLVMMetadataRef ParentScope, const char *Name, size_t NameLen, const char *ConfigMacros, size_t ConfigMacrosLen, const char *IncludePath, size_t IncludePathLen, const char *APINotesFile, size_t APINotesFileLen)
LLVMDIBuilderRef LLVMCreateDIBuilderDisallowUnresolved(LLVMModuleRef M)
void LLVMSetSubprogram(LLVMValueRef Func, LLVMMetadataRef SP)
LLVMDWARFSourceLanguage
Definition: DebugInfo.h:78
LLVMMetadataRef LLVMDIBuilderGetOrCreateSubrange(LLVMDIBuilderRef Builder, int64_t LowerBound, int64_t Count)
LLVMDIBuilderRef LLVMCreateDIBuilder(LLVMModuleRef M)
void LLVMDisposeTemporaryMDNode(LLVMMetadataRef TempNode)
LLVMMetadataRef LLVMDILocationGetScope(LLVMMetadataRef Location)
LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromNamespace(LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef NS, LLVMMetadataRef File, unsigned Line)
LLVMMetadataRef LLVMDIBuilderCreateTempMacroFile(LLVMDIBuilderRef Builder, LLVMMetadataRef ParentMacroFile, unsigned Line, LLVMMetadataRef File)
void LLVMInstructionSetDebugLoc(LLVMValueRef Inst, LLVMMetadataRef Loc)
LLVMMetadataRef LLVMDIBuilderCreateEnumerator(LLVMDIBuilderRef Builder, const char *Name, size_t NameLen, int64_t Value, LLVMBool IsUnsigned)
LLVMValueRef LLVMDIBuilderInsertDeclareBefore(LLVMDIBuilderRef Builder, LLVMValueRef Storage, LLVMMetadataRef VarInfo, LLVMMetadataRef Expr, LLVMMetadataRef DebugLoc, LLVMValueRef Instr)
LLVMMetadataRef LLVMDIBuilderCreateExpression(LLVMDIBuilderRef Builder, uint64_t *Addr, size_t Length)
LLVMMetadataRef LLVMDIBuilderCreateVectorType(LLVMDIBuilderRef Builder, uint64_t Size, uint32_t AlignInBits, LLVMMetadataRef Ty, LLVMMetadataRef *Subscripts, unsigned NumSubscripts)
LLVMMetadataRef LLVMDIBuilderCreateMemberPointerType(LLVMDIBuilderRef Builder, LLVMMetadataRef PointeeType, LLVMMetadataRef ClassType, uint64_t SizeInBits, uint32_t AlignInBits, LLVMDIFlags Flags)
unsigned LLVMDILocationGetColumn(LLVMMetadataRef Location)
LLVMValueRef LLVMDIBuilderInsertDeclareAtEnd(LLVMDIBuilderRef Builder, LLVMValueRef Storage, LLVMMetadataRef VarInfo, LLVMMetadataRef Expr, LLVMMetadataRef DebugLoc, LLVMBasicBlockRef Block)
LLVMDIFlags
Definition: DebugInfo.h:34
LLVMMetadataRef LLVMDIBuilderCreateAutoVariable(LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty, LLVMBool AlwaysPreserve, LLVMDIFlags Flags, uint32_t AlignInBits)
LLVMMetadataRef LLVMTemporaryMDNode(LLVMContextRef Ctx, LLVMMetadataRef *Data, size_t NumElements)
LLVMDIFlags LLVMDITypeGetFlags(LLVMMetadataRef DType)
const char * LLVMDIFileGetDirectory(LLVMMetadataRef File, unsigned *Len)
void LLVMMetadataReplaceAllUsesWith(LLVMMetadataRef TempTargetMetadata, LLVMMetadataRef Replacement)
const char * LLVMDIFileGetFilename(LLVMMetadataRef File, unsigned *Len)
unsigned LLVMDebugMetadataVersion(void)
unsigned LLVMGetModuleDebugMetadataVersion(LLVMModuleRef Module)
unsigned LLVMDITypeGetLine(LLVMMetadataRef DType)
LLVMMetadataRef LLVMDIVariableGetFile(LLVMMetadataRef Var)
LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromAlias(LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef ImportedEntity, LLVMMetadataRef File, unsigned Line, LLVMMetadataRef *Elements, unsigned NumElements)
LLVMMetadataRef LLVMDIBuilderCreateStaticMemberType(LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNumber, LLVMMetadataRef Type, LLVMDIFlags Flags, LLVMValueRef ConstantVal, uint32_t AlignInBits)
uint16_t LLVMGetDINodeTag(LLVMMetadataRef MD)
LLVMMetadataRef LLVMDIBuilderCreateGlobalVariableExpression(LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, const char *Linkage, size_t LinkLen, LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty, LLVMBool LocalToUnit, LLVMMetadataRef Expr, LLVMMetadataRef Decl, uint32_t AlignInBits)
LLVMMetadataRef LLVMDIBuilderCreateTempGlobalVariableFwdDecl(LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, const char *Linkage, size_t LnkLen, LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty, LLVMBool LocalToUnit, LLVMMetadataRef Decl, uint32_t AlignInBits)
LLVMMetadataRef LLVMDIBuilderCreateQualifiedType(LLVMDIBuilderRef Builder, unsigned Tag, LLVMMetadataRef Type)
LLVMMetadataKind LLVMGetMetadataKind(LLVMMetadataRef Metadata)
LLVMMetadataRef LLVMDIBuilderCreateUnionType(LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNumber, uint64_t SizeInBits, uint32_t AlignInBits, LLVMDIFlags Flags, LLVMMetadataRef *Elements, unsigned NumElements, unsigned RunTimeLang, const char *UniqueId, size_t UniqueIdLen)
LLVMMetadataRef LLVMDIBuilderCreateForwardDecl(LLVMDIBuilderRef Builder, unsigned Tag, const char *Name, size_t NameLen, LLVMMetadataRef Scope, LLVMMetadataRef File, unsigned Line, unsigned RuntimeLang, uint64_t SizeInBits, uint32_t AlignInBits, const char *UniqueIdentifier, size_t UniqueIdentifierLen)
LLVMMetadataRef LLVMDIBuilderCreateParameterVariable(LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, unsigned ArgNo, LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty, LLVMBool AlwaysPreserve, LLVMDIFlags Flags)
LLVMMetadataRef LLVMDIBuilderCreateSubroutineType(LLVMDIBuilderRef Builder, LLVMMetadataRef File, LLVMMetadataRef *ParameterTypes, unsigned NumParameterTypes, LLVMDIFlags Flags)
LLVMMetadataRef LLVMDIBuilderCreateObjCProperty(LLVMDIBuilderRef Builder, const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNo, const char *GetterName, size_t GetterNameLen, const char *SetterName, size_t SetterNameLen, unsigned PropertyAttributes, LLVMMetadataRef Ty)
LLVMMetadataRef LLVMDIBuilderCreateMacro(LLVMDIBuilderRef Builder, LLVMMetadataRef ParentMacroFile, unsigned Line, LLVMDWARFMacinfoRecordType RecordType, const char *Name, size_t NameLen, const char *Value, size_t ValueLen)
LLVMDWARFEmissionKind
Definition: DebugInfo.h:138
LLVMMetadataRef LLVMDIBuilderCreateArrayType(LLVMDIBuilderRef Builder, uint64_t Size, uint32_t AlignInBits, LLVMMetadataRef Ty, LLVMMetadataRef *Subscripts, unsigned NumSubscripts)
LLVMMetadataRef LLVMDIScopeGetFile(LLVMMetadataRef Scope)
void LLVMDIBuilderFinalizeSubprogram(LLVMDIBuilderRef Builder, LLVMMetadataRef Subprogram)
LLVMMetadataRef LLVMDIBuilderCreateConstantValueExpression(LLVMDIBuilderRef Builder, uint64_t Value)
LLVMMetadataRef LLVMDIBuilderCreateClassType(LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNumber, uint64_t SizeInBits, uint32_t AlignInBits, uint64_t OffsetInBits, LLVMDIFlags Flags, LLVMMetadataRef DerivedFrom, LLVMMetadataRef *Elements, unsigned NumElements, LLVMMetadataRef VTableHolder, LLVMMetadataRef TemplateParamsNode, const char *UniqueIdentifier, size_t UniqueIdentifierLen)
LLVMMetadataRef LLVMDIBuilderCreateMemberType(LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNo, uint64_t SizeInBits, uint32_t AlignInBits, uint64_t OffsetInBits, LLVMDIFlags Flags, LLVMMetadataRef Ty)
unsigned LLVMDILocationGetLine(LLVMMetadataRef Location)
LLVMMetadataRef LLVMDIBuilderCreateNullPtrType(LLVMDIBuilderRef Builder)
LLVMMetadataRef LLVMDIBuilderCreateInheritance(LLVMDIBuilderRef Builder, LLVMMetadataRef Ty, LLVMMetadataRef BaseTy, uint64_t BaseOffset, uint32_t VBPtrOffset, LLVMDIFlags Flags)
LLVMMetadataRef LLVMDIBuilderCreateCompileUnit(LLVMDIBuilderRef Builder, LLVMDWARFSourceLanguage Lang, LLVMMetadataRef FileRef, const char *Producer, size_t ProducerLen, LLVMBool isOptimized, const char *Flags, size_t FlagsLen, unsigned RuntimeVer, const char *SplitName, size_t SplitNameLen, LLVMDWARFEmissionKind Kind, unsigned DWOId, LLVMBool SplitDebugInlining, LLVMBool DebugInfoForProfiling, const char *SysRoot, size_t SysRootLen, const char *SDK, size_t SDKLen)
LLVMBool LLVMStripModuleDebugInfo(LLVMModuleRef Module)
LLVMMetadataRef LLVMDIBuilderCreateBasicType(LLVMDIBuilderRef Builder, const char *Name, size_t NameLen, uint64_t SizeInBits, LLVMDWARFTypeEncoding Encoding, LLVMDIFlags Flags)
unsigned LLVMDIVariableGetLine(LLVMMetadataRef Var)
unsigned LLVMDWARFTypeEncoding
Definition: DebugInfo.h:190
LLVMMetadataRef LLVMDIBuilderCreateLexicalBlock(LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef File, unsigned Line, unsigned Column)
LLVMMetadataRef LLVMDIBuilderGetOrCreateTypeArray(LLVMDIBuilderRef Builder, LLVMMetadataRef *Data, size_t NumElements)
LLVMMetadataRef LLVMDIBuilderCreateReplaceableCompositeType(LLVMDIBuilderRef Builder, unsigned Tag, const char *Name, size_t NameLen, LLVMMetadataRef Scope, LLVMMetadataRef File, unsigned Line, unsigned RuntimeLang, uint64_t SizeInBits, uint32_t AlignInBits, LLVMDIFlags Flags, const char *UniqueIdentifier, size_t UniqueIdentifierLen)
const char * LLVMDIFileGetSource(LLVMMetadataRef File, unsigned *Len)
uint64_t LLVMDITypeGetOffsetInBits(LLVMMetadataRef DType)
LLVMMetadataRef LLVMDIBuilderCreateImportedDeclaration(LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef Decl, LLVMMetadataRef File, unsigned Line, const char *Name, size_t NameLen, LLVMMetadataRef *Elements, unsigned NumElements)
LLVMMetadataRef LLVMDIBuilderCreateFile(LLVMDIBuilderRef Builder, const char *Filename, size_t FilenameLen, const char *Directory, size_t DirectoryLen)
const char * LLVMDITypeGetName(LLVMMetadataRef DType, size_t *Length)
unsigned LLVMMetadataKind
Definition: DebugInfo.h:185
LLVMMetadataRef LLVMDIBuilderCreateTypedef(LLVMDIBuilderRef Builder, LLVMMetadataRef Type, const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Scope, uint32_t AlignInBits)
LLVMMetadataRef LLVMDIBuilderCreateStructType(LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNumber, uint64_t SizeInBits, uint32_t AlignInBits, LLVMDIFlags Flags, LLVMMetadataRef DerivedFrom, LLVMMetadataRef *Elements, unsigned NumElements, unsigned RunTimeLang, LLVMMetadataRef VTableHolder, const char *UniqueId, size_t UniqueIdLen)
void LLVMDisposeDIBuilder(LLVMDIBuilderRef Builder)
LLVMMetadataRef LLVMDIBuilderCreatePointerType(LLVMDIBuilderRef Builder, LLVMMetadataRef PointeeTy, uint64_t SizeInBits, uint32_t AlignInBits, unsigned AddressSpace, const char *Name, size_t NameLen)
LLVMMetadataRef LLVMGetSubprogram(LLVMValueRef Func)
@ LLVMDWARFMacinfoRecordTypeStartFile
Definition: DebugInfo.h:200
@ LLVMDWARFMacinfoRecordTypeVendorExt
Definition: DebugInfo.h:202
@ LLVMDWARFMacinfoRecordTypeEndFile
Definition: DebugInfo.h:201
@ LLVMDWARFMacinfoRecordTypeMacro
Definition: DebugInfo.h:199
@ LLVMDWARFMacinfoRecordTypeDefine
Definition: DebugInfo.h:198
@ LLVMGenericDINodeMetadataKind
Definition: DebugInfo.h:156
@ LLVMDIDerivedTypeMetadataKind
Definition: DebugInfo.h:160
@ LLVMDIMacroMetadataKind
Definition: DebugInfo.h:177
@ LLVMDILexicalBlockMetadataKind
Definition: DebugInfo.h:166
@ LLVMMDTupleMetadataKind
Definition: DebugInfo.h:152
@ LLVMDIExpressionMetadataKind
Definition: DebugInfo.h:154
@ LLVMDIGlobalVariableExpressionMetadataKind
Definition: DebugInfo.h:155
@ LLVMLocalAsMetadataMetadataKind
Definition: DebugInfo.h:150
@ LLVMDILocalVariableMetadataKind
Definition: DebugInfo.h:173
@ LLVMDILocationMetadataKind
Definition: DebugInfo.h:153
@ LLVMDistinctMDOperandPlaceholderMetadataKind
Definition: DebugInfo.h:151
@ LLVMDILexicalBlockFileMetadataKind
Definition: DebugInfo.h:167
@ LLVMDIMacroFileMetadataKind
Definition: DebugInfo.h:178
@ LLVMDIArgListMetadataKind
Definition: DebugInfo.h:182
@ LLVMDITemplateTypeParameterMetadataKind
Definition: DebugInfo.h:170
@ LLVMDIImportedEntityMetadataKind
Definition: DebugInfo.h:176
@ LLVMDIGlobalVariableMetadataKind
Definition: DebugInfo.h:172
@ LLVMDIAssignIDMetadataKind
Definition: DebugInfo.h:183
@ LLVMDISubrangeMetadataKind
Definition: DebugInfo.h:157
@ LLVMDITemplateValueParameterMetadataKind
Definition: DebugInfo.h:171
@ LLVMDIObjCPropertyMetadataKind
Definition: DebugInfo.h:175
@ LLVMDINamespaceMetadataKind
Definition: DebugInfo.h:168
@ LLVMDIGenericSubrangeMetadataKind
Definition: DebugInfo.h:181
@ LLVMDICompileUnitMetadataKind
Definition: DebugInfo.h:164
@ LLVMDICompositeTypeMetadataKind
Definition: DebugInfo.h:161
@ LLVMMDStringMetadataKind
Definition: DebugInfo.h:148
@ LLVMDIEnumeratorMetadataKind
Definition: DebugInfo.h:158
@ LLVMDIFileMetadataKind
Definition: DebugInfo.h:163
@ LLVMDIModuleMetadataKind
Definition: DebugInfo.h:169
@ LLVMDIBasicTypeMetadataKind
Definition: DebugInfo.h:159
@ LLVMConstantAsMetadataMetadataKind
Definition: DebugInfo.h:149
@ LLVMDIStringTypeMetadataKind
Definition: DebugInfo.h:180
@ LLVMDICommonBlockMetadataKind
Definition: DebugInfo.h:179
@ LLVMDILabelMetadataKind
Definition: DebugInfo.h:174
@ LLVMDISubprogramMetadataKind
Definition: DebugInfo.h:165
@ LLVMDISubroutineTypeMetadataKind
Definition: DebugInfo.h:162
@ LLVMDWARFSourceLanguageBLISS
Definition: DebugInfo.h:118
@ LLVMDWARFSourceLanguageJava
Definition: DebugInfo.h:90
@ LLVMDWARFSourceLanguageGOOGLE_RenderScript
Definition: DebugInfo.h:131
@ LLVMDWARFSourceLanguageSwift
Definition: DebugInfo.h:111
@ LLVMDWARFSourceLanguageCobol74
Definition: DebugInfo.h:83
@ LLVMDWARFSourceLanguageUPC
Definition: DebugInfo.h:97
@ LLVMDWARFSourceLanguageFortran03
Definition: DebugInfo.h:115
@ LLVMDWARFSourceLanguageAda2005
Definition: DebugInfo.h:126
@ LLVMDWARFSourceLanguageDylan
Definition: DebugInfo.h:113
@ LLVMDWARFSourceLanguageC_plus_plus_17
Definition: DebugInfo.h:122
@ LLVMDWARFSourceLanguageC_plus_plus_14
Definition: DebugInfo.h:114
@ LLVMDWARFSourceLanguageC
Definition: DebugInfo.h:80
@ LLVMDWARFSourceLanguageC_plus_plus_20
Definition: DebugInfo.h:123
@ LLVMDWARFSourceLanguageAda95
Definition: DebugInfo.h:92
@ LLVMDWARFSourceLanguageD
Definition: DebugInfo.h:98
@ LLVMDWARFSourceLanguageAda2012
Definition: DebugInfo.h:127
@ LLVMDWARFSourceLanguageCobol85
Definition: DebugInfo.h:84
@ LLVMDWARFSourceLanguageKotlin
Definition: DebugInfo.h:119
@ LLVMDWARFSourceLanguageModula2
Definition: DebugInfo.h:88
@ LLVMDWARFSourceLanguageC_plus_plus
Definition: DebugInfo.h:82
@ LLVMDWARFSourceLanguageC99
Definition: DebugInfo.h:91
@ LLVMDWARFSourceLanguageMojo
Definition: DebugInfo.h:128
@ LLVMDWARFSourceLanguageOpenCL
Definition: DebugInfo.h:102
@ LLVMDWARFSourceLanguageRust
Definition: DebugInfo.h:109
@ LLVMDWARFSourceLanguageFortran90
Definition: DebugInfo.h:86
@ LLVMDWARFSourceLanguageJulia
Definition: DebugInfo.h:112
@ LLVMDWARFSourceLanguageModula3
Definition: DebugInfo.h:104
@ LLVMDWARFSourceLanguageGo
Definition: DebugInfo.h:103
@ LLVMDWARFSourceLanguageObjC
Definition: DebugInfo.h:95
@ LLVMDWARFSourceLanguageBORLAND_Delphi
Definition: DebugInfo.h:132
@ LLVMDWARFSourceLanguageFortran77
Definition: DebugInfo.h:85
@ LLVMDWARFSourceLanguageMips_Assembler
Definition: DebugInfo.h:130
@ LLVMDWARFSourceLanguageObjC_plus_plus
Definition: DebugInfo.h:96
@ LLVMDWARFSourceLanguageFortran08
Definition: DebugInfo.h:116
@ LLVMDWARFSourceLanguagePascal83
Definition: DebugInfo.h:87
@ LLVMDWARFSourceLanguagePLI
Definition: DebugInfo.h:94
@ LLVMDWARFSourceLanguageC17
Definition: DebugInfo.h:124
@ LLVMDWARFSourceLanguageC11
Definition: DebugInfo.h:110
@ LLVMDWARFSourceLanguageFortran95
Definition: DebugInfo.h:93
@ LLVMDWARFSourceLanguageC_plus_plus_03
Definition: DebugInfo.h:106
@ LLVMDWARFSourceLanguageFortran18
Definition: DebugInfo.h:125
@ LLVMDWARFSourceLanguageC89
Definition: DebugInfo.h:79
@ LLVMDWARFSourceLanguagePython
Definition: DebugInfo.h:100
@ LLVMDWARFSourceLanguageRenderScript
Definition: DebugInfo.h:117
@ LLVMDWARFSourceLanguageCrystal
Definition: DebugInfo.h:121
@ LLVMDWARFSourceLanguageOCaml
Definition: DebugInfo.h:108
@ LLVMDWARFSourceLanguageZig
Definition: DebugInfo.h:120
@ LLVMDWARFSourceLanguageHaskell
Definition: DebugInfo.h:105
@ LLVMDWARFSourceLanguageC_plus_plus_11
Definition: DebugInfo.h:107
@ LLVMDWARFSourceLanguageAda83
Definition: DebugInfo.h:81
@ LLVMDIFlagBigEndian
Definition: DebugInfo.h:65
@ LLVMDIFlagPrivate
Definition: DebugInfo.h:36
@ LLVMDIFlagPrototyped
Definition: DebugInfo.h:45
@ LLVMDIFlagBitField
Definition: DebugInfo.h:57
@ LLVMDIFlagObjcClassComplete
Definition: DebugInfo.h:46
@ LLVMDIFlagAccessibility
Definition: DebugInfo.h:68
@ LLVMDIFlagRValueReference
Definition: DebugInfo.h:51
@ LLVMDIFlagProtected
Definition: DebugInfo.h:37
@ LLVMDIFlagIntroducedVirtual
Definition: DebugInfo.h:56
@ LLVMDIFlagAppleBlock
Definition: DebugInfo.h:40
@ LLVMDIFlagTypePassByReference
Definition: DebugInfo.h:60
@ LLVMDIFlagFixedEnum
Definition: DebugInfo.h:62
@ LLVMDIFlagNoReturn
Definition: DebugInfo.h:58
@ LLVMDIFlagExplicit
Definition: DebugInfo.h:44
@ LLVMDIFlagMultipleInheritance
Definition: DebugInfo.h:54
@ LLVMDIFlagThunk
Definition: DebugInfo.h:63
@ LLVMDIFlagIndirectVirtualBase
Definition: DebugInfo.h:67
@ LLVMDIFlagLittleEndian
Definition: DebugInfo.h:66
@ LLVMDIFlagReservedBit4
Definition: DebugInfo.h:41
@ LLVMDIFlagArtificial
Definition: DebugInfo.h:43
@ LLVMDIFlagPublic
Definition: DebugInfo.h:38
@ LLVMDIFlagStaticMember
Definition: DebugInfo.h:49
@ LLVMDIFlagVector
Definition: DebugInfo.h:48
@ LLVMDIFlagPtrToMemberRep
Definition: DebugInfo.h:70
@ LLVMDIFlagVirtual
Definition: DebugInfo.h:42
@ LLVMDIFlagSingleInheritance
Definition: DebugInfo.h:53
@ LLVMDIFlagVirtualInheritance
Definition: DebugInfo.h:55
@ LLVMDIFlagReserved
Definition: DebugInfo.h:52
@ LLVMDIFlagTypePassByValue
Definition: DebugInfo.h:59
@ LLVMDIFlagEnumClass
Definition: DebugInfo.h:61
@ LLVMDIFlagFwdDecl
Definition: DebugInfo.h:39
@ LLVMDIFlagLValueReference
Definition: DebugInfo.h:50
@ LLVMDIFlagObjectPointer
Definition: DebugInfo.h:47
@ LLVMDIFlagNonTrivial
Definition: DebugInfo.h:64
@ LLVMDIFlagZero
Definition: DebugInfo.h:35
@ LLVMDWARFEmissionLineTablesOnly
Definition: DebugInfo.h:141
@ LLVMDWARFEmissionFull
Definition: DebugInfo.h:140
@ LLVMDWARFEmissionNone
Definition: DebugInfo.h:139
struct LLVMOpaqueValue * LLVMValueRef
Definition: Types.h:75
int LLVMBool
Definition: Types.h:28
struct LLVMOpaqueContext * LLVMContextRef
Definition: Types.h:53
struct LLVMOpaqueBasicBlock * LLVMBasicBlockRef
Definition: Types.h:82
struct LLVMOpaqueMetadata * LLVMMetadataRef
Definition: Types.h:89
struct LLVMOpaqueModule * LLVMModuleRef
Definition: Types.h:61
struct LLVMOpaqueDIBuilder * LLVMDIBuilderRef
Definition: Types.h:117
uint uint32_t
ulong uint64_t