internal static extern LLVMMetadataRef /*DILocalScope*/ LLVMDILocationGetInlinedAtScope(LLVMMetadataRef /*DILocation*/ location);
internal static extern LLVMMetadataRef LLVMDILocalScopeGetSubProgram(LLVMMetadataRef /*DILocalScope*/ localScope);
internal static extern LLVMMetadataRef LLVMDIGlobalVarExpGetVariable(LLVMMetadataRef metadataHandle);
internal static extern LLVMMetadataRef LLVMDIScopeGetFile(LLVMMetadataRef scope);
internal static extern string LLVMGetDIFileDirectory(LLVMMetadataRef /*DIFile*/ file);
internal static extern UInt64 LLVMDITypeGetOffsetInBits(LLVMMetadataRef typeRef);
internal static extern LLVMMetadataRef LLVMDITypeGetScope(LLVMMetadataRef typeRef);
internal static extern void LLVMSetCurrentDebugLocation2(LLVMBuilderRef @Bref, UInt32 @Line, UInt32 @Col, LLVMMetadataRef @Scope, LLVMMetadataRef @InlinedAt);
internal static extern string LLVMMetadataAsString(LLVMMetadataRef descriptor);
internal static extern void LLVMSetMetadata2(LLVMValueRef @Inst, UInt32 @KindID, LLVMMetadataRef @MD);
internal static extern void LLVMMetadataReplaceAllUsesWith(LLVMMetadataRef @MD, LLVMMetadataRef @New);
internal static extern void LLVMAddNamedMetadataOperand2(LLVMModuleRef @M, [MarshalAs(UnmanagedType.LPStr)] string @name, LLVMMetadataRef @Val);
internal static extern LLVMMetadataRef LLVMTemporaryMDNode(LLVMContextRef @C, out LLVMMetadataRef @MDs, UInt32 @Count);
internal static extern void LLVMAddModuleFlag(LLVMModuleRef @M, LLVMModFlagBehavior behavior, [MarshalAs(UnmanagedType.LPStr)] string @name, LLVMMetadataRef @value);
internal static extern void LLVMMDNodeResolveCycles(LLVMMetadataRef M);
internal static extern void LLVMMDNodeReplaceAllUsesWith(LLVMMetadataRef oldDescriptor, LLVMMetadataRef newDescriptor);
internal static extern bool LLVMSubProgramDescribes(LLVMMetadataRef subProgram, LLVMValueRef function);
internal static extern LLVMMetadataRef LLVMDILocation(LLVMContextRef context, UInt32 Line, UInt32 Column, LLVMMetadataRef scope, LLVMMetadataRef InlinedAt);
internal static extern UInt32 LLVMDITypeGetFlags(LLVMMetadataRef typeRef);
internal static extern bool LLVMIsTemporary(LLVMMetadataRef M);
internal static extern string LLVMDITypeGetName(LLVMMetadataRef typeRef);
internal static extern bool LLVMIsResolved(LLVMMetadataRef M);
internal static extern string LLVMGetDIFileName(LLVMMetadataRef /*DIFile*/ file);
internal static extern bool LLVMIsDistinct(LLVMMetadataRef M);
internal static extern LLVMMetadataKind LLVMGetMetadataID(LLVMMetadataRef /*Metadata*/ md);
internal static extern bool LLVMIsUniqued(LLVMMetadataRef M);
internal static extern void LLVMFunctionSetSubprogram(LLVMValueRef function, LLVMMetadataRef subprogram);
internal static extern string LLVMGetMDStringText(LLVMMetadataRef M, out UInt32 len);
internal static extern void LLVMGlobalVariableAddDebugExpression(LLVMValueRef variable, LLVMMetadataRef metadataHandle);
internal static extern LLVMMetadataRef /*DILocation*/ LLVMGetDILocationInlinedAt(LLVMMetadataRef /*DILocation*/ location);