# mypy: disable-error-code="empty-body"
from __future__ import annotations
import ctypes
from typing import Literal, TypeAlias
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
from tinygrad.runtime.support import c
from tinygrad.helpers import WIN, OSX
dll = c.DLL('llvm', 'C:\\Program Files\\LLVM\\bin\\LLVM-C.dll' if WIN else ['/opt/homebrew/opt/llvm@21/lib/libLLVM.dylib', '/opt/homebrew/opt/llvm@20/lib/libLLVM.dylib', '/opt/homebrew/opt/llvm@19/lib/libLLVM.dylib', '/opt/homebrew/opt/llvm@18/lib/libLLVM.dylib', '/opt/homebrew/opt/llvm@17/lib/libLLVM.dylib', '/opt/homebrew/opt/llvm@16/lib/libLLVM.dylib', '/opt/homebrew/opt/llvm@15/lib/libLLVM.dylib', '/opt/homebrew/opt/llvm@14/lib/libLLVM.dylib'] if OSX else ['LLVM', 'LLVM-21', 'LLVM-20', 'LLVM-19', 'LLVM-18', 'LLVM-17', 'LLVM-16', 'LLVM-15', 'LLVM-14'])
intmax_t: TypeAlias = ctypes.c_int64
@dll.bind(intmax_t, intmax_t)
def imaxabs(__n:intmax_t) -> intmax_t: ...
@c.record
class imaxdiv_t(c.Struct):
  SIZE = 16
  quot: int
  rem: int
imaxdiv_t.register_fields([('quot', ctypes.c_int64, 0), ('rem', ctypes.c_int64, 8)])
@dll.bind(imaxdiv_t, intmax_t, intmax_t)
def imaxdiv(__numer:intmax_t, __denom:intmax_t) -> imaxdiv_t: ...
@dll.bind(intmax_t, c.POINTER[ctypes.c_char], c.POINTER[c.POINTER[ctypes.c_char]], ctypes.c_int32)
def strtoimax(__nptr:c.POINTER[ctypes.c_char], __endptr:c.POINTER[c.POINTER[ctypes.c_char]], __base:int) -> intmax_t: ...
uintmax_t: TypeAlias = ctypes.c_uint64
@dll.bind(uintmax_t, c.POINTER[ctypes.c_char], c.POINTER[c.POINTER[ctypes.c_char]], ctypes.c_int32)
def strtoumax(__nptr:c.POINTER[ctypes.c_char], __endptr:c.POINTER[c.POINTER[ctypes.c_char]], __base:int) -> uintmax_t: ...
__gwchar_t: TypeAlias = ctypes.c_int32
@dll.bind(intmax_t, c.POINTER[ctypes.c_int32], c.POINTER[c.POINTER[ctypes.c_int32]], ctypes.c_int32)
def wcstoimax(__nptr:c.POINTER[ctypes.c_int32], __endptr:c.POINTER[c.POINTER[ctypes.c_int32]], __base:int) -> intmax_t: ...
@dll.bind(uintmax_t, c.POINTER[ctypes.c_int32], c.POINTER[c.POINTER[ctypes.c_int32]], ctypes.c_int32)
def wcstoumax(__nptr:c.POINTER[ctypes.c_int32], __endptr:c.POINTER[c.POINTER[ctypes.c_int32]], __base:int) -> uintmax_t: ...
@c.record
class fd_set(c.Struct):
  SIZE = 128
  fds_bits: c.Array[ctypes.c_int64, Literal[16]]
__fd_mask: TypeAlias = ctypes.c_int64
fd_set.register_fields([('fds_bits', c.Array[ctypes.c_int64, Literal[16]], 0)])
@c.record
class struct_timeval(c.Struct):
  SIZE = 16
  tv_sec: int
  tv_usec: int
__time_t: TypeAlias = ctypes.c_int64
__suseconds_t: TypeAlias = ctypes.c_int64
struct_timeval.register_fields([('tv_sec', ctypes.c_int64, 0), ('tv_usec', ctypes.c_int64, 8)])
@dll.bind(ctypes.c_int32, ctypes.c_int32, c.POINTER[fd_set], c.POINTER[fd_set], c.POINTER[fd_set], c.POINTER[struct_timeval])
def select(__nfds:int, __readfds:c.POINTER[fd_set], __writefds:c.POINTER[fd_set], __exceptfds:c.POINTER[fd_set], __timeout:c.POINTER[struct_timeval]) -> int: ...
@c.record
class struct_timespec(c.Struct):
  SIZE = 16
  tv_sec: int
  tv_nsec: int
__syscall_slong_t: TypeAlias = ctypes.c_int64
struct_timespec.register_fields([('tv_sec', ctypes.c_int64, 0), ('tv_nsec', ctypes.c_int64, 8)])
@c.record
class __sigset_t(c.Struct):
  SIZE = 128
  __val: c.Array[ctypes.c_uint64, Literal[16]]
__sigset_t.register_fields([('__val', c.Array[ctypes.c_uint64, Literal[16]], 0)])
@dll.bind(ctypes.c_int32, ctypes.c_int32, c.POINTER[fd_set], c.POINTER[fd_set], c.POINTER[fd_set], c.POINTER[struct_timespec], c.POINTER[__sigset_t])
def pselect(__nfds:int, __readfds:c.POINTER[fd_set], __writefds:c.POINTER[fd_set], __exceptfds:c.POINTER[fd_set], __timeout:c.POINTER[struct_timespec], __sigmask:c.POINTER[__sigset_t]) -> int: ...
LLVMVerifierFailureAction: dict[int, str] = {(LLVMAbortProcessAction:=0): 'LLVMAbortProcessAction', (LLVMPrintMessageAction:=1): 'LLVMPrintMessageAction', (LLVMReturnStatusAction:=2): 'LLVMReturnStatusAction'}
LLVMBool: TypeAlias = ctypes.c_int32
class struct_LLVMOpaqueModule(c.Struct): pass
LLVMModuleRef: TypeAlias = c.POINTER[struct_LLVMOpaqueModule]
@dll.bind(LLVMBool, LLVMModuleRef, ctypes.c_uint32, c.POINTER[c.POINTER[ctypes.c_char]])
def LLVMVerifyModule(M:LLVMModuleRef, Action:ctypes.c_uint32, OutMessage:c.POINTER[c.POINTER[ctypes.c_char]]) -> LLVMBool: ...
class struct_LLVMOpaqueValue(c.Struct): pass
LLVMValueRef: TypeAlias = c.POINTER[struct_LLVMOpaqueValue]
@dll.bind(LLVMBool, LLVMValueRef, ctypes.c_uint32)
def LLVMVerifyFunction(Fn:LLVMValueRef, Action:ctypes.c_uint32) -> LLVMBool: ...
@dll.bind(None, LLVMValueRef)
def LLVMViewFunctionCFG(Fn:LLVMValueRef) -> None: ...
@dll.bind(None, LLVMValueRef)
def LLVMViewFunctionCFGOnly(Fn:LLVMValueRef) -> None: ...
class struct_LLVMOpaqueMemoryBuffer(c.Struct): pass
LLVMMemoryBufferRef: TypeAlias = c.POINTER[struct_LLVMOpaqueMemoryBuffer]
@dll.bind(LLVMBool, LLVMMemoryBufferRef, c.POINTER[LLVMModuleRef], c.POINTER[c.POINTER[ctypes.c_char]])
def LLVMParseBitcode(MemBuf:LLVMMemoryBufferRef, OutModule:c.POINTER[LLVMModuleRef], OutMessage:c.POINTER[c.POINTER[ctypes.c_char]]) -> LLVMBool: ...
@dll.bind(LLVMBool, LLVMMemoryBufferRef, c.POINTER[LLVMModuleRef])
def LLVMParseBitcode2(MemBuf:LLVMMemoryBufferRef, OutModule:c.POINTER[LLVMModuleRef]) -> LLVMBool: ...
class struct_LLVMOpaqueContext(c.Struct): pass
LLVMContextRef: TypeAlias = c.POINTER[struct_LLVMOpaqueContext]
@dll.bind(LLVMBool, LLVMContextRef, LLVMMemoryBufferRef, c.POINTER[LLVMModuleRef], c.POINTER[c.POINTER[ctypes.c_char]])
def LLVMParseBitcodeInContext(ContextRef:LLVMContextRef, MemBuf:LLVMMemoryBufferRef, OutModule:c.POINTER[LLVMModuleRef], OutMessage:c.POINTER[c.POINTER[ctypes.c_char]]) -> LLVMBool: ...
@dll.bind(LLVMBool, LLVMContextRef, LLVMMemoryBufferRef, c.POINTER[LLVMModuleRef])
def LLVMParseBitcodeInContext2(ContextRef:LLVMContextRef, MemBuf:LLVMMemoryBufferRef, OutModule:c.POINTER[LLVMModuleRef]) -> LLVMBool: ...
@dll.bind(LLVMBool, LLVMContextRef, LLVMMemoryBufferRef, c.POINTER[LLVMModuleRef], c.POINTER[c.POINTER[ctypes.c_char]])
def LLVMGetBitcodeModuleInContext(ContextRef:LLVMContextRef, MemBuf:LLVMMemoryBufferRef, OutM:c.POINTER[LLVMModuleRef], OutMessage:c.POINTER[c.POINTER[ctypes.c_char]]) -> LLVMBool: ...
@dll.bind(LLVMBool, LLVMContextRef, LLVMMemoryBufferRef, c.POINTER[LLVMModuleRef])
def LLVMGetBitcodeModuleInContext2(ContextRef:LLVMContextRef, MemBuf:LLVMMemoryBufferRef, OutM:c.POINTER[LLVMModuleRef]) -> LLVMBool: ...
@dll.bind(LLVMBool, LLVMMemoryBufferRef, c.POINTER[LLVMModuleRef], c.POINTER[c.POINTER[ctypes.c_char]])
def LLVMGetBitcodeModule(MemBuf:LLVMMemoryBufferRef, OutM:c.POINTER[LLVMModuleRef], OutMessage:c.POINTER[c.POINTER[ctypes.c_char]]) -> LLVMBool: ...
@dll.bind(LLVMBool, LLVMMemoryBufferRef, c.POINTER[LLVMModuleRef])
def LLVMGetBitcodeModule2(MemBuf:LLVMMemoryBufferRef, OutM:c.POINTER[LLVMModuleRef]) -> LLVMBool: ...
@dll.bind(ctypes.c_int32, LLVMModuleRef, c.POINTER[ctypes.c_char])
def LLVMWriteBitcodeToFile(M:LLVMModuleRef, Path:c.POINTER[ctypes.c_char]) -> int: ...
@dll.bind(ctypes.c_int32, LLVMModuleRef, ctypes.c_int32, ctypes.c_int32, ctypes.c_int32)
def LLVMWriteBitcodeToFD(M:LLVMModuleRef, FD:int, ShouldClose:int, Unbuffered:int) -> int: ...
@dll.bind(ctypes.c_int32, LLVMModuleRef, ctypes.c_int32)
def LLVMWriteBitcodeToFileHandle(M:LLVMModuleRef, Handle:int) -> int: ...
@dll.bind(LLVMMemoryBufferRef, LLVMModuleRef)
def LLVMWriteBitcodeToMemoryBuffer(M:LLVMModuleRef) -> LLVMMemoryBufferRef: ...
LLVMComdatSelectionKind: dict[int, str] = {(LLVMAnyComdatSelectionKind:=0): 'LLVMAnyComdatSelectionKind', (LLVMExactMatchComdatSelectionKind:=1): 'LLVMExactMatchComdatSelectionKind', (LLVMLargestComdatSelectionKind:=2): 'LLVMLargestComdatSelectionKind', (LLVMNoDeduplicateComdatSelectionKind:=3): 'LLVMNoDeduplicateComdatSelectionKind', (LLVMSameSizeComdatSelectionKind:=4): 'LLVMSameSizeComdatSelectionKind'}
class struct_LLVMComdat(c.Struct): pass
LLVMComdatRef: TypeAlias = c.POINTER[struct_LLVMComdat]
@dll.bind(LLVMComdatRef, LLVMModuleRef, c.POINTER[ctypes.c_char])
def LLVMGetOrInsertComdat(M:LLVMModuleRef, Name:c.POINTER[ctypes.c_char]) -> LLVMComdatRef: ...
@dll.bind(LLVMComdatRef, LLVMValueRef)
def LLVMGetComdat(V:LLVMValueRef) -> LLVMComdatRef: ...
@dll.bind(None, LLVMValueRef, LLVMComdatRef)
def LLVMSetComdat(V:LLVMValueRef, C:LLVMComdatRef) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMComdatRef)
def LLVMGetComdatSelectionKind(C:LLVMComdatRef) -> ctypes.c_uint32: ...
@dll.bind(None, LLVMComdatRef, ctypes.c_uint32)
def LLVMSetComdatSelectionKind(C:LLVMComdatRef, Kind:ctypes.c_uint32) -> None: ...
LLVMFatalErrorHandler: TypeAlias = c.CFUNCTYPE[None, [c.POINTER[ctypes.c_char]]]
@dll.bind(None, LLVMFatalErrorHandler)
def LLVMInstallFatalErrorHandler(Handler:LLVMFatalErrorHandler) -> None: ...
@dll.bind(None)
def LLVMResetFatalErrorHandler() -> None: ...
@dll.bind(None)
def LLVMEnablePrettyStackTrace() -> None: ...
LLVMOpcode: dict[int, str] = {(LLVMRet:=1): 'LLVMRet', (LLVMBr:=2): 'LLVMBr', (LLVMSwitch:=3): 'LLVMSwitch', (LLVMIndirectBr:=4): 'LLVMIndirectBr', (LLVMInvoke:=5): 'LLVMInvoke', (LLVMUnreachable:=7): 'LLVMUnreachable', (LLVMCallBr:=67): 'LLVMCallBr', (LLVMFNeg:=66): 'LLVMFNeg', (LLVMAdd:=8): 'LLVMAdd', (LLVMFAdd:=9): 'LLVMFAdd', (LLVMSub:=10): 'LLVMSub', (LLVMFSub:=11): 'LLVMFSub', (LLVMMul:=12): 'LLVMMul', (LLVMFMul:=13): 'LLVMFMul', (LLVMUDiv:=14): 'LLVMUDiv', (LLVMSDiv:=15): 'LLVMSDiv', (LLVMFDiv:=16): 'LLVMFDiv', (LLVMURem:=17): 'LLVMURem', (LLVMSRem:=18): 'LLVMSRem', (LLVMFRem:=19): 'LLVMFRem', (LLVMShl:=20): 'LLVMShl', (LLVMLShr:=21): 'LLVMLShr', (LLVMAShr:=22): 'LLVMAShr', (LLVMAnd:=23): 'LLVMAnd', (LLVMOr:=24): 'LLVMOr', (LLVMXor:=25): 'LLVMXor', (LLVMAlloca:=26): 'LLVMAlloca', (LLVMLoad:=27): 'LLVMLoad', (LLVMStore:=28): 'LLVMStore', (LLVMGetElementPtr:=29): 'LLVMGetElementPtr', (LLVMTrunc:=30): 'LLVMTrunc', (LLVMZExt:=31): 'LLVMZExt', (LLVMSExt:=32): 'LLVMSExt', (LLVMFPToUI:=33): 'LLVMFPToUI', (LLVMFPToSI:=34): 'LLVMFPToSI', (LLVMUIToFP:=35): 'LLVMUIToFP', (LLVMSIToFP:=36): 'LLVMSIToFP', (LLVMFPTrunc:=37): 'LLVMFPTrunc', (LLVMFPExt:=38): 'LLVMFPExt', (LLVMPtrToInt:=39): 'LLVMPtrToInt', (LLVMIntToPtr:=40): 'LLVMIntToPtr', (LLVMBitCast:=41): 'LLVMBitCast', (LLVMAddrSpaceCast:=60): 'LLVMAddrSpaceCast', (LLVMICmp:=42): 'LLVMICmp', (LLVMFCmp:=43): 'LLVMFCmp', (LLVMPHI:=44): 'LLVMPHI', (LLVMCall:=45): 'LLVMCall', (LLVMSelect:=46): 'LLVMSelect', (LLVMUserOp1:=47): 'LLVMUserOp1', (LLVMUserOp2:=48): 'LLVMUserOp2', (LLVMVAArg:=49): 'LLVMVAArg', (LLVMExtractElement:=50): 'LLVMExtractElement', (LLVMInsertElement:=51): 'LLVMInsertElement', (LLVMShuffleVector:=52): 'LLVMShuffleVector', (LLVMExtractValue:=53): 'LLVMExtractValue', (LLVMInsertValue:=54): 'LLVMInsertValue', (LLVMFreeze:=68): 'LLVMFreeze', (LLVMFence:=55): 'LLVMFence', (LLVMAtomicCmpXchg:=56): 'LLVMAtomicCmpXchg', (LLVMAtomicRMW:=57): 'LLVMAtomicRMW', (LLVMResume:=58): 'LLVMResume', (LLVMLandingPad:=59): 'LLVMLandingPad', (LLVMCleanupRet:=61): 'LLVMCleanupRet', (LLVMCatchRet:=62): 'LLVMCatchRet', (LLVMCatchPad:=63): 'LLVMCatchPad', (LLVMCleanupPad:=64): 'LLVMCleanupPad', (LLVMCatchSwitch:=65): 'LLVMCatchSwitch'}
LLVMTypeKind: dict[int, str] = {(LLVMVoidTypeKind:=0): 'LLVMVoidTypeKind', (LLVMHalfTypeKind:=1): 'LLVMHalfTypeKind', (LLVMFloatTypeKind:=2): 'LLVMFloatTypeKind', (LLVMDoubleTypeKind:=3): 'LLVMDoubleTypeKind', (LLVMX86_FP80TypeKind:=4): 'LLVMX86_FP80TypeKind', (LLVMFP128TypeKind:=5): 'LLVMFP128TypeKind', (LLVMPPC_FP128TypeKind:=6): 'LLVMPPC_FP128TypeKind', (LLVMLabelTypeKind:=7): 'LLVMLabelTypeKind', (LLVMIntegerTypeKind:=8): 'LLVMIntegerTypeKind', (LLVMFunctionTypeKind:=9): 'LLVMFunctionTypeKind', (LLVMStructTypeKind:=10): 'LLVMStructTypeKind', (LLVMArrayTypeKind:=11): 'LLVMArrayTypeKind', (LLVMPointerTypeKind:=12): 'LLVMPointerTypeKind', (LLVMVectorTypeKind:=13): 'LLVMVectorTypeKind', (LLVMMetadataTypeKind:=14): 'LLVMMetadataTypeKind', (LLVMTokenTypeKind:=16): 'LLVMTokenTypeKind', (LLVMScalableVectorTypeKind:=17): 'LLVMScalableVectorTypeKind', (LLVMBFloatTypeKind:=18): 'LLVMBFloatTypeKind', (LLVMX86_AMXTypeKind:=19): 'LLVMX86_AMXTypeKind', (LLVMTargetExtTypeKind:=20): 'LLVMTargetExtTypeKind'}
LLVMLinkage: dict[int, str] = {(LLVMExternalLinkage:=0): 'LLVMExternalLinkage', (LLVMAvailableExternallyLinkage:=1): 'LLVMAvailableExternallyLinkage', (LLVMLinkOnceAnyLinkage:=2): 'LLVMLinkOnceAnyLinkage', (LLVMLinkOnceODRLinkage:=3): 'LLVMLinkOnceODRLinkage', (LLVMLinkOnceODRAutoHideLinkage:=4): 'LLVMLinkOnceODRAutoHideLinkage', (LLVMWeakAnyLinkage:=5): 'LLVMWeakAnyLinkage', (LLVMWeakODRLinkage:=6): 'LLVMWeakODRLinkage', (LLVMAppendingLinkage:=7): 'LLVMAppendingLinkage', (LLVMInternalLinkage:=8): 'LLVMInternalLinkage', (LLVMPrivateLinkage:=9): 'LLVMPrivateLinkage', (LLVMDLLImportLinkage:=10): 'LLVMDLLImportLinkage', (LLVMDLLExportLinkage:=11): 'LLVMDLLExportLinkage', (LLVMExternalWeakLinkage:=12): 'LLVMExternalWeakLinkage', (LLVMGhostLinkage:=13): 'LLVMGhostLinkage', (LLVMCommonLinkage:=14): 'LLVMCommonLinkage', (LLVMLinkerPrivateLinkage:=15): 'LLVMLinkerPrivateLinkage', (LLVMLinkerPrivateWeakLinkage:=16): 'LLVMLinkerPrivateWeakLinkage'}
LLVMVisibility: dict[int, str] = {(LLVMDefaultVisibility:=0): 'LLVMDefaultVisibility', (LLVMHiddenVisibility:=1): 'LLVMHiddenVisibility', (LLVMProtectedVisibility:=2): 'LLVMProtectedVisibility'}
LLVMUnnamedAddr: dict[int, str] = {(LLVMNoUnnamedAddr:=0): 'LLVMNoUnnamedAddr', (LLVMLocalUnnamedAddr:=1): 'LLVMLocalUnnamedAddr', (LLVMGlobalUnnamedAddr:=2): 'LLVMGlobalUnnamedAddr'}
LLVMDLLStorageClass: dict[int, str] = {(LLVMDefaultStorageClass:=0): 'LLVMDefaultStorageClass', (LLVMDLLImportStorageClass:=1): 'LLVMDLLImportStorageClass', (LLVMDLLExportStorageClass:=2): 'LLVMDLLExportStorageClass'}
LLVMCallConv: dict[int, str] = {(LLVMCCallConv:=0): 'LLVMCCallConv', (LLVMFastCallConv:=8): 'LLVMFastCallConv', (LLVMColdCallConv:=9): 'LLVMColdCallConv', (LLVMGHCCallConv:=10): 'LLVMGHCCallConv', (LLVMHiPECallConv:=11): 'LLVMHiPECallConv', (LLVMAnyRegCallConv:=13): 'LLVMAnyRegCallConv', (LLVMPreserveMostCallConv:=14): 'LLVMPreserveMostCallConv', (LLVMPreserveAllCallConv:=15): 'LLVMPreserveAllCallConv', (LLVMSwiftCallConv:=16): 'LLVMSwiftCallConv', (LLVMCXXFASTTLSCallConv:=17): 'LLVMCXXFASTTLSCallConv', (LLVMX86StdcallCallConv:=64): 'LLVMX86StdcallCallConv', (LLVMX86FastcallCallConv:=65): 'LLVMX86FastcallCallConv', (LLVMARMAPCSCallConv:=66): 'LLVMARMAPCSCallConv', (LLVMARMAAPCSCallConv:=67): 'LLVMARMAAPCSCallConv', (LLVMARMAAPCSVFPCallConv:=68): 'LLVMARMAAPCSVFPCallConv', (LLVMMSP430INTRCallConv:=69): 'LLVMMSP430INTRCallConv', (LLVMX86ThisCallCallConv:=70): 'LLVMX86ThisCallCallConv', (LLVMPTXKernelCallConv:=71): 'LLVMPTXKernelCallConv', (LLVMPTXDeviceCallConv:=72): 'LLVMPTXDeviceCallConv', (LLVMSPIRFUNCCallConv:=75): 'LLVMSPIRFUNCCallConv', (LLVMSPIRKERNELCallConv:=76): 'LLVMSPIRKERNELCallConv', (LLVMIntelOCLBICallConv:=77): 'LLVMIntelOCLBICallConv', (LLVMX8664SysVCallConv:=78): 'LLVMX8664SysVCallConv', (LLVMWin64CallConv:=79): 'LLVMWin64CallConv', (LLVMX86VectorCallCallConv:=80): 'LLVMX86VectorCallCallConv', (LLVMHHVMCallConv:=81): 'LLVMHHVMCallConv', (LLVMHHVMCCallConv:=82): 'LLVMHHVMCCallConv', (LLVMX86INTRCallConv:=83): 'LLVMX86INTRCallConv', (LLVMAVRINTRCallConv:=84): 'LLVMAVRINTRCallConv', (LLVMAVRSIGNALCallConv:=85): 'LLVMAVRSIGNALCallConv', (LLVMAVRBUILTINCallConv:=86): 'LLVMAVRBUILTINCallConv', (LLVMAMDGPUVSCallConv:=87): 'LLVMAMDGPUVSCallConv', (LLVMAMDGPUGSCallConv:=88): 'LLVMAMDGPUGSCallConv', (LLVMAMDGPUPSCallConv:=89): 'LLVMAMDGPUPSCallConv', (LLVMAMDGPUCSCallConv:=90): 'LLVMAMDGPUCSCallConv', (LLVMAMDGPUKERNELCallConv:=91): 'LLVMAMDGPUKERNELCallConv', (LLVMX86RegCallCallConv:=92): 'LLVMX86RegCallCallConv', (LLVMAMDGPUHSCallConv:=93): 'LLVMAMDGPUHSCallConv', (LLVMMSP430BUILTINCallConv:=94): 'LLVMMSP430BUILTINCallConv', (LLVMAMDGPULSCallConv:=95): 'LLVMAMDGPULSCallConv', (LLVMAMDGPUESCallConv:=96): 'LLVMAMDGPUESCallConv'}
LLVMValueKind: dict[int, str] = {(LLVMArgumentValueKind:=0): 'LLVMArgumentValueKind', (LLVMBasicBlockValueKind:=1): 'LLVMBasicBlockValueKind', (LLVMMemoryUseValueKind:=2): 'LLVMMemoryUseValueKind', (LLVMMemoryDefValueKind:=3): 'LLVMMemoryDefValueKind', (LLVMMemoryPhiValueKind:=4): 'LLVMMemoryPhiValueKind', (LLVMFunctionValueKind:=5): 'LLVMFunctionValueKind', (LLVMGlobalAliasValueKind:=6): 'LLVMGlobalAliasValueKind', (LLVMGlobalIFuncValueKind:=7): 'LLVMGlobalIFuncValueKind', (LLVMGlobalVariableValueKind:=8): 'LLVMGlobalVariableValueKind', (LLVMBlockAddressValueKind:=9): 'LLVMBlockAddressValueKind', (LLVMConstantExprValueKind:=10): 'LLVMConstantExprValueKind', (LLVMConstantArrayValueKind:=11): 'LLVMConstantArrayValueKind', (LLVMConstantStructValueKind:=12): 'LLVMConstantStructValueKind', (LLVMConstantVectorValueKind:=13): 'LLVMConstantVectorValueKind', (LLVMUndefValueValueKind:=14): 'LLVMUndefValueValueKind', (LLVMConstantAggregateZeroValueKind:=15): 'LLVMConstantAggregateZeroValueKind', (LLVMConstantDataArrayValueKind:=16): 'LLVMConstantDataArrayValueKind', (LLVMConstantDataVectorValueKind:=17): 'LLVMConstantDataVectorValueKind', (LLVMConstantIntValueKind:=18): 'LLVMConstantIntValueKind', (LLVMConstantFPValueKind:=19): 'LLVMConstantFPValueKind', (LLVMConstantPointerNullValueKind:=20): 'LLVMConstantPointerNullValueKind', (LLVMConstantTokenNoneValueKind:=21): 'LLVMConstantTokenNoneValueKind', (LLVMMetadataAsValueValueKind:=22): 'LLVMMetadataAsValueValueKind', (LLVMInlineAsmValueKind:=23): 'LLVMInlineAsmValueKind', (LLVMInstructionValueKind:=24): 'LLVMInstructionValueKind', (LLVMPoisonValueValueKind:=25): 'LLVMPoisonValueValueKind', (LLVMConstantTargetNoneValueKind:=26): 'LLVMConstantTargetNoneValueKind', (LLVMConstantPtrAuthValueKind:=27): 'LLVMConstantPtrAuthValueKind'}
LLVMIntPredicate: dict[int, str] = {(LLVMIntEQ:=32): 'LLVMIntEQ', (LLVMIntNE:=33): 'LLVMIntNE', (LLVMIntUGT:=34): 'LLVMIntUGT', (LLVMIntUGE:=35): 'LLVMIntUGE', (LLVMIntULT:=36): 'LLVMIntULT', (LLVMIntULE:=37): 'LLVMIntULE', (LLVMIntSGT:=38): 'LLVMIntSGT', (LLVMIntSGE:=39): 'LLVMIntSGE', (LLVMIntSLT:=40): 'LLVMIntSLT', (LLVMIntSLE:=41): 'LLVMIntSLE'}
LLVMRealPredicate: dict[int, str] = {(LLVMRealPredicateFalse:=0): 'LLVMRealPredicateFalse', (LLVMRealOEQ:=1): 'LLVMRealOEQ', (LLVMRealOGT:=2): 'LLVMRealOGT', (LLVMRealOGE:=3): 'LLVMRealOGE', (LLVMRealOLT:=4): 'LLVMRealOLT', (LLVMRealOLE:=5): 'LLVMRealOLE', (LLVMRealONE:=6): 'LLVMRealONE', (LLVMRealORD:=7): 'LLVMRealORD', (LLVMRealUNO:=8): 'LLVMRealUNO', (LLVMRealUEQ:=9): 'LLVMRealUEQ', (LLVMRealUGT:=10): 'LLVMRealUGT', (LLVMRealUGE:=11): 'LLVMRealUGE', (LLVMRealULT:=12): 'LLVMRealULT', (LLVMRealULE:=13): 'LLVMRealULE', (LLVMRealUNE:=14): 'LLVMRealUNE', (LLVMRealPredicateTrue:=15): 'LLVMRealPredicateTrue'}
LLVMLandingPadClauseTy: dict[int, str] = {(LLVMLandingPadCatch:=0): 'LLVMLandingPadCatch', (LLVMLandingPadFilter:=1): 'LLVMLandingPadFilter'}
LLVMThreadLocalMode: dict[int, str] = {(LLVMNotThreadLocal:=0): 'LLVMNotThreadLocal', (LLVMGeneralDynamicTLSModel:=1): 'LLVMGeneralDynamicTLSModel', (LLVMLocalDynamicTLSModel:=2): 'LLVMLocalDynamicTLSModel', (LLVMInitialExecTLSModel:=3): 'LLVMInitialExecTLSModel', (LLVMLocalExecTLSModel:=4): 'LLVMLocalExecTLSModel'}
LLVMAtomicOrdering: dict[int, str] = {(LLVMAtomicOrderingNotAtomic:=0): 'LLVMAtomicOrderingNotAtomic', (LLVMAtomicOrderingUnordered:=1): 'LLVMAtomicOrderingUnordered', (LLVMAtomicOrderingMonotonic:=2): 'LLVMAtomicOrderingMonotonic', (LLVMAtomicOrderingAcquire:=4): 'LLVMAtomicOrderingAcquire', (LLVMAtomicOrderingRelease:=5): 'LLVMAtomicOrderingRelease', (LLVMAtomicOrderingAcquireRelease:=6): 'LLVMAtomicOrderingAcquireRelease', (LLVMAtomicOrderingSequentiallyConsistent:=7): 'LLVMAtomicOrderingSequentiallyConsistent'}
LLVMAtomicRMWBinOp: dict[int, str] = {(LLVMAtomicRMWBinOpXchg:=0): 'LLVMAtomicRMWBinOpXchg', (LLVMAtomicRMWBinOpAdd:=1): 'LLVMAtomicRMWBinOpAdd', (LLVMAtomicRMWBinOpSub:=2): 'LLVMAtomicRMWBinOpSub', (LLVMAtomicRMWBinOpAnd:=3): 'LLVMAtomicRMWBinOpAnd', (LLVMAtomicRMWBinOpNand:=4): 'LLVMAtomicRMWBinOpNand', (LLVMAtomicRMWBinOpOr:=5): 'LLVMAtomicRMWBinOpOr', (LLVMAtomicRMWBinOpXor:=6): 'LLVMAtomicRMWBinOpXor', (LLVMAtomicRMWBinOpMax:=7): 'LLVMAtomicRMWBinOpMax', (LLVMAtomicRMWBinOpMin:=8): 'LLVMAtomicRMWBinOpMin', (LLVMAtomicRMWBinOpUMax:=9): 'LLVMAtomicRMWBinOpUMax', (LLVMAtomicRMWBinOpUMin:=10): 'LLVMAtomicRMWBinOpUMin', (LLVMAtomicRMWBinOpFAdd:=11): 'LLVMAtomicRMWBinOpFAdd', (LLVMAtomicRMWBinOpFSub:=12): 'LLVMAtomicRMWBinOpFSub', (LLVMAtomicRMWBinOpFMax:=13): 'LLVMAtomicRMWBinOpFMax', (LLVMAtomicRMWBinOpFMin:=14): 'LLVMAtomicRMWBinOpFMin', (LLVMAtomicRMWBinOpUIncWrap:=15): 'LLVMAtomicRMWBinOpUIncWrap', (LLVMAtomicRMWBinOpUDecWrap:=16): 'LLVMAtomicRMWBinOpUDecWrap', (LLVMAtomicRMWBinOpUSubCond:=17): 'LLVMAtomicRMWBinOpUSubCond', (LLVMAtomicRMWBinOpUSubSat:=18): 'LLVMAtomicRMWBinOpUSubSat'}
LLVMDiagnosticSeverity: dict[int, str] = {(LLVMDSError:=0): 'LLVMDSError', (LLVMDSWarning:=1): 'LLVMDSWarning', (LLVMDSRemark:=2): 'LLVMDSRemark', (LLVMDSNote:=3): 'LLVMDSNote'}
LLVMInlineAsmDialect: dict[int, str] = {(LLVMInlineAsmDialectATT:=0): 'LLVMInlineAsmDialectATT', (LLVMInlineAsmDialectIntel:=1): 'LLVMInlineAsmDialectIntel'}
LLVMModuleFlagBehavior: dict[int, str] = {(LLVMModuleFlagBehaviorError:=0): 'LLVMModuleFlagBehaviorError', (LLVMModuleFlagBehaviorWarning:=1): 'LLVMModuleFlagBehaviorWarning', (LLVMModuleFlagBehaviorRequire:=2): 'LLVMModuleFlagBehaviorRequire', (LLVMModuleFlagBehaviorOverride:=3): 'LLVMModuleFlagBehaviorOverride', (LLVMModuleFlagBehaviorAppend:=4): 'LLVMModuleFlagBehaviorAppend', (LLVMModuleFlagBehaviorAppendUnique:=5): 'LLVMModuleFlagBehaviorAppendUnique'}
_anonenum0: dict[int, str] = {(LLVMAttributeReturnIndex:=0): 'LLVMAttributeReturnIndex', (LLVMAttributeFunctionIndex:=-1): 'LLVMAttributeFunctionIndex'}
LLVMAttributeIndex: TypeAlias = ctypes.c_uint32
LLVMTailCallKind: dict[int, str] = {(LLVMTailCallKindNone:=0): 'LLVMTailCallKindNone', (LLVMTailCallKindTail:=1): 'LLVMTailCallKindTail', (LLVMTailCallKindMustTail:=2): 'LLVMTailCallKindMustTail', (LLVMTailCallKindNoTail:=3): 'LLVMTailCallKindNoTail'}
_anonenum1: dict[int, str] = {(LLVMFastMathAllowReassoc:=1): 'LLVMFastMathAllowReassoc', (LLVMFastMathNoNaNs:=2): 'LLVMFastMathNoNaNs', (LLVMFastMathNoInfs:=4): 'LLVMFastMathNoInfs', (LLVMFastMathNoSignedZeros:=8): 'LLVMFastMathNoSignedZeros', (LLVMFastMathAllowReciprocal:=16): 'LLVMFastMathAllowReciprocal', (LLVMFastMathAllowContract:=32): 'LLVMFastMathAllowContract', (LLVMFastMathApproxFunc:=64): 'LLVMFastMathApproxFunc', (LLVMFastMathNone:=0): 'LLVMFastMathNone', (LLVMFastMathAll:=127): 'LLVMFastMathAll'}
LLVMFastMathFlags: TypeAlias = ctypes.c_uint32
_anonenum2: dict[int, str] = {(LLVMGEPFlagInBounds:=1): 'LLVMGEPFlagInBounds', (LLVMGEPFlagNUSW:=2): 'LLVMGEPFlagNUSW', (LLVMGEPFlagNUW:=4): 'LLVMGEPFlagNUW'}
LLVMGEPNoWrapFlags: TypeAlias = ctypes.c_uint32
@dll.bind(None)
def LLVMShutdown() -> None: ...
@dll.bind(None, c.POINTER[ctypes.c_uint32], c.POINTER[ctypes.c_uint32], c.POINTER[ctypes.c_uint32])
def LLVMGetVersion(Major:c.POINTER[ctypes.c_uint32], Minor:c.POINTER[ctypes.c_uint32], Patch:c.POINTER[ctypes.c_uint32]) -> None: ...
@dll.bind(c.POINTER[ctypes.c_char], c.POINTER[ctypes.c_char])
def LLVMCreateMessage(Message:c.POINTER[ctypes.c_char]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(None, c.POINTER[ctypes.c_char])
def LLVMDisposeMessage(Message:c.POINTER[ctypes.c_char]) -> None: ...
class struct_LLVMOpaqueDiagnosticInfo(c.Struct): pass
LLVMDiagnosticHandler: TypeAlias = c.CFUNCTYPE[None, [c.POINTER[struct_LLVMOpaqueDiagnosticInfo], ctypes.c_void_p]]
LLVMYieldCallback: TypeAlias = c.CFUNCTYPE[None, [c.POINTER[struct_LLVMOpaqueContext], ctypes.c_void_p]]
@dll.bind(LLVMContextRef)
def LLVMContextCreate() -> LLVMContextRef: ...
@dll.bind(LLVMContextRef)
def LLVMGetGlobalContext() -> LLVMContextRef: ...
@dll.bind(None, LLVMContextRef, LLVMDiagnosticHandler, ctypes.c_void_p)
def LLVMContextSetDiagnosticHandler(C:LLVMContextRef, Handler:LLVMDiagnosticHandler, DiagnosticContext:ctypes.c_void_p) -> None: ...
@dll.bind(LLVMDiagnosticHandler, LLVMContextRef)
def LLVMContextGetDiagnosticHandler(C:LLVMContextRef) -> LLVMDiagnosticHandler: ...
@dll.bind(ctypes.c_void_p, LLVMContextRef)
def LLVMContextGetDiagnosticContext(C:LLVMContextRef) -> ctypes.c_void_p: ...
@dll.bind(None, LLVMContextRef, LLVMYieldCallback, ctypes.c_void_p)
def LLVMContextSetYieldCallback(C:LLVMContextRef, Callback:LLVMYieldCallback, OpaqueHandle:ctypes.c_void_p) -> None: ...
@dll.bind(LLVMBool, LLVMContextRef)
def LLVMContextShouldDiscardValueNames(C:LLVMContextRef) -> LLVMBool: ...
@dll.bind(None, LLVMContextRef, LLVMBool)
def LLVMContextSetDiscardValueNames(C:LLVMContextRef, Discard:LLVMBool) -> None: ...
@dll.bind(None, LLVMContextRef)
def LLVMContextDispose(C:LLVMContextRef) -> None: ...
LLVMDiagnosticInfoRef: TypeAlias = c.POINTER[struct_LLVMOpaqueDiagnosticInfo]
@dll.bind(c.POINTER[ctypes.c_char], LLVMDiagnosticInfoRef)
def LLVMGetDiagInfoDescription(DI:LLVMDiagnosticInfoRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(ctypes.c_uint32, LLVMDiagnosticInfoRef)
def LLVMGetDiagInfoSeverity(DI:LLVMDiagnosticInfoRef) -> ctypes.c_uint32: ...
@dll.bind(ctypes.c_uint32, LLVMContextRef, c.POINTER[ctypes.c_char], ctypes.c_uint32)
def LLVMGetMDKindIDInContext(C:LLVMContextRef, Name:c.POINTER[ctypes.c_char], SLen:int) -> int: ...
@dll.bind(ctypes.c_uint32, c.POINTER[ctypes.c_char], ctypes.c_uint32)
def LLVMGetMDKindID(Name:c.POINTER[ctypes.c_char], SLen:int) -> int: ...
size_t: TypeAlias = ctypes.c_uint64
@dll.bind(ctypes.c_uint32, LLVMContextRef, c.POINTER[ctypes.c_char], size_t)
def LLVMGetSyncScopeID(C:LLVMContextRef, Name:c.POINTER[ctypes.c_char], SLen:size_t) -> int: ...
@dll.bind(ctypes.c_uint32, c.POINTER[ctypes.c_char], size_t)
def LLVMGetEnumAttributeKindForName(Name:c.POINTER[ctypes.c_char], SLen:size_t) -> int: ...
@dll.bind(ctypes.c_uint32)
def LLVMGetLastEnumAttributeKind() -> int: ...
class struct_LLVMOpaqueAttributeRef(c.Struct): pass
LLVMAttributeRef: TypeAlias = c.POINTER[struct_LLVMOpaqueAttributeRef]
uint64_t: TypeAlias = ctypes.c_uint64
@dll.bind(LLVMAttributeRef, LLVMContextRef, ctypes.c_uint32, uint64_t)
def LLVMCreateEnumAttribute(C:LLVMContextRef, KindID:int, Val:uint64_t) -> LLVMAttributeRef: ...
@dll.bind(ctypes.c_uint32, LLVMAttributeRef)
def LLVMGetEnumAttributeKind(A:LLVMAttributeRef) -> int: ...
@dll.bind(uint64_t, LLVMAttributeRef)
def LLVMGetEnumAttributeValue(A:LLVMAttributeRef) -> uint64_t: ...
class struct_LLVMOpaqueType(c.Struct): pass
LLVMTypeRef: TypeAlias = c.POINTER[struct_LLVMOpaqueType]
@dll.bind(LLVMAttributeRef, LLVMContextRef, ctypes.c_uint32, LLVMTypeRef)
def LLVMCreateTypeAttribute(C:LLVMContextRef, KindID:int, type_ref:LLVMTypeRef) -> LLVMAttributeRef: ...
@dll.bind(LLVMTypeRef, LLVMAttributeRef)
def LLVMGetTypeAttributeValue(A:LLVMAttributeRef) -> LLVMTypeRef: ...
@dll.bind(LLVMAttributeRef, LLVMContextRef, ctypes.c_uint32, ctypes.c_uint32, c.Array[uint64_t, Literal[0]], c.Array[uint64_t, Literal[0]])
def LLVMCreateConstantRangeAttribute(C:LLVMContextRef, KindID:int, NumBits:int, LowerWords:c.Array[uint64_t, Literal[0]], UpperWords:c.Array[uint64_t, Literal[0]]) -> LLVMAttributeRef: ...
@dll.bind(LLVMAttributeRef, LLVMContextRef, c.POINTER[ctypes.c_char], ctypes.c_uint32, c.POINTER[ctypes.c_char], ctypes.c_uint32)
def LLVMCreateStringAttribute(C:LLVMContextRef, K:c.POINTER[ctypes.c_char], KLength:int, V:c.POINTER[ctypes.c_char], VLength:int) -> LLVMAttributeRef: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMAttributeRef, c.POINTER[ctypes.c_uint32])
def LLVMGetStringAttributeKind(A:LLVMAttributeRef, Length:c.POINTER[ctypes.c_uint32]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMAttributeRef, c.POINTER[ctypes.c_uint32])
def LLVMGetStringAttributeValue(A:LLVMAttributeRef, Length:c.POINTER[ctypes.c_uint32]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(LLVMBool, LLVMAttributeRef)
def LLVMIsEnumAttribute(A:LLVMAttributeRef) -> LLVMBool: ...
@dll.bind(LLVMBool, LLVMAttributeRef)
def LLVMIsStringAttribute(A:LLVMAttributeRef) -> LLVMBool: ...
@dll.bind(LLVMBool, LLVMAttributeRef)
def LLVMIsTypeAttribute(A:LLVMAttributeRef) -> LLVMBool: ...
@dll.bind(LLVMTypeRef, LLVMContextRef, c.POINTER[ctypes.c_char])
def LLVMGetTypeByName2(C:LLVMContextRef, Name:c.POINTER[ctypes.c_char]) -> LLVMTypeRef: ...
@dll.bind(LLVMModuleRef, c.POINTER[ctypes.c_char])
def LLVMModuleCreateWithName(ModuleID:c.POINTER[ctypes.c_char]) -> LLVMModuleRef: ...
@dll.bind(LLVMModuleRef, c.POINTER[ctypes.c_char], LLVMContextRef)
def LLVMModuleCreateWithNameInContext(ModuleID:c.POINTER[ctypes.c_char], C:LLVMContextRef) -> LLVMModuleRef: ...
@dll.bind(LLVMModuleRef, LLVMModuleRef)
def LLVMCloneModule(M:LLVMModuleRef) -> LLVMModuleRef: ...
@dll.bind(None, LLVMModuleRef)
def LLVMDisposeModule(M:LLVMModuleRef) -> None: ...
@dll.bind(LLVMBool, LLVMModuleRef)
def LLVMIsNewDbgInfoFormat(M:LLVMModuleRef) -> LLVMBool: ...
@dll.bind(None, LLVMModuleRef, LLVMBool)
def LLVMSetIsNewDbgInfoFormat(M:LLVMModuleRef, UseNewFormat:LLVMBool) -> None: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMModuleRef, c.POINTER[size_t])
def LLVMGetModuleIdentifier(M:LLVMModuleRef, Len:c.POINTER[size_t]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(None, LLVMModuleRef, c.POINTER[ctypes.c_char], size_t)
def LLVMSetModuleIdentifier(M:LLVMModuleRef, Ident:c.POINTER[ctypes.c_char], Len:size_t) -> None: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMModuleRef, c.POINTER[size_t])
def LLVMGetSourceFileName(M:LLVMModuleRef, Len:c.POINTER[size_t]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(None, LLVMModuleRef, c.POINTER[ctypes.c_char], size_t)
def LLVMSetSourceFileName(M:LLVMModuleRef, Name:c.POINTER[ctypes.c_char], Len:size_t) -> None: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMModuleRef)
def LLVMGetDataLayoutStr(M:LLVMModuleRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMModuleRef)
def LLVMGetDataLayout(M:LLVMModuleRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(None, LLVMModuleRef, c.POINTER[ctypes.c_char])
def LLVMSetDataLayout(M:LLVMModuleRef, DataLayoutStr:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMModuleRef)
def LLVMGetTarget(M:LLVMModuleRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(None, LLVMModuleRef, c.POINTER[ctypes.c_char])
def LLVMSetTarget(M:LLVMModuleRef, Triple:c.POINTER[ctypes.c_char]) -> None: ...
class struct_LLVMOpaqueModuleFlagEntry(c.Struct): pass
LLVMModuleFlagEntry: TypeAlias = struct_LLVMOpaqueModuleFlagEntry
@dll.bind(c.POINTER[LLVMModuleFlagEntry], LLVMModuleRef, c.POINTER[size_t])
def LLVMCopyModuleFlagsMetadata(M:LLVMModuleRef, Len:c.POINTER[size_t]) -> c.POINTER[LLVMModuleFlagEntry]: ...
@dll.bind(None, c.POINTER[LLVMModuleFlagEntry])
def LLVMDisposeModuleFlagsMetadata(Entries:c.POINTER[LLVMModuleFlagEntry]) -> None: ...
@dll.bind(ctypes.c_uint32, c.POINTER[LLVMModuleFlagEntry], ctypes.c_uint32)
def LLVMModuleFlagEntriesGetFlagBehavior(Entries:c.POINTER[LLVMModuleFlagEntry], Index:int) -> ctypes.c_uint32: ...
@dll.bind(c.POINTER[ctypes.c_char], c.POINTER[LLVMModuleFlagEntry], ctypes.c_uint32, c.POINTER[size_t])
def LLVMModuleFlagEntriesGetKey(Entries:c.POINTER[LLVMModuleFlagEntry], Index:int, Len:c.POINTER[size_t]) -> c.POINTER[ctypes.c_char]: ...
class struct_LLVMOpaqueMetadata(c.Struct): pass
LLVMMetadataRef: TypeAlias = c.POINTER[struct_LLVMOpaqueMetadata]
@dll.bind(LLVMMetadataRef, c.POINTER[LLVMModuleFlagEntry], ctypes.c_uint32)
def LLVMModuleFlagEntriesGetMetadata(Entries:c.POINTER[LLVMModuleFlagEntry], Index:int) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMModuleRef, c.POINTER[ctypes.c_char], size_t)
def LLVMGetModuleFlag(M:LLVMModuleRef, Key:c.POINTER[ctypes.c_char], KeyLen:size_t) -> LLVMMetadataRef: ...
@dll.bind(None, LLVMModuleRef, ctypes.c_uint32, c.POINTER[ctypes.c_char], size_t, LLVMMetadataRef)
def LLVMAddModuleFlag(M:LLVMModuleRef, Behavior:ctypes.c_uint32, Key:c.POINTER[ctypes.c_char], KeyLen:size_t, Val:LLVMMetadataRef) -> None: ...
@dll.bind(None, LLVMModuleRef)
def LLVMDumpModule(M:LLVMModuleRef) -> None: ...
@dll.bind(LLVMBool, LLVMModuleRef, c.POINTER[ctypes.c_char], c.POINTER[c.POINTER[ctypes.c_char]])
def LLVMPrintModuleToFile(M:LLVMModuleRef, Filename:c.POINTER[ctypes.c_char], ErrorMessage:c.POINTER[c.POINTER[ctypes.c_char]]) -> LLVMBool: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMModuleRef)
def LLVMPrintModuleToString(M:LLVMModuleRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMModuleRef, c.POINTER[size_t])
def LLVMGetModuleInlineAsm(M:LLVMModuleRef, Len:c.POINTER[size_t]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(None, LLVMModuleRef, c.POINTER[ctypes.c_char], size_t)
def LLVMSetModuleInlineAsm2(M:LLVMModuleRef, Asm:c.POINTER[ctypes.c_char], Len:size_t) -> None: ...
@dll.bind(None, LLVMModuleRef, c.POINTER[ctypes.c_char], size_t)
def LLVMAppendModuleInlineAsm(M:LLVMModuleRef, Asm:c.POINTER[ctypes.c_char], Len:size_t) -> None: ...
@dll.bind(LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char], size_t, c.POINTER[ctypes.c_char], size_t, LLVMBool, LLVMBool, ctypes.c_uint32, LLVMBool)
def LLVMGetInlineAsm(Ty:LLVMTypeRef, AsmString:c.POINTER[ctypes.c_char], AsmStringSize:size_t, Constraints:c.POINTER[ctypes.c_char], ConstraintsSize:size_t, HasSideEffects:LLVMBool, IsAlignStack:LLVMBool, Dialect:ctypes.c_uint32, CanThrow:LLVMBool) -> LLVMValueRef: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMValueRef, c.POINTER[size_t])
def LLVMGetInlineAsmAsmString(InlineAsmVal:LLVMValueRef, Len:c.POINTER[size_t]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMValueRef, c.POINTER[size_t])
def LLVMGetInlineAsmConstraintString(InlineAsmVal:LLVMValueRef, Len:c.POINTER[size_t]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetInlineAsmDialect(InlineAsmVal:LLVMValueRef) -> ctypes.c_uint32: ...
@dll.bind(LLVMTypeRef, LLVMValueRef)
def LLVMGetInlineAsmFunctionType(InlineAsmVal:LLVMValueRef) -> LLVMTypeRef: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMGetInlineAsmHasSideEffects(InlineAsmVal:LLVMValueRef) -> LLVMBool: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMGetInlineAsmNeedsAlignedStack(InlineAsmVal:LLVMValueRef) -> LLVMBool: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMGetInlineAsmCanUnwind(InlineAsmVal:LLVMValueRef) -> LLVMBool: ...
@dll.bind(LLVMContextRef, LLVMModuleRef)
def LLVMGetModuleContext(M:LLVMModuleRef) -> LLVMContextRef: ...
@dll.bind(LLVMTypeRef, LLVMModuleRef, c.POINTER[ctypes.c_char])
def LLVMGetTypeByName(M:LLVMModuleRef, Name:c.POINTER[ctypes.c_char]) -> LLVMTypeRef: ...
class struct_LLVMOpaqueNamedMDNode(c.Struct): pass
LLVMNamedMDNodeRef: TypeAlias = c.POINTER[struct_LLVMOpaqueNamedMDNode]
@dll.bind(LLVMNamedMDNodeRef, LLVMModuleRef)
def LLVMGetFirstNamedMetadata(M:LLVMModuleRef) -> LLVMNamedMDNodeRef: ...
@dll.bind(LLVMNamedMDNodeRef, LLVMModuleRef)
def LLVMGetLastNamedMetadata(M:LLVMModuleRef) -> LLVMNamedMDNodeRef: ...
@dll.bind(LLVMNamedMDNodeRef, LLVMNamedMDNodeRef)
def LLVMGetNextNamedMetadata(NamedMDNode:LLVMNamedMDNodeRef) -> LLVMNamedMDNodeRef: ...
@dll.bind(LLVMNamedMDNodeRef, LLVMNamedMDNodeRef)
def LLVMGetPreviousNamedMetadata(NamedMDNode:LLVMNamedMDNodeRef) -> LLVMNamedMDNodeRef: ...
@dll.bind(LLVMNamedMDNodeRef, LLVMModuleRef, c.POINTER[ctypes.c_char], size_t)
def LLVMGetNamedMetadata(M:LLVMModuleRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t) -> LLVMNamedMDNodeRef: ...
@dll.bind(LLVMNamedMDNodeRef, LLVMModuleRef, c.POINTER[ctypes.c_char], size_t)
def LLVMGetOrInsertNamedMetadata(M:LLVMModuleRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t) -> LLVMNamedMDNodeRef: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMNamedMDNodeRef, c.POINTER[size_t])
def LLVMGetNamedMetadataName(NamedMD:LLVMNamedMDNodeRef, NameLen:c.POINTER[size_t]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(ctypes.c_uint32, LLVMModuleRef, c.POINTER[ctypes.c_char])
def LLVMGetNamedMetadataNumOperands(M:LLVMModuleRef, Name:c.POINTER[ctypes.c_char]) -> int: ...
@dll.bind(None, LLVMModuleRef, c.POINTER[ctypes.c_char], c.POINTER[LLVMValueRef])
def LLVMGetNamedMetadataOperands(M:LLVMModuleRef, Name:c.POINTER[ctypes.c_char], Dest:c.POINTER[LLVMValueRef]) -> None: ...
@dll.bind(None, LLVMModuleRef, c.POINTER[ctypes.c_char], LLVMValueRef)
def LLVMAddNamedMetadataOperand(M:LLVMModuleRef, Name:c.POINTER[ctypes.c_char], Val:LLVMValueRef) -> None: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMValueRef, c.POINTER[ctypes.c_uint32])
def LLVMGetDebugLocDirectory(Val:LLVMValueRef, Length:c.POINTER[ctypes.c_uint32]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMValueRef, c.POINTER[ctypes.c_uint32])
def LLVMGetDebugLocFilename(Val:LLVMValueRef, Length:c.POINTER[ctypes.c_uint32]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetDebugLocLine(Val:LLVMValueRef) -> int: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetDebugLocColumn(Val:LLVMValueRef) -> int: ...
@dll.bind(LLVMValueRef, LLVMModuleRef, c.POINTER[ctypes.c_char], LLVMTypeRef)
def LLVMAddFunction(M:LLVMModuleRef, Name:c.POINTER[ctypes.c_char], FunctionTy:LLVMTypeRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMModuleRef, c.POINTER[ctypes.c_char])
def LLVMGetNamedFunction(M:LLVMModuleRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMModuleRef, c.POINTER[ctypes.c_char], size_t)
def LLVMGetNamedFunctionWithLength(M:LLVMModuleRef, Name:c.POINTER[ctypes.c_char], Length:size_t) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMModuleRef)
def LLVMGetFirstFunction(M:LLVMModuleRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMModuleRef)
def LLVMGetLastFunction(M:LLVMModuleRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetNextFunction(Fn:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetPreviousFunction(Fn:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(None, LLVMModuleRef, c.POINTER[ctypes.c_char])
def LLVMSetModuleInlineAsm(M:LLVMModuleRef, Asm:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMTypeRef)
def LLVMGetTypeKind(Ty:LLVMTypeRef) -> ctypes.c_uint32: ...
@dll.bind(LLVMBool, LLVMTypeRef)
def LLVMTypeIsSized(Ty:LLVMTypeRef) -> LLVMBool: ...
@dll.bind(LLVMContextRef, LLVMTypeRef)
def LLVMGetTypeContext(Ty:LLVMTypeRef) -> LLVMContextRef: ...
@dll.bind(None, LLVMTypeRef)
def LLVMDumpType(Val:LLVMTypeRef) -> None: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMTypeRef)
def LLVMPrintTypeToString(Val:LLVMTypeRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(LLVMTypeRef, LLVMContextRef)
def LLVMInt1TypeInContext(C:LLVMContextRef) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMContextRef)
def LLVMInt8TypeInContext(C:LLVMContextRef) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMContextRef)
def LLVMInt16TypeInContext(C:LLVMContextRef) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMContextRef)
def LLVMInt32TypeInContext(C:LLVMContextRef) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMContextRef)
def LLVMInt64TypeInContext(C:LLVMContextRef) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMContextRef)
def LLVMInt128TypeInContext(C:LLVMContextRef) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMContextRef, ctypes.c_uint32)
def LLVMIntTypeInContext(C:LLVMContextRef, NumBits:int) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef)
def LLVMInt1Type() -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef)
def LLVMInt8Type() -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef)
def LLVMInt16Type() -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef)
def LLVMInt32Type() -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef)
def LLVMInt64Type() -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef)
def LLVMInt128Type() -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, ctypes.c_uint32)
def LLVMIntType(NumBits:int) -> LLVMTypeRef: ...
@dll.bind(ctypes.c_uint32, LLVMTypeRef)
def LLVMGetIntTypeWidth(IntegerTy:LLVMTypeRef) -> int: ...
@dll.bind(LLVMTypeRef, LLVMContextRef)
def LLVMHalfTypeInContext(C:LLVMContextRef) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMContextRef)
def LLVMBFloatTypeInContext(C:LLVMContextRef) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMContextRef)
def LLVMFloatTypeInContext(C:LLVMContextRef) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMContextRef)
def LLVMDoubleTypeInContext(C:LLVMContextRef) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMContextRef)
def LLVMX86FP80TypeInContext(C:LLVMContextRef) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMContextRef)
def LLVMFP128TypeInContext(C:LLVMContextRef) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMContextRef)
def LLVMPPCFP128TypeInContext(C:LLVMContextRef) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef)
def LLVMHalfType() -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef)
def LLVMBFloatType() -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef)
def LLVMFloatType() -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef)
def LLVMDoubleType() -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef)
def LLVMX86FP80Type() -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef)
def LLVMFP128Type() -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef)
def LLVMPPCFP128Type() -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMTypeRef, c.POINTER[LLVMTypeRef], ctypes.c_uint32, LLVMBool)
def LLVMFunctionType(ReturnType:LLVMTypeRef, ParamTypes:c.POINTER[LLVMTypeRef], ParamCount:int, IsVarArg:LLVMBool) -> LLVMTypeRef: ...
@dll.bind(LLVMBool, LLVMTypeRef)
def LLVMIsFunctionVarArg(FunctionTy:LLVMTypeRef) -> LLVMBool: ...
@dll.bind(LLVMTypeRef, LLVMTypeRef)
def LLVMGetReturnType(FunctionTy:LLVMTypeRef) -> LLVMTypeRef: ...
@dll.bind(ctypes.c_uint32, LLVMTypeRef)
def LLVMCountParamTypes(FunctionTy:LLVMTypeRef) -> int: ...
@dll.bind(None, LLVMTypeRef, c.POINTER[LLVMTypeRef])
def LLVMGetParamTypes(FunctionTy:LLVMTypeRef, Dest:c.POINTER[LLVMTypeRef]) -> None: ...
@dll.bind(LLVMTypeRef, LLVMContextRef, c.POINTER[LLVMTypeRef], ctypes.c_uint32, LLVMBool)
def LLVMStructTypeInContext(C:LLVMContextRef, ElementTypes:c.POINTER[LLVMTypeRef], ElementCount:int, Packed:LLVMBool) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, c.POINTER[LLVMTypeRef], ctypes.c_uint32, LLVMBool)
def LLVMStructType(ElementTypes:c.POINTER[LLVMTypeRef], ElementCount:int, Packed:LLVMBool) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMContextRef, c.POINTER[ctypes.c_char])
def LLVMStructCreateNamed(C:LLVMContextRef, Name:c.POINTER[ctypes.c_char]) -> LLVMTypeRef: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMTypeRef)
def LLVMGetStructName(Ty:LLVMTypeRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(None, LLVMTypeRef, c.POINTER[LLVMTypeRef], ctypes.c_uint32, LLVMBool)
def LLVMStructSetBody(StructTy:LLVMTypeRef, ElementTypes:c.POINTER[LLVMTypeRef], ElementCount:int, Packed:LLVMBool) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMTypeRef)
def LLVMCountStructElementTypes(StructTy:LLVMTypeRef) -> int: ...
@dll.bind(None, LLVMTypeRef, c.POINTER[LLVMTypeRef])
def LLVMGetStructElementTypes(StructTy:LLVMTypeRef, Dest:c.POINTER[LLVMTypeRef]) -> None: ...
@dll.bind(LLVMTypeRef, LLVMTypeRef, ctypes.c_uint32)
def LLVMStructGetTypeAtIndex(StructTy:LLVMTypeRef, i:int) -> LLVMTypeRef: ...
@dll.bind(LLVMBool, LLVMTypeRef)
def LLVMIsPackedStruct(StructTy:LLVMTypeRef) -> LLVMBool: ...
@dll.bind(LLVMBool, LLVMTypeRef)
def LLVMIsOpaqueStruct(StructTy:LLVMTypeRef) -> LLVMBool: ...
@dll.bind(LLVMBool, LLVMTypeRef)
def LLVMIsLiteralStruct(StructTy:LLVMTypeRef) -> LLVMBool: ...
@dll.bind(LLVMTypeRef, LLVMTypeRef)
def LLVMGetElementType(Ty:LLVMTypeRef) -> LLVMTypeRef: ...
@dll.bind(None, LLVMTypeRef, c.POINTER[LLVMTypeRef])
def LLVMGetSubtypes(Tp:LLVMTypeRef, Arr:c.POINTER[LLVMTypeRef]) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMTypeRef)
def LLVMGetNumContainedTypes(Tp:LLVMTypeRef) -> int: ...
@dll.bind(LLVMTypeRef, LLVMTypeRef, ctypes.c_uint32)
def LLVMArrayType(ElementType:LLVMTypeRef, ElementCount:int) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMTypeRef, uint64_t)
def LLVMArrayType2(ElementType:LLVMTypeRef, ElementCount:uint64_t) -> LLVMTypeRef: ...
@dll.bind(ctypes.c_uint32, LLVMTypeRef)
def LLVMGetArrayLength(ArrayTy:LLVMTypeRef) -> int: ...
@dll.bind(uint64_t, LLVMTypeRef)
def LLVMGetArrayLength2(ArrayTy:LLVMTypeRef) -> uint64_t: ...
@dll.bind(LLVMTypeRef, LLVMTypeRef, ctypes.c_uint32)
def LLVMPointerType(ElementType:LLVMTypeRef, AddressSpace:int) -> LLVMTypeRef: ...
@dll.bind(LLVMBool, LLVMTypeRef)
def LLVMPointerTypeIsOpaque(Ty:LLVMTypeRef) -> LLVMBool: ...
@dll.bind(LLVMTypeRef, LLVMContextRef, ctypes.c_uint32)
def LLVMPointerTypeInContext(C:LLVMContextRef, AddressSpace:int) -> LLVMTypeRef: ...
@dll.bind(ctypes.c_uint32, LLVMTypeRef)
def LLVMGetPointerAddressSpace(PointerTy:LLVMTypeRef) -> int: ...
@dll.bind(LLVMTypeRef, LLVMTypeRef, ctypes.c_uint32)
def LLVMVectorType(ElementType:LLVMTypeRef, ElementCount:int) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMTypeRef, ctypes.c_uint32)
def LLVMScalableVectorType(ElementType:LLVMTypeRef, ElementCount:int) -> LLVMTypeRef: ...
@dll.bind(ctypes.c_uint32, LLVMTypeRef)
def LLVMGetVectorSize(VectorTy:LLVMTypeRef) -> int: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetConstantPtrAuthPointer(PtrAuth:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetConstantPtrAuthKey(PtrAuth:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetConstantPtrAuthDiscriminator(PtrAuth:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetConstantPtrAuthAddrDiscriminator(PtrAuth:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMTypeRef, LLVMContextRef)
def LLVMVoidTypeInContext(C:LLVMContextRef) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMContextRef)
def LLVMLabelTypeInContext(C:LLVMContextRef) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMContextRef)
def LLVMX86AMXTypeInContext(C:LLVMContextRef) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMContextRef)
def LLVMTokenTypeInContext(C:LLVMContextRef) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMContextRef)
def LLVMMetadataTypeInContext(C:LLVMContextRef) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef)
def LLVMVoidType() -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef)
def LLVMLabelType() -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef)
def LLVMX86AMXType() -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMContextRef, c.POINTER[ctypes.c_char], c.POINTER[LLVMTypeRef], ctypes.c_uint32, c.POINTER[ctypes.c_uint32], ctypes.c_uint32)
def LLVMTargetExtTypeInContext(C:LLVMContextRef, Name:c.POINTER[ctypes.c_char], TypeParams:c.POINTER[LLVMTypeRef], TypeParamCount:int, IntParams:c.POINTER[ctypes.c_uint32], IntParamCount:int) -> LLVMTypeRef: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMTypeRef)
def LLVMGetTargetExtTypeName(TargetExtTy:LLVMTypeRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(ctypes.c_uint32, LLVMTypeRef)
def LLVMGetTargetExtTypeNumTypeParams(TargetExtTy:LLVMTypeRef) -> int: ...
@dll.bind(LLVMTypeRef, LLVMTypeRef, ctypes.c_uint32)
def LLVMGetTargetExtTypeTypeParam(TargetExtTy:LLVMTypeRef, Idx:int) -> LLVMTypeRef: ...
@dll.bind(ctypes.c_uint32, LLVMTypeRef)
def LLVMGetTargetExtTypeNumIntParams(TargetExtTy:LLVMTypeRef) -> int: ...
@dll.bind(ctypes.c_uint32, LLVMTypeRef, ctypes.c_uint32)
def LLVMGetTargetExtTypeIntParam(TargetExtTy:LLVMTypeRef, Idx:int) -> int: ...
@dll.bind(LLVMTypeRef, LLVMValueRef)
def LLVMTypeOf(Val:LLVMValueRef) -> LLVMTypeRef: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetValueKind(Val:LLVMValueRef) -> ctypes.c_uint32: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMValueRef, c.POINTER[size_t])
def LLVMGetValueName2(Val:LLVMValueRef, Length:c.POINTER[size_t]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(None, LLVMValueRef, c.POINTER[ctypes.c_char], size_t)
def LLVMSetValueName2(Val:LLVMValueRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t) -> None: ...
@dll.bind(None, LLVMValueRef)
def LLVMDumpValue(Val:LLVMValueRef) -> None: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMValueRef)
def LLVMPrintValueToString(Val:LLVMValueRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(LLVMContextRef, LLVMValueRef)
def LLVMGetValueContext(Val:LLVMValueRef) -> LLVMContextRef: ...
class struct_LLVMOpaqueDbgRecord(c.Struct): pass
LLVMDbgRecordRef: TypeAlias = c.POINTER[struct_LLVMOpaqueDbgRecord]
@dll.bind(c.POINTER[ctypes.c_char], LLVMDbgRecordRef)
def LLVMPrintDbgRecordToString(Record:LLVMDbgRecordRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(None, LLVMValueRef, LLVMValueRef)
def LLVMReplaceAllUsesWith(OldVal:LLVMValueRef, NewVal:LLVMValueRef) -> None: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMIsConstant(Val:LLVMValueRef) -> LLVMBool: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMIsUndef(Val:LLVMValueRef) -> LLVMBool: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMIsPoison(Val:LLVMValueRef) -> LLVMBool: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAArgument(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsABasicBlock(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAInlineAsm(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAUser(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAConstant(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsABlockAddress(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAConstantAggregateZero(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAConstantArray(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAConstantDataSequential(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAConstantDataArray(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAConstantDataVector(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAConstantExpr(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAConstantFP(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAConstantInt(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAConstantPointerNull(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAConstantStruct(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAConstantTokenNone(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAConstantVector(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAConstantPtrAuth(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAGlobalValue(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAGlobalAlias(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAGlobalObject(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAFunction(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAGlobalVariable(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAGlobalIFunc(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAUndefValue(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAPoisonValue(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAInstruction(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAUnaryOperator(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsABinaryOperator(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsACallInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAIntrinsicInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsADbgInfoIntrinsic(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsADbgVariableIntrinsic(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsADbgDeclareInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsADbgLabelInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAMemIntrinsic(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAMemCpyInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAMemMoveInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAMemSetInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsACmpInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAFCmpInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAICmpInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAExtractElementInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAGetElementPtrInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAInsertElementInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAInsertValueInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsALandingPadInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAPHINode(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsASelectInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAShuffleVectorInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAStoreInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsABranchInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAIndirectBrInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAInvokeInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAReturnInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsASwitchInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAUnreachableInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAResumeInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsACleanupReturnInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsACatchReturnInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsACatchSwitchInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsACallBrInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAFuncletPadInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsACatchPadInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsACleanupPadInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAUnaryInstruction(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAAllocaInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsACastInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAAddrSpaceCastInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsABitCastInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAFPExtInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAFPToSIInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAFPToUIInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAFPTruncInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAIntToPtrInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAPtrToIntInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsASExtInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsASIToFPInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsATruncInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAUIToFPInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAZExtInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAExtractValueInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsALoadInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAVAArgInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAFreezeInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAAtomicCmpXchgInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAAtomicRMWInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAFenceInst(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAMDNode(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAValueAsMetadata(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsAMDString(Val:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMValueRef)
def LLVMGetValueName(Val:LLVMValueRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(None, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMSetValueName(Val:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> None: ...
class struct_LLVMOpaqueUse(c.Struct): pass
LLVMUseRef: TypeAlias = c.POINTER[struct_LLVMOpaqueUse]
@dll.bind(LLVMUseRef, LLVMValueRef)
def LLVMGetFirstUse(Val:LLVMValueRef) -> LLVMUseRef: ...
@dll.bind(LLVMUseRef, LLVMUseRef)
def LLVMGetNextUse(U:LLVMUseRef) -> LLVMUseRef: ...
@dll.bind(LLVMValueRef, LLVMUseRef)
def LLVMGetUser(U:LLVMUseRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMUseRef)
def LLVMGetUsedValue(U:LLVMUseRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, ctypes.c_uint32)
def LLVMGetOperand(Val:LLVMValueRef, Index:int) -> LLVMValueRef: ...
@dll.bind(LLVMUseRef, LLVMValueRef, ctypes.c_uint32)
def LLVMGetOperandUse(Val:LLVMValueRef, Index:int) -> LLVMUseRef: ...
@dll.bind(None, LLVMValueRef, ctypes.c_uint32, LLVMValueRef)
def LLVMSetOperand(User:LLVMValueRef, Index:int, Val:LLVMValueRef) -> None: ...
@dll.bind(ctypes.c_int32, LLVMValueRef)
def LLVMGetNumOperands(Val:LLVMValueRef) -> int: ...
@dll.bind(LLVMValueRef, LLVMTypeRef)
def LLVMConstNull(Ty:LLVMTypeRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMTypeRef)
def LLVMConstAllOnes(Ty:LLVMTypeRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMTypeRef)
def LLVMGetUndef(Ty:LLVMTypeRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMTypeRef)
def LLVMGetPoison(Ty:LLVMTypeRef) -> LLVMValueRef: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMIsNull(Val:LLVMValueRef) -> LLVMBool: ...
@dll.bind(LLVMValueRef, LLVMTypeRef)
def LLVMConstPointerNull(Ty:LLVMTypeRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMTypeRef, ctypes.c_uint64, LLVMBool)
def LLVMConstInt(IntTy:LLVMTypeRef, N:int, SignExtend:LLVMBool) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMTypeRef, ctypes.c_uint32, c.Array[uint64_t, Literal[0]])
def LLVMConstIntOfArbitraryPrecision(IntTy:LLVMTypeRef, NumWords:int, Words:c.Array[uint64_t, Literal[0]]) -> LLVMValueRef: ...
uint8_t: TypeAlias = ctypes.c_ubyte
@dll.bind(LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char], uint8_t)
def LLVMConstIntOfString(IntTy:LLVMTypeRef, Text:c.POINTER[ctypes.c_char], Radix:uint8_t) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char], ctypes.c_uint32, uint8_t)
def LLVMConstIntOfStringAndSize(IntTy:LLVMTypeRef, Text:c.POINTER[ctypes.c_char], SLen:int, Radix:uint8_t) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMTypeRef, ctypes.c_double)
def LLVMConstReal(RealTy:LLVMTypeRef, N:float) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMConstRealOfString(RealTy:LLVMTypeRef, Text:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char], ctypes.c_uint32)
def LLVMConstRealOfStringAndSize(RealTy:LLVMTypeRef, Text:c.POINTER[ctypes.c_char], SLen:int) -> LLVMValueRef: ...
@dll.bind(ctypes.c_uint64, LLVMValueRef)
def LLVMConstIntGetZExtValue(ConstantVal:LLVMValueRef) -> int: ...
@dll.bind(ctypes.c_int64, LLVMValueRef)
def LLVMConstIntGetSExtValue(ConstantVal:LLVMValueRef) -> int: ...
@dll.bind(ctypes.c_double, LLVMValueRef, c.POINTER[LLVMBool])
def LLVMConstRealGetDouble(ConstantVal:LLVMValueRef, losesInfo:c.POINTER[LLVMBool]) -> float: ...
@dll.bind(LLVMValueRef, LLVMContextRef, c.POINTER[ctypes.c_char], ctypes.c_uint32, LLVMBool)
def LLVMConstStringInContext(C:LLVMContextRef, Str:c.POINTER[ctypes.c_char], Length:int, DontNullTerminate:LLVMBool) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMContextRef, c.POINTER[ctypes.c_char], size_t, LLVMBool)
def LLVMConstStringInContext2(C:LLVMContextRef, Str:c.POINTER[ctypes.c_char], Length:size_t, DontNullTerminate:LLVMBool) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[ctypes.c_char], ctypes.c_uint32, LLVMBool)
def LLVMConstString(Str:c.POINTER[ctypes.c_char], Length:int, DontNullTerminate:LLVMBool) -> LLVMValueRef: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMIsConstantString(c:LLVMValueRef) -> LLVMBool: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMValueRef, c.POINTER[size_t])
def LLVMGetAsString(c:LLVMValueRef, Length:c.POINTER[size_t]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(LLVMValueRef, LLVMContextRef, c.POINTER[LLVMValueRef], ctypes.c_uint32, LLVMBool)
def LLVMConstStructInContext(C:LLVMContextRef, ConstantVals:c.POINTER[LLVMValueRef], Count:int, Packed:LLVMBool) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[LLVMValueRef], ctypes.c_uint32, LLVMBool)
def LLVMConstStruct(ConstantVals:c.POINTER[LLVMValueRef], Count:int, Packed:LLVMBool) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMTypeRef, c.POINTER[LLVMValueRef], ctypes.c_uint32)
def LLVMConstArray(ElementTy:LLVMTypeRef, ConstantVals:c.POINTER[LLVMValueRef], Length:int) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMTypeRef, c.POINTER[LLVMValueRef], uint64_t)
def LLVMConstArray2(ElementTy:LLVMTypeRef, ConstantVals:c.POINTER[LLVMValueRef], Length:uint64_t) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMTypeRef, c.POINTER[LLVMValueRef], ctypes.c_uint32)
def LLVMConstNamedStruct(StructTy:LLVMTypeRef, ConstantVals:c.POINTER[LLVMValueRef], Count:int) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, ctypes.c_uint32)
def LLVMGetAggregateElement(C:LLVMValueRef, Idx:int) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, ctypes.c_uint32)
def LLVMGetElementAsConstant(C:LLVMValueRef, idx:int) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[LLVMValueRef], ctypes.c_uint32)
def LLVMConstVector(ScalarConstantVals:c.POINTER[LLVMValueRef], Size:int) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, LLVMValueRef, LLVMValueRef, LLVMValueRef)
def LLVMConstantPtrAuth(Ptr:LLVMValueRef, Key:LLVMValueRef, Disc:LLVMValueRef, AddrDisc:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetConstOpcode(ConstantVal:LLVMValueRef) -> ctypes.c_uint32: ...
@dll.bind(LLVMValueRef, LLVMTypeRef)
def LLVMAlignOf(Ty:LLVMTypeRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMTypeRef)
def LLVMSizeOf(Ty:LLVMTypeRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMConstNeg(ConstantVal:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMConstNSWNeg(ConstantVal:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMConstNUWNeg(ConstantVal:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMConstNot(ConstantVal:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, LLVMValueRef)
def LLVMConstAdd(LHSConstant:LLVMValueRef, RHSConstant:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, LLVMValueRef)
def LLVMConstNSWAdd(LHSConstant:LLVMValueRef, RHSConstant:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, LLVMValueRef)
def LLVMConstNUWAdd(LHSConstant:LLVMValueRef, RHSConstant:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, LLVMValueRef)
def LLVMConstSub(LHSConstant:LLVMValueRef, RHSConstant:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, LLVMValueRef)
def LLVMConstNSWSub(LHSConstant:LLVMValueRef, RHSConstant:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, LLVMValueRef)
def LLVMConstNUWSub(LHSConstant:LLVMValueRef, RHSConstant:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, LLVMValueRef)
def LLVMConstMul(LHSConstant:LLVMValueRef, RHSConstant:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, LLVMValueRef)
def LLVMConstNSWMul(LHSConstant:LLVMValueRef, RHSConstant:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, LLVMValueRef)
def LLVMConstNUWMul(LHSConstant:LLVMValueRef, RHSConstant:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, LLVMValueRef)
def LLVMConstXor(LHSConstant:LLVMValueRef, RHSConstant:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMTypeRef, LLVMValueRef, c.POINTER[LLVMValueRef], ctypes.c_uint32)
def LLVMConstGEP2(Ty:LLVMTypeRef, ConstantVal:LLVMValueRef, ConstantIndices:c.POINTER[LLVMValueRef], NumIndices:int) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMTypeRef, LLVMValueRef, c.POINTER[LLVMValueRef], ctypes.c_uint32)
def LLVMConstInBoundsGEP2(Ty:LLVMTypeRef, ConstantVal:LLVMValueRef, ConstantIndices:c.POINTER[LLVMValueRef], NumIndices:int) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMTypeRef, LLVMValueRef, c.POINTER[LLVMValueRef], ctypes.c_uint32, LLVMGEPNoWrapFlags)
def LLVMConstGEPWithNoWrapFlags(Ty:LLVMTypeRef, ConstantVal:LLVMValueRef, ConstantIndices:c.POINTER[LLVMValueRef], NumIndices:int, NoWrapFlags:LLVMGEPNoWrapFlags) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, LLVMTypeRef)
def LLVMConstTrunc(ConstantVal:LLVMValueRef, ToType:LLVMTypeRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, LLVMTypeRef)
def LLVMConstPtrToInt(ConstantVal:LLVMValueRef, ToType:LLVMTypeRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, LLVMTypeRef)
def LLVMConstIntToPtr(ConstantVal:LLVMValueRef, ToType:LLVMTypeRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, LLVMTypeRef)
def LLVMConstBitCast(ConstantVal:LLVMValueRef, ToType:LLVMTypeRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, LLVMTypeRef)
def LLVMConstAddrSpaceCast(ConstantVal:LLVMValueRef, ToType:LLVMTypeRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, LLVMTypeRef)
def LLVMConstTruncOrBitCast(ConstantVal:LLVMValueRef, ToType:LLVMTypeRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, LLVMTypeRef)
def LLVMConstPointerCast(ConstantVal:LLVMValueRef, ToType:LLVMTypeRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, LLVMValueRef)
def LLVMConstExtractElement(VectorConstant:LLVMValueRef, IndexConstant:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, LLVMValueRef, LLVMValueRef)
def LLVMConstInsertElement(VectorConstant:LLVMValueRef, ElementValueConstant:LLVMValueRef, IndexConstant:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef, LLVMValueRef, LLVMValueRef)
def LLVMConstShuffleVector(VectorAConstant:LLVMValueRef, VectorBConstant:LLVMValueRef, MaskConstant:LLVMValueRef) -> LLVMValueRef: ...
class struct_LLVMOpaqueBasicBlock(c.Struct): pass
LLVMBasicBlockRef: TypeAlias = c.POINTER[struct_LLVMOpaqueBasicBlock]
@dll.bind(LLVMValueRef, LLVMValueRef, LLVMBasicBlockRef)
def LLVMBlockAddress(F:LLVMValueRef, BB:LLVMBasicBlockRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetBlockAddressFunction(BlockAddr:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMBasicBlockRef, LLVMValueRef)
def LLVMGetBlockAddressBasicBlock(BlockAddr:LLVMValueRef) -> LLVMBasicBlockRef: ...
@dll.bind(LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char], c.POINTER[ctypes.c_char], LLVMBool, LLVMBool)
def LLVMConstInlineAsm(Ty:LLVMTypeRef, AsmString:c.POINTER[ctypes.c_char], Constraints:c.POINTER[ctypes.c_char], HasSideEffects:LLVMBool, IsAlignStack:LLVMBool) -> LLVMValueRef: ...
@dll.bind(LLVMModuleRef, LLVMValueRef)
def LLVMGetGlobalParent(Global:LLVMValueRef) -> LLVMModuleRef: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMIsDeclaration(Global:LLVMValueRef) -> LLVMBool: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetLinkage(Global:LLVMValueRef) -> ctypes.c_uint32: ...
@dll.bind(None, LLVMValueRef, ctypes.c_uint32)
def LLVMSetLinkage(Global:LLVMValueRef, Linkage:ctypes.c_uint32) -> None: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMValueRef)
def LLVMGetSection(Global:LLVMValueRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(None, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMSetSection(Global:LLVMValueRef, Section:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetVisibility(Global:LLVMValueRef) -> ctypes.c_uint32: ...
@dll.bind(None, LLVMValueRef, ctypes.c_uint32)
def LLVMSetVisibility(Global:LLVMValueRef, Viz:ctypes.c_uint32) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetDLLStorageClass(Global:LLVMValueRef) -> ctypes.c_uint32: ...
@dll.bind(None, LLVMValueRef, ctypes.c_uint32)
def LLVMSetDLLStorageClass(Global:LLVMValueRef, Class:ctypes.c_uint32) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetUnnamedAddress(Global:LLVMValueRef) -> ctypes.c_uint32: ...
@dll.bind(None, LLVMValueRef, ctypes.c_uint32)
def LLVMSetUnnamedAddress(Global:LLVMValueRef, UnnamedAddr:ctypes.c_uint32) -> None: ...
@dll.bind(LLVMTypeRef, LLVMValueRef)
def LLVMGlobalGetValueType(Global:LLVMValueRef) -> LLVMTypeRef: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMHasUnnamedAddr(Global:LLVMValueRef) -> LLVMBool: ...
@dll.bind(None, LLVMValueRef, LLVMBool)
def LLVMSetUnnamedAddr(Global:LLVMValueRef, HasUnnamedAddr:LLVMBool) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetAlignment(V:LLVMValueRef) -> int: ...
@dll.bind(None, LLVMValueRef, ctypes.c_uint32)
def LLVMSetAlignment(V:LLVMValueRef, Bytes:int) -> None: ...
@dll.bind(None, LLVMValueRef, ctypes.c_uint32, LLVMMetadataRef)
def LLVMGlobalSetMetadata(Global:LLVMValueRef, Kind:int, MD:LLVMMetadataRef) -> None: ...
@dll.bind(None, LLVMValueRef, ctypes.c_uint32)
def LLVMGlobalEraseMetadata(Global:LLVMValueRef, Kind:int) -> None: ...
@dll.bind(None, LLVMValueRef)
def LLVMGlobalClearMetadata(Global:LLVMValueRef) -> None: ...
class struct_LLVMOpaqueValueMetadataEntry(c.Struct): pass
LLVMValueMetadataEntry: TypeAlias = struct_LLVMOpaqueValueMetadataEntry
@dll.bind(c.POINTER[LLVMValueMetadataEntry], LLVMValueRef, c.POINTER[size_t])
def LLVMGlobalCopyAllMetadata(Value:LLVMValueRef, NumEntries:c.POINTER[size_t]) -> c.POINTER[LLVMValueMetadataEntry]: ...
@dll.bind(None, c.POINTER[LLVMValueMetadataEntry])
def LLVMDisposeValueMetadataEntries(Entries:c.POINTER[LLVMValueMetadataEntry]) -> None: ...
@dll.bind(ctypes.c_uint32, c.POINTER[LLVMValueMetadataEntry], ctypes.c_uint32)
def LLVMValueMetadataEntriesGetKind(Entries:c.POINTER[LLVMValueMetadataEntry], Index:int) -> int: ...
@dll.bind(LLVMMetadataRef, c.POINTER[LLVMValueMetadataEntry], ctypes.c_uint32)
def LLVMValueMetadataEntriesGetMetadata(Entries:c.POINTER[LLVMValueMetadataEntry], Index:int) -> LLVMMetadataRef: ...
@dll.bind(LLVMValueRef, LLVMModuleRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMAddGlobal(M:LLVMModuleRef, Ty:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMModuleRef, LLVMTypeRef, c.POINTER[ctypes.c_char], ctypes.c_uint32)
def LLVMAddGlobalInAddressSpace(M:LLVMModuleRef, Ty:LLVMTypeRef, Name:c.POINTER[ctypes.c_char], AddressSpace:int) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMModuleRef, c.POINTER[ctypes.c_char])
def LLVMGetNamedGlobal(M:LLVMModuleRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMModuleRef, c.POINTER[ctypes.c_char], size_t)
def LLVMGetNamedGlobalWithLength(M:LLVMModuleRef, Name:c.POINTER[ctypes.c_char], Length:size_t) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMModuleRef)
def LLVMGetFirstGlobal(M:LLVMModuleRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMModuleRef)
def LLVMGetLastGlobal(M:LLVMModuleRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetNextGlobal(GlobalVar:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetPreviousGlobal(GlobalVar:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(None, LLVMValueRef)
def LLVMDeleteGlobal(GlobalVar:LLVMValueRef) -> None: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetInitializer(GlobalVar:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(None, LLVMValueRef, LLVMValueRef)
def LLVMSetInitializer(GlobalVar:LLVMValueRef, ConstantVal:LLVMValueRef) -> None: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMIsThreadLocal(GlobalVar:LLVMValueRef) -> LLVMBool: ...
@dll.bind(None, LLVMValueRef, LLVMBool)
def LLVMSetThreadLocal(GlobalVar:LLVMValueRef, IsThreadLocal:LLVMBool) -> None: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMIsGlobalConstant(GlobalVar:LLVMValueRef) -> LLVMBool: ...
@dll.bind(None, LLVMValueRef, LLVMBool)
def LLVMSetGlobalConstant(GlobalVar:LLVMValueRef, IsConstant:LLVMBool) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetThreadLocalMode(GlobalVar:LLVMValueRef) -> ctypes.c_uint32: ...
@dll.bind(None, LLVMValueRef, ctypes.c_uint32)
def LLVMSetThreadLocalMode(GlobalVar:LLVMValueRef, Mode:ctypes.c_uint32) -> None: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMIsExternallyInitialized(GlobalVar:LLVMValueRef) -> LLVMBool: ...
@dll.bind(None, LLVMValueRef, LLVMBool)
def LLVMSetExternallyInitialized(GlobalVar:LLVMValueRef, IsExtInit:LLVMBool) -> None: ...
@dll.bind(LLVMValueRef, LLVMModuleRef, LLVMTypeRef, ctypes.c_uint32, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMAddAlias2(M:LLVMModuleRef, ValueTy:LLVMTypeRef, AddrSpace:int, Aliasee:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMModuleRef, c.POINTER[ctypes.c_char], size_t)
def LLVMGetNamedGlobalAlias(M:LLVMModuleRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMModuleRef)
def LLVMGetFirstGlobalAlias(M:LLVMModuleRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMModuleRef)
def LLVMGetLastGlobalAlias(M:LLVMModuleRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetNextGlobalAlias(GA:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetPreviousGlobalAlias(GA:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMAliasGetAliasee(Alias:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(None, LLVMValueRef, LLVMValueRef)
def LLVMAliasSetAliasee(Alias:LLVMValueRef, Aliasee:LLVMValueRef) -> None: ...
@dll.bind(None, LLVMValueRef)
def LLVMDeleteFunction(Fn:LLVMValueRef) -> None: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMHasPersonalityFn(Fn:LLVMValueRef) -> LLVMBool: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetPersonalityFn(Fn:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(None, LLVMValueRef, LLVMValueRef)
def LLVMSetPersonalityFn(Fn:LLVMValueRef, PersonalityFn:LLVMValueRef) -> None: ...
@dll.bind(ctypes.c_uint32, c.POINTER[ctypes.c_char], size_t)
def LLVMLookupIntrinsicID(Name:c.POINTER[ctypes.c_char], NameLen:size_t) -> int: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetIntrinsicID(Fn:LLVMValueRef) -> int: ...
@dll.bind(LLVMValueRef, LLVMModuleRef, ctypes.c_uint32, c.POINTER[LLVMTypeRef], size_t)
def LLVMGetIntrinsicDeclaration(Mod:LLVMModuleRef, ID:int, ParamTypes:c.POINTER[LLVMTypeRef], ParamCount:size_t) -> LLVMValueRef: ...
@dll.bind(LLVMTypeRef, LLVMContextRef, ctypes.c_uint32, c.POINTER[LLVMTypeRef], size_t)
def LLVMIntrinsicGetType(Ctx:LLVMContextRef, ID:int, ParamTypes:c.POINTER[LLVMTypeRef], ParamCount:size_t) -> LLVMTypeRef: ...
@dll.bind(c.POINTER[ctypes.c_char], ctypes.c_uint32, c.POINTER[size_t])
def LLVMIntrinsicGetName(ID:int, NameLength:c.POINTER[size_t]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[ctypes.c_char], ctypes.c_uint32, c.POINTER[LLVMTypeRef], size_t, c.POINTER[size_t])
def LLVMIntrinsicCopyOverloadedName(ID:int, ParamTypes:c.POINTER[LLVMTypeRef], ParamCount:size_t, NameLength:c.POINTER[size_t]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMModuleRef, ctypes.c_uint32, c.POINTER[LLVMTypeRef], size_t, c.POINTER[size_t])
def LLVMIntrinsicCopyOverloadedName2(Mod:LLVMModuleRef, ID:int, ParamTypes:c.POINTER[LLVMTypeRef], ParamCount:size_t, NameLength:c.POINTER[size_t]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(LLVMBool, ctypes.c_uint32)
def LLVMIntrinsicIsOverloaded(ID:int) -> LLVMBool: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetFunctionCallConv(Fn:LLVMValueRef) -> int: ...
@dll.bind(None, LLVMValueRef, ctypes.c_uint32)
def LLVMSetFunctionCallConv(Fn:LLVMValueRef, CC:int) -> None: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMValueRef)
def LLVMGetGC(Fn:LLVMValueRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(None, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMSetGC(Fn:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetPrefixData(Fn:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMHasPrefixData(Fn:LLVMValueRef) -> LLVMBool: ...
@dll.bind(None, LLVMValueRef, LLVMValueRef)
def LLVMSetPrefixData(Fn:LLVMValueRef, prefixData:LLVMValueRef) -> None: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetPrologueData(Fn:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMHasPrologueData(Fn:LLVMValueRef) -> LLVMBool: ...
@dll.bind(None, LLVMValueRef, LLVMValueRef)
def LLVMSetPrologueData(Fn:LLVMValueRef, prologueData:LLVMValueRef) -> None: ...
@dll.bind(None, LLVMValueRef, LLVMAttributeIndex, LLVMAttributeRef)
def LLVMAddAttributeAtIndex(F:LLVMValueRef, Idx:LLVMAttributeIndex, A:LLVMAttributeRef) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef, LLVMAttributeIndex)
def LLVMGetAttributeCountAtIndex(F:LLVMValueRef, Idx:LLVMAttributeIndex) -> int: ...
@dll.bind(None, LLVMValueRef, LLVMAttributeIndex, c.POINTER[LLVMAttributeRef])
def LLVMGetAttributesAtIndex(F:LLVMValueRef, Idx:LLVMAttributeIndex, Attrs:c.POINTER[LLVMAttributeRef]) -> None: ...
@dll.bind(LLVMAttributeRef, LLVMValueRef, LLVMAttributeIndex, ctypes.c_uint32)
def LLVMGetEnumAttributeAtIndex(F:LLVMValueRef, Idx:LLVMAttributeIndex, KindID:int) -> LLVMAttributeRef: ...
@dll.bind(LLVMAttributeRef, LLVMValueRef, LLVMAttributeIndex, c.POINTER[ctypes.c_char], ctypes.c_uint32)
def LLVMGetStringAttributeAtIndex(F:LLVMValueRef, Idx:LLVMAttributeIndex, K:c.POINTER[ctypes.c_char], KLen:int) -> LLVMAttributeRef: ...
@dll.bind(None, LLVMValueRef, LLVMAttributeIndex, ctypes.c_uint32)
def LLVMRemoveEnumAttributeAtIndex(F:LLVMValueRef, Idx:LLVMAttributeIndex, KindID:int) -> None: ...
@dll.bind(None, LLVMValueRef, LLVMAttributeIndex, c.POINTER[ctypes.c_char], ctypes.c_uint32)
def LLVMRemoveStringAttributeAtIndex(F:LLVMValueRef, Idx:LLVMAttributeIndex, K:c.POINTER[ctypes.c_char], KLen:int) -> None: ...
@dll.bind(None, LLVMValueRef, c.POINTER[ctypes.c_char], c.POINTER[ctypes.c_char])
def LLVMAddTargetDependentFunctionAttr(Fn:LLVMValueRef, A:c.POINTER[ctypes.c_char], V:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMCountParams(Fn:LLVMValueRef) -> int: ...
@dll.bind(None, LLVMValueRef, c.POINTER[LLVMValueRef])
def LLVMGetParams(Fn:LLVMValueRef, Params:c.POINTER[LLVMValueRef]) -> None: ...
@dll.bind(LLVMValueRef, LLVMValueRef, ctypes.c_uint32)
def LLVMGetParam(Fn:LLVMValueRef, Index:int) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetParamParent(Inst:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetFirstParam(Fn:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetLastParam(Fn:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetNextParam(Arg:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetPreviousParam(Arg:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(None, LLVMValueRef, ctypes.c_uint32)
def LLVMSetParamAlignment(Arg:LLVMValueRef, Align:int) -> None: ...
@dll.bind(LLVMValueRef, LLVMModuleRef, c.POINTER[ctypes.c_char], size_t, LLVMTypeRef, ctypes.c_uint32, LLVMValueRef)
def LLVMAddGlobalIFunc(M:LLVMModuleRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t, Ty:LLVMTypeRef, AddrSpace:int, Resolver:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMModuleRef, c.POINTER[ctypes.c_char], size_t)
def LLVMGetNamedGlobalIFunc(M:LLVMModuleRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMModuleRef)
def LLVMGetFirstGlobalIFunc(M:LLVMModuleRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMModuleRef)
def LLVMGetLastGlobalIFunc(M:LLVMModuleRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetNextGlobalIFunc(IFunc:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetPreviousGlobalIFunc(IFunc:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetGlobalIFuncResolver(IFunc:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(None, LLVMValueRef, LLVMValueRef)
def LLVMSetGlobalIFuncResolver(IFunc:LLVMValueRef, Resolver:LLVMValueRef) -> None: ...
@dll.bind(None, LLVMValueRef)
def LLVMEraseGlobalIFunc(IFunc:LLVMValueRef) -> None: ...
@dll.bind(None, LLVMValueRef)
def LLVMRemoveGlobalIFunc(IFunc:LLVMValueRef) -> None: ...
@dll.bind(LLVMMetadataRef, LLVMContextRef, c.POINTER[ctypes.c_char], size_t)
def LLVMMDStringInContext2(C:LLVMContextRef, Str:c.POINTER[ctypes.c_char], SLen:size_t) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMContextRef, c.POINTER[LLVMMetadataRef], size_t)
def LLVMMDNodeInContext2(C:LLVMContextRef, MDs:c.POINTER[LLVMMetadataRef], Count:size_t) -> LLVMMetadataRef: ...
@dll.bind(LLVMValueRef, LLVMContextRef, LLVMMetadataRef)
def LLVMMetadataAsValue(C:LLVMContextRef, MD:LLVMMetadataRef) -> LLVMValueRef: ...
@dll.bind(LLVMMetadataRef, LLVMValueRef)
def LLVMValueAsMetadata(Val:LLVMValueRef) -> LLVMMetadataRef: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMValueRef, c.POINTER[ctypes.c_uint32])
def LLVMGetMDString(V:LLVMValueRef, Length:c.POINTER[ctypes.c_uint32]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetMDNodeNumOperands(V:LLVMValueRef) -> int: ...
@dll.bind(None, LLVMValueRef, c.POINTER[LLVMValueRef])
def LLVMGetMDNodeOperands(V:LLVMValueRef, Dest:c.POINTER[LLVMValueRef]) -> None: ...
@dll.bind(None, LLVMValueRef, ctypes.c_uint32, LLVMMetadataRef)
def LLVMReplaceMDNodeOperandWith(V:LLVMValueRef, Index:int, Replacement:LLVMMetadataRef) -> None: ...
@dll.bind(LLVMValueRef, LLVMContextRef, c.POINTER[ctypes.c_char], ctypes.c_uint32)
def LLVMMDStringInContext(C:LLVMContextRef, Str:c.POINTER[ctypes.c_char], SLen:int) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[ctypes.c_char], ctypes.c_uint32)
def LLVMMDString(Str:c.POINTER[ctypes.c_char], SLen:int) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMContextRef, c.POINTER[LLVMValueRef], ctypes.c_uint32)
def LLVMMDNodeInContext(C:LLVMContextRef, Vals:c.POINTER[LLVMValueRef], Count:int) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[LLVMValueRef], ctypes.c_uint32)
def LLVMMDNode(Vals:c.POINTER[LLVMValueRef], Count:int) -> LLVMValueRef: ...
class struct_LLVMOpaqueOperandBundle(c.Struct): pass
LLVMOperandBundleRef: TypeAlias = c.POINTER[struct_LLVMOpaqueOperandBundle]
@dll.bind(LLVMOperandBundleRef, c.POINTER[ctypes.c_char], size_t, c.POINTER[LLVMValueRef], ctypes.c_uint32)
def LLVMCreateOperandBundle(Tag:c.POINTER[ctypes.c_char], TagLen:size_t, Args:c.POINTER[LLVMValueRef], NumArgs:int) -> LLVMOperandBundleRef: ...
@dll.bind(None, LLVMOperandBundleRef)
def LLVMDisposeOperandBundle(Bundle:LLVMOperandBundleRef) -> None: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMOperandBundleRef, c.POINTER[size_t])
def LLVMGetOperandBundleTag(Bundle:LLVMOperandBundleRef, Len:c.POINTER[size_t]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(ctypes.c_uint32, LLVMOperandBundleRef)
def LLVMGetNumOperandBundleArgs(Bundle:LLVMOperandBundleRef) -> int: ...
@dll.bind(LLVMValueRef, LLVMOperandBundleRef, ctypes.c_uint32)
def LLVMGetOperandBundleArgAtIndex(Bundle:LLVMOperandBundleRef, Index:int) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBasicBlockRef)
def LLVMBasicBlockAsValue(BB:LLVMBasicBlockRef) -> LLVMValueRef: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMValueIsBasicBlock(Val:LLVMValueRef) -> LLVMBool: ...
@dll.bind(LLVMBasicBlockRef, LLVMValueRef)
def LLVMValueAsBasicBlock(Val:LLVMValueRef) -> LLVMBasicBlockRef: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMBasicBlockRef)
def LLVMGetBasicBlockName(BB:LLVMBasicBlockRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(LLVMValueRef, LLVMBasicBlockRef)
def LLVMGetBasicBlockParent(BB:LLVMBasicBlockRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBasicBlockRef)
def LLVMGetBasicBlockTerminator(BB:LLVMBasicBlockRef) -> LLVMValueRef: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMCountBasicBlocks(Fn:LLVMValueRef) -> int: ...
@dll.bind(None, LLVMValueRef, c.POINTER[LLVMBasicBlockRef])
def LLVMGetBasicBlocks(Fn:LLVMValueRef, BasicBlocks:c.POINTER[LLVMBasicBlockRef]) -> None: ...
@dll.bind(LLVMBasicBlockRef, LLVMValueRef)
def LLVMGetFirstBasicBlock(Fn:LLVMValueRef) -> LLVMBasicBlockRef: ...
@dll.bind(LLVMBasicBlockRef, LLVMValueRef)
def LLVMGetLastBasicBlock(Fn:LLVMValueRef) -> LLVMBasicBlockRef: ...
@dll.bind(LLVMBasicBlockRef, LLVMBasicBlockRef)
def LLVMGetNextBasicBlock(BB:LLVMBasicBlockRef) -> LLVMBasicBlockRef: ...
@dll.bind(LLVMBasicBlockRef, LLVMBasicBlockRef)
def LLVMGetPreviousBasicBlock(BB:LLVMBasicBlockRef) -> LLVMBasicBlockRef: ...
@dll.bind(LLVMBasicBlockRef, LLVMValueRef)
def LLVMGetEntryBasicBlock(Fn:LLVMValueRef) -> LLVMBasicBlockRef: ...
class struct_LLVMOpaqueBuilder(c.Struct): pass
LLVMBuilderRef: TypeAlias = c.POINTER[struct_LLVMOpaqueBuilder]
@dll.bind(None, LLVMBuilderRef, LLVMBasicBlockRef)
def LLVMInsertExistingBasicBlockAfterInsertBlock(Builder:LLVMBuilderRef, BB:LLVMBasicBlockRef) -> None: ...
@dll.bind(None, LLVMValueRef, LLVMBasicBlockRef)
def LLVMAppendExistingBasicBlock(Fn:LLVMValueRef, BB:LLVMBasicBlockRef) -> None: ...
@dll.bind(LLVMBasicBlockRef, LLVMContextRef, c.POINTER[ctypes.c_char])
def LLVMCreateBasicBlockInContext(C:LLVMContextRef, Name:c.POINTER[ctypes.c_char]) -> LLVMBasicBlockRef: ...
@dll.bind(LLVMBasicBlockRef, LLVMContextRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMAppendBasicBlockInContext(C:LLVMContextRef, Fn:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMBasicBlockRef: ...
@dll.bind(LLVMBasicBlockRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMAppendBasicBlock(Fn:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMBasicBlockRef: ...
@dll.bind(LLVMBasicBlockRef, LLVMContextRef, LLVMBasicBlockRef, c.POINTER[ctypes.c_char])
def LLVMInsertBasicBlockInContext(C:LLVMContextRef, BB:LLVMBasicBlockRef, Name:c.POINTER[ctypes.c_char]) -> LLVMBasicBlockRef: ...
@dll.bind(LLVMBasicBlockRef, LLVMBasicBlockRef, c.POINTER[ctypes.c_char])
def LLVMInsertBasicBlock(InsertBeforeBB:LLVMBasicBlockRef, Name:c.POINTER[ctypes.c_char]) -> LLVMBasicBlockRef: ...
@dll.bind(None, LLVMBasicBlockRef)
def LLVMDeleteBasicBlock(BB:LLVMBasicBlockRef) -> None: ...
@dll.bind(None, LLVMBasicBlockRef)
def LLVMRemoveBasicBlockFromParent(BB:LLVMBasicBlockRef) -> None: ...
@dll.bind(None, LLVMBasicBlockRef, LLVMBasicBlockRef)
def LLVMMoveBasicBlockBefore(BB:LLVMBasicBlockRef, MovePos:LLVMBasicBlockRef) -> None: ...
@dll.bind(None, LLVMBasicBlockRef, LLVMBasicBlockRef)
def LLVMMoveBasicBlockAfter(BB:LLVMBasicBlockRef, MovePos:LLVMBasicBlockRef) -> None: ...
@dll.bind(LLVMValueRef, LLVMBasicBlockRef)
def LLVMGetFirstInstruction(BB:LLVMBasicBlockRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBasicBlockRef)
def LLVMGetLastInstruction(BB:LLVMBasicBlockRef) -> LLVMValueRef: ...
@dll.bind(ctypes.c_int32, LLVMValueRef)
def LLVMHasMetadata(Val:LLVMValueRef) -> int: ...
@dll.bind(LLVMValueRef, LLVMValueRef, ctypes.c_uint32)
def LLVMGetMetadata(Val:LLVMValueRef, KindID:int) -> LLVMValueRef: ...
@dll.bind(None, LLVMValueRef, ctypes.c_uint32, LLVMValueRef)
def LLVMSetMetadata(Val:LLVMValueRef, KindID:int, Node:LLVMValueRef) -> None: ...
@dll.bind(c.POINTER[LLVMValueMetadataEntry], LLVMValueRef, c.POINTER[size_t])
def LLVMInstructionGetAllMetadataOtherThanDebugLoc(Instr:LLVMValueRef, NumEntries:c.POINTER[size_t]) -> c.POINTER[LLVMValueMetadataEntry]: ...
@dll.bind(LLVMBasicBlockRef, LLVMValueRef)
def LLVMGetInstructionParent(Inst:LLVMValueRef) -> LLVMBasicBlockRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetNextInstruction(Inst:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetPreviousInstruction(Inst:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(None, LLVMValueRef)
def LLVMInstructionRemoveFromParent(Inst:LLVMValueRef) -> None: ...
@dll.bind(None, LLVMValueRef)
def LLVMInstructionEraseFromParent(Inst:LLVMValueRef) -> None: ...
@dll.bind(None, LLVMValueRef)
def LLVMDeleteInstruction(Inst:LLVMValueRef) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetInstructionOpcode(Inst:LLVMValueRef) -> ctypes.c_uint32: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetICmpPredicate(Inst:LLVMValueRef) -> ctypes.c_uint32: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetFCmpPredicate(Inst:LLVMValueRef) -> ctypes.c_uint32: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMInstructionClone(Inst:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMIsATerminatorInst(Inst:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMDbgRecordRef, LLVMValueRef)
def LLVMGetFirstDbgRecord(Inst:LLVMValueRef) -> LLVMDbgRecordRef: ...
@dll.bind(LLVMDbgRecordRef, LLVMValueRef)
def LLVMGetLastDbgRecord(Inst:LLVMValueRef) -> LLVMDbgRecordRef: ...
@dll.bind(LLVMDbgRecordRef, LLVMDbgRecordRef)
def LLVMGetNextDbgRecord(DbgRecord:LLVMDbgRecordRef) -> LLVMDbgRecordRef: ...
@dll.bind(LLVMDbgRecordRef, LLVMDbgRecordRef)
def LLVMGetPreviousDbgRecord(DbgRecord:LLVMDbgRecordRef) -> LLVMDbgRecordRef: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetNumArgOperands(Instr:LLVMValueRef) -> int: ...
@dll.bind(None, LLVMValueRef, ctypes.c_uint32)
def LLVMSetInstructionCallConv(Instr:LLVMValueRef, CC:int) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetInstructionCallConv(Instr:LLVMValueRef) -> int: ...
@dll.bind(None, LLVMValueRef, LLVMAttributeIndex, ctypes.c_uint32)
def LLVMSetInstrParamAlignment(Instr:LLVMValueRef, Idx:LLVMAttributeIndex, Align:int) -> None: ...
@dll.bind(None, LLVMValueRef, LLVMAttributeIndex, LLVMAttributeRef)
def LLVMAddCallSiteAttribute(C:LLVMValueRef, Idx:LLVMAttributeIndex, A:LLVMAttributeRef) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef, LLVMAttributeIndex)
def LLVMGetCallSiteAttributeCount(C:LLVMValueRef, Idx:LLVMAttributeIndex) -> int: ...
@dll.bind(None, LLVMValueRef, LLVMAttributeIndex, c.POINTER[LLVMAttributeRef])
def LLVMGetCallSiteAttributes(C:LLVMValueRef, Idx:LLVMAttributeIndex, Attrs:c.POINTER[LLVMAttributeRef]) -> None: ...
@dll.bind(LLVMAttributeRef, LLVMValueRef, LLVMAttributeIndex, ctypes.c_uint32)
def LLVMGetCallSiteEnumAttribute(C:LLVMValueRef, Idx:LLVMAttributeIndex, KindID:int) -> LLVMAttributeRef: ...
@dll.bind(LLVMAttributeRef, LLVMValueRef, LLVMAttributeIndex, c.POINTER[ctypes.c_char], ctypes.c_uint32)
def LLVMGetCallSiteStringAttribute(C:LLVMValueRef, Idx:LLVMAttributeIndex, K:c.POINTER[ctypes.c_char], KLen:int) -> LLVMAttributeRef: ...
@dll.bind(None, LLVMValueRef, LLVMAttributeIndex, ctypes.c_uint32)
def LLVMRemoveCallSiteEnumAttribute(C:LLVMValueRef, Idx:LLVMAttributeIndex, KindID:int) -> None: ...
@dll.bind(None, LLVMValueRef, LLVMAttributeIndex, c.POINTER[ctypes.c_char], ctypes.c_uint32)
def LLVMRemoveCallSiteStringAttribute(C:LLVMValueRef, Idx:LLVMAttributeIndex, K:c.POINTER[ctypes.c_char], KLen:int) -> None: ...
@dll.bind(LLVMTypeRef, LLVMValueRef)
def LLVMGetCalledFunctionType(C:LLVMValueRef) -> LLVMTypeRef: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetCalledValue(Instr:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetNumOperandBundles(C:LLVMValueRef) -> int: ...
@dll.bind(LLVMOperandBundleRef, LLVMValueRef, ctypes.c_uint32)
def LLVMGetOperandBundleAtIndex(C:LLVMValueRef, Index:int) -> LLVMOperandBundleRef: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMIsTailCall(CallInst:LLVMValueRef) -> LLVMBool: ...
@dll.bind(None, LLVMValueRef, LLVMBool)
def LLVMSetTailCall(CallInst:LLVMValueRef, IsTailCall:LLVMBool) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetTailCallKind(CallInst:LLVMValueRef) -> ctypes.c_uint32: ...
@dll.bind(None, LLVMValueRef, ctypes.c_uint32)
def LLVMSetTailCallKind(CallInst:LLVMValueRef, kind:ctypes.c_uint32) -> None: ...
@dll.bind(LLVMBasicBlockRef, LLVMValueRef)
def LLVMGetNormalDest(InvokeInst:LLVMValueRef) -> LLVMBasicBlockRef: ...
@dll.bind(LLVMBasicBlockRef, LLVMValueRef)
def LLVMGetUnwindDest(InvokeInst:LLVMValueRef) -> LLVMBasicBlockRef: ...
@dll.bind(None, LLVMValueRef, LLVMBasicBlockRef)
def LLVMSetNormalDest(InvokeInst:LLVMValueRef, B:LLVMBasicBlockRef) -> None: ...
@dll.bind(None, LLVMValueRef, LLVMBasicBlockRef)
def LLVMSetUnwindDest(InvokeInst:LLVMValueRef, B:LLVMBasicBlockRef) -> None: ...
@dll.bind(LLVMBasicBlockRef, LLVMValueRef)
def LLVMGetCallBrDefaultDest(CallBr:LLVMValueRef) -> LLVMBasicBlockRef: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetCallBrNumIndirectDests(CallBr:LLVMValueRef) -> int: ...
@dll.bind(LLVMBasicBlockRef, LLVMValueRef, ctypes.c_uint32)
def LLVMGetCallBrIndirectDest(CallBr:LLVMValueRef, Idx:int) -> LLVMBasicBlockRef: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetNumSuccessors(Term:LLVMValueRef) -> int: ...
@dll.bind(LLVMBasicBlockRef, LLVMValueRef, ctypes.c_uint32)
def LLVMGetSuccessor(Term:LLVMValueRef, i:int) -> LLVMBasicBlockRef: ...
@dll.bind(None, LLVMValueRef, ctypes.c_uint32, LLVMBasicBlockRef)
def LLVMSetSuccessor(Term:LLVMValueRef, i:int, block:LLVMBasicBlockRef) -> None: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMIsConditional(Branch:LLVMValueRef) -> LLVMBool: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetCondition(Branch:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(None, LLVMValueRef, LLVMValueRef)
def LLVMSetCondition(Branch:LLVMValueRef, Cond:LLVMValueRef) -> None: ...
@dll.bind(LLVMBasicBlockRef, LLVMValueRef)
def LLVMGetSwitchDefaultDest(SwitchInstr:LLVMValueRef) -> LLVMBasicBlockRef: ...
@dll.bind(LLVMTypeRef, LLVMValueRef)
def LLVMGetAllocatedType(Alloca:LLVMValueRef) -> LLVMTypeRef: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMIsInBounds(GEP:LLVMValueRef) -> LLVMBool: ...
@dll.bind(None, LLVMValueRef, LLVMBool)
def LLVMSetIsInBounds(GEP:LLVMValueRef, InBounds:LLVMBool) -> None: ...
@dll.bind(LLVMTypeRef, LLVMValueRef)
def LLVMGetGEPSourceElementType(GEP:LLVMValueRef) -> LLVMTypeRef: ...
@dll.bind(LLVMGEPNoWrapFlags, LLVMValueRef)
def LLVMGEPGetNoWrapFlags(GEP:LLVMValueRef) -> LLVMGEPNoWrapFlags: ...
@dll.bind(None, LLVMValueRef, LLVMGEPNoWrapFlags)
def LLVMGEPSetNoWrapFlags(GEP:LLVMValueRef, NoWrapFlags:LLVMGEPNoWrapFlags) -> None: ...
@dll.bind(None, LLVMValueRef, c.POINTER[LLVMValueRef], c.POINTER[LLVMBasicBlockRef], ctypes.c_uint32)
def LLVMAddIncoming(PhiNode:LLVMValueRef, IncomingValues:c.POINTER[LLVMValueRef], IncomingBlocks:c.POINTER[LLVMBasicBlockRef], Count:int) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMCountIncoming(PhiNode:LLVMValueRef) -> int: ...
@dll.bind(LLVMValueRef, LLVMValueRef, ctypes.c_uint32)
def LLVMGetIncomingValue(PhiNode:LLVMValueRef, Index:int) -> LLVMValueRef: ...
@dll.bind(LLVMBasicBlockRef, LLVMValueRef, ctypes.c_uint32)
def LLVMGetIncomingBlock(PhiNode:LLVMValueRef, Index:int) -> LLVMBasicBlockRef: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetNumIndices(Inst:LLVMValueRef) -> int: ...
@dll.bind(c.POINTER[ctypes.c_uint32], LLVMValueRef)
def LLVMGetIndices(Inst:LLVMValueRef) -> c.POINTER[ctypes.c_uint32]: ...
@dll.bind(LLVMBuilderRef, LLVMContextRef)
def LLVMCreateBuilderInContext(C:LLVMContextRef) -> LLVMBuilderRef: ...
@dll.bind(LLVMBuilderRef)
def LLVMCreateBuilder() -> LLVMBuilderRef: ...
@dll.bind(None, LLVMBuilderRef, LLVMBasicBlockRef, LLVMValueRef)
def LLVMPositionBuilder(Builder:LLVMBuilderRef, Block:LLVMBasicBlockRef, Instr:LLVMValueRef) -> None: ...
@dll.bind(None, LLVMBuilderRef, LLVMBasicBlockRef, LLVMValueRef)
def LLVMPositionBuilderBeforeDbgRecords(Builder:LLVMBuilderRef, Block:LLVMBasicBlockRef, Inst:LLVMValueRef) -> None: ...
@dll.bind(None, LLVMBuilderRef, LLVMValueRef)
def LLVMPositionBuilderBefore(Builder:LLVMBuilderRef, Instr:LLVMValueRef) -> None: ...
@dll.bind(None, LLVMBuilderRef, LLVMValueRef)
def LLVMPositionBuilderBeforeInstrAndDbgRecords(Builder:LLVMBuilderRef, Instr:LLVMValueRef) -> None: ...
@dll.bind(None, LLVMBuilderRef, LLVMBasicBlockRef)
def LLVMPositionBuilderAtEnd(Builder:LLVMBuilderRef, Block:LLVMBasicBlockRef) -> None: ...
@dll.bind(LLVMBasicBlockRef, LLVMBuilderRef)
def LLVMGetInsertBlock(Builder:LLVMBuilderRef) -> LLVMBasicBlockRef: ...
@dll.bind(None, LLVMBuilderRef)
def LLVMClearInsertionPosition(Builder:LLVMBuilderRef) -> None: ...
@dll.bind(None, LLVMBuilderRef, LLVMValueRef)
def LLVMInsertIntoBuilder(Builder:LLVMBuilderRef, Instr:LLVMValueRef) -> None: ...
@dll.bind(None, LLVMBuilderRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMInsertIntoBuilderWithName(Builder:LLVMBuilderRef, Instr:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(None, LLVMBuilderRef)
def LLVMDisposeBuilder(Builder:LLVMBuilderRef) -> None: ...
@dll.bind(LLVMMetadataRef, LLVMBuilderRef)
def LLVMGetCurrentDebugLocation2(Builder:LLVMBuilderRef) -> LLVMMetadataRef: ...
@dll.bind(None, LLVMBuilderRef, LLVMMetadataRef)
def LLVMSetCurrentDebugLocation2(Builder:LLVMBuilderRef, Loc:LLVMMetadataRef) -> None: ...
@dll.bind(None, LLVMBuilderRef, LLVMValueRef)
def LLVMSetInstDebugLocation(Builder:LLVMBuilderRef, Inst:LLVMValueRef) -> None: ...
@dll.bind(None, LLVMBuilderRef, LLVMValueRef)
def LLVMAddMetadataToInst(Builder:LLVMBuilderRef, Inst:LLVMValueRef) -> None: ...
@dll.bind(LLVMMetadataRef, LLVMBuilderRef)
def LLVMBuilderGetDefaultFPMathTag(Builder:LLVMBuilderRef) -> LLVMMetadataRef: ...
@dll.bind(None, LLVMBuilderRef, LLVMMetadataRef)
def LLVMBuilderSetDefaultFPMathTag(Builder:LLVMBuilderRef, FPMathTag:LLVMMetadataRef) -> None: ...
@dll.bind(LLVMContextRef, LLVMBuilderRef)
def LLVMGetBuilderContext(Builder:LLVMBuilderRef) -> LLVMContextRef: ...
@dll.bind(None, LLVMBuilderRef, LLVMValueRef)
def LLVMSetCurrentDebugLocation(Builder:LLVMBuilderRef, L:LLVMValueRef) -> None: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef)
def LLVMGetCurrentDebugLocation(Builder:LLVMBuilderRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef)
def LLVMBuildRetVoid(_0:LLVMBuilderRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef)
def LLVMBuildRet(_0:LLVMBuilderRef, V:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, c.POINTER[LLVMValueRef], ctypes.c_uint32)
def LLVMBuildAggregateRet(_0:LLVMBuilderRef, RetVals:c.POINTER[LLVMValueRef], N:int) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMBasicBlockRef)
def LLVMBuildBr(_0:LLVMBuilderRef, Dest:LLVMBasicBlockRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMBasicBlockRef, LLVMBasicBlockRef)
def LLVMBuildCondBr(_0:LLVMBuilderRef, If:LLVMValueRef, Then:LLVMBasicBlockRef, Else:LLVMBasicBlockRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMBasicBlockRef, ctypes.c_uint32)
def LLVMBuildSwitch(_0:LLVMBuilderRef, V:LLVMValueRef, Else:LLVMBasicBlockRef, NumCases:int) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, ctypes.c_uint32)
def LLVMBuildIndirectBr(B:LLVMBuilderRef, Addr:LLVMValueRef, NumDests:int) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMTypeRef, LLVMValueRef, LLVMBasicBlockRef, c.POINTER[LLVMBasicBlockRef], ctypes.c_uint32, c.POINTER[LLVMValueRef], ctypes.c_uint32, c.POINTER[LLVMOperandBundleRef], ctypes.c_uint32, c.POINTER[ctypes.c_char])
def LLVMBuildCallBr(B:LLVMBuilderRef, Ty:LLVMTypeRef, Fn:LLVMValueRef, DefaultDest:LLVMBasicBlockRef, IndirectDests:c.POINTER[LLVMBasicBlockRef], NumIndirectDests:int, Args:c.POINTER[LLVMValueRef], NumArgs:int, Bundles:c.POINTER[LLVMOperandBundleRef], NumBundles:int, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMTypeRef, LLVMValueRef, c.POINTER[LLVMValueRef], ctypes.c_uint32, LLVMBasicBlockRef, LLVMBasicBlockRef, c.POINTER[ctypes.c_char])
def LLVMBuildInvoke2(_0:LLVMBuilderRef, Ty:LLVMTypeRef, Fn:LLVMValueRef, Args:c.POINTER[LLVMValueRef], NumArgs:int, Then:LLVMBasicBlockRef, Catch:LLVMBasicBlockRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMTypeRef, LLVMValueRef, c.POINTER[LLVMValueRef], ctypes.c_uint32, LLVMBasicBlockRef, LLVMBasicBlockRef, c.POINTER[LLVMOperandBundleRef], ctypes.c_uint32, c.POINTER[ctypes.c_char])
def LLVMBuildInvokeWithOperandBundles(_0:LLVMBuilderRef, Ty:LLVMTypeRef, Fn:LLVMValueRef, Args:c.POINTER[LLVMValueRef], NumArgs:int, Then:LLVMBasicBlockRef, Catch:LLVMBasicBlockRef, Bundles:c.POINTER[LLVMOperandBundleRef], NumBundles:int, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef)
def LLVMBuildUnreachable(_0:LLVMBuilderRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef)
def LLVMBuildResume(B:LLVMBuilderRef, Exn:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMTypeRef, LLVMValueRef, ctypes.c_uint32, c.POINTER[ctypes.c_char])
def LLVMBuildLandingPad(B:LLVMBuilderRef, Ty:LLVMTypeRef, PersFn:LLVMValueRef, NumClauses:int, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMBasicBlockRef)
def LLVMBuildCleanupRet(B:LLVMBuilderRef, CatchPad:LLVMValueRef, BB:LLVMBasicBlockRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMBasicBlockRef)
def LLVMBuildCatchRet(B:LLVMBuilderRef, CatchPad:LLVMValueRef, BB:LLVMBasicBlockRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, c.POINTER[LLVMValueRef], ctypes.c_uint32, c.POINTER[ctypes.c_char])
def LLVMBuildCatchPad(B:LLVMBuilderRef, ParentPad:LLVMValueRef, Args:c.POINTER[LLVMValueRef], NumArgs:int, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, c.POINTER[LLVMValueRef], ctypes.c_uint32, c.POINTER[ctypes.c_char])
def LLVMBuildCleanupPad(B:LLVMBuilderRef, ParentPad:LLVMValueRef, Args:c.POINTER[LLVMValueRef], NumArgs:int, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMBasicBlockRef, ctypes.c_uint32, c.POINTER[ctypes.c_char])
def LLVMBuildCatchSwitch(B:LLVMBuilderRef, ParentPad:LLVMValueRef, UnwindBB:LLVMBasicBlockRef, NumHandlers:int, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(None, LLVMValueRef, LLVMValueRef, LLVMBasicBlockRef)
def LLVMAddCase(Switch:LLVMValueRef, OnVal:LLVMValueRef, Dest:LLVMBasicBlockRef) -> None: ...
@dll.bind(None, LLVMValueRef, LLVMBasicBlockRef)
def LLVMAddDestination(IndirectBr:LLVMValueRef, Dest:LLVMBasicBlockRef) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetNumClauses(LandingPad:LLVMValueRef) -> int: ...
@dll.bind(LLVMValueRef, LLVMValueRef, ctypes.c_uint32)
def LLVMGetClause(LandingPad:LLVMValueRef, Idx:int) -> LLVMValueRef: ...
@dll.bind(None, LLVMValueRef, LLVMValueRef)
def LLVMAddClause(LandingPad:LLVMValueRef, ClauseVal:LLVMValueRef) -> None: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMIsCleanup(LandingPad:LLVMValueRef) -> LLVMBool: ...
@dll.bind(None, LLVMValueRef, LLVMBool)
def LLVMSetCleanup(LandingPad:LLVMValueRef, Val:LLVMBool) -> None: ...
@dll.bind(None, LLVMValueRef, LLVMBasicBlockRef)
def LLVMAddHandler(CatchSwitch:LLVMValueRef, Dest:LLVMBasicBlockRef) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetNumHandlers(CatchSwitch:LLVMValueRef) -> int: ...
@dll.bind(None, LLVMValueRef, c.POINTER[LLVMBasicBlockRef])
def LLVMGetHandlers(CatchSwitch:LLVMValueRef, Handlers:c.POINTER[LLVMBasicBlockRef]) -> None: ...
@dll.bind(LLVMValueRef, LLVMValueRef, ctypes.c_uint32)
def LLVMGetArgOperand(Funclet:LLVMValueRef, i:int) -> LLVMValueRef: ...
@dll.bind(None, LLVMValueRef, ctypes.c_uint32, LLVMValueRef)
def LLVMSetArgOperand(Funclet:LLVMValueRef, i:int, value:LLVMValueRef) -> None: ...
@dll.bind(LLVMValueRef, LLVMValueRef)
def LLVMGetParentCatchSwitch(CatchPad:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(None, LLVMValueRef, LLVMValueRef)
def LLVMSetParentCatchSwitch(CatchPad:LLVMValueRef, CatchSwitch:LLVMValueRef) -> None: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildAdd(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildNSWAdd(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildNUWAdd(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildFAdd(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildSub(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildNSWSub(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildNUWSub(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildFSub(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildMul(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildNSWMul(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildNUWMul(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildFMul(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildUDiv(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildExactUDiv(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildSDiv(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildExactSDiv(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildFDiv(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildURem(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildSRem(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildFRem(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildShl(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildLShr(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildAShr(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildAnd(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildOr(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildXor(_0:LLVMBuilderRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, ctypes.c_uint32, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildBinOp(B:LLVMBuilderRef, Op:ctypes.c_uint32, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildNeg(_0:LLVMBuilderRef, V:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildNSWNeg(B:LLVMBuilderRef, V:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildNUWNeg(B:LLVMBuilderRef, V:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildFNeg(_0:LLVMBuilderRef, V:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildNot(_0:LLVMBuilderRef, V:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMGetNUW(ArithInst:LLVMValueRef) -> LLVMBool: ...
@dll.bind(None, LLVMValueRef, LLVMBool)
def LLVMSetNUW(ArithInst:LLVMValueRef, HasNUW:LLVMBool) -> None: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMGetNSW(ArithInst:LLVMValueRef) -> LLVMBool: ...
@dll.bind(None, LLVMValueRef, LLVMBool)
def LLVMSetNSW(ArithInst:LLVMValueRef, HasNSW:LLVMBool) -> None: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMGetExact(DivOrShrInst:LLVMValueRef) -> LLVMBool: ...
@dll.bind(None, LLVMValueRef, LLVMBool)
def LLVMSetExact(DivOrShrInst:LLVMValueRef, IsExact:LLVMBool) -> None: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMGetNNeg(NonNegInst:LLVMValueRef) -> LLVMBool: ...
@dll.bind(None, LLVMValueRef, LLVMBool)
def LLVMSetNNeg(NonNegInst:LLVMValueRef, IsNonNeg:LLVMBool) -> None: ...
@dll.bind(LLVMFastMathFlags, LLVMValueRef)
def LLVMGetFastMathFlags(FPMathInst:LLVMValueRef) -> LLVMFastMathFlags: ...
@dll.bind(None, LLVMValueRef, LLVMFastMathFlags)
def LLVMSetFastMathFlags(FPMathInst:LLVMValueRef, FMF:LLVMFastMathFlags) -> None: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMCanValueUseFastMathFlags(Inst:LLVMValueRef) -> LLVMBool: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMGetIsDisjoint(Inst:LLVMValueRef) -> LLVMBool: ...
@dll.bind(None, LLVMValueRef, LLVMBool)
def LLVMSetIsDisjoint(Inst:LLVMValueRef, IsDisjoint:LLVMBool) -> None: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildMalloc(_0:LLVMBuilderRef, Ty:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMTypeRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildArrayMalloc(_0:LLVMBuilderRef, Ty:LLVMTypeRef, Val:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, LLVMValueRef, ctypes.c_uint32)
def LLVMBuildMemSet(B:LLVMBuilderRef, Ptr:LLVMValueRef, Val:LLVMValueRef, Len:LLVMValueRef, Align:int) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, ctypes.c_uint32, LLVMValueRef, ctypes.c_uint32, LLVMValueRef)
def LLVMBuildMemCpy(B:LLVMBuilderRef, Dst:LLVMValueRef, DstAlign:int, Src:LLVMValueRef, SrcAlign:int, Size:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, ctypes.c_uint32, LLVMValueRef, ctypes.c_uint32, LLVMValueRef)
def LLVMBuildMemMove(B:LLVMBuilderRef, Dst:LLVMValueRef, DstAlign:int, Src:LLVMValueRef, SrcAlign:int, Size:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildAlloca(_0:LLVMBuilderRef, Ty:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMTypeRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildArrayAlloca(_0:LLVMBuilderRef, Ty:LLVMTypeRef, Val:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef)
def LLVMBuildFree(_0:LLVMBuilderRef, PointerVal:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMTypeRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildLoad2(_0:LLVMBuilderRef, Ty:LLVMTypeRef, PointerVal:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef)
def LLVMBuildStore(_0:LLVMBuilderRef, Val:LLVMValueRef, Ptr:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMTypeRef, LLVMValueRef, c.POINTER[LLVMValueRef], ctypes.c_uint32, c.POINTER[ctypes.c_char])
def LLVMBuildGEP2(B:LLVMBuilderRef, Ty:LLVMTypeRef, Pointer:LLVMValueRef, Indices:c.POINTER[LLVMValueRef], NumIndices:int, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMTypeRef, LLVMValueRef, c.POINTER[LLVMValueRef], ctypes.c_uint32, c.POINTER[ctypes.c_char])
def LLVMBuildInBoundsGEP2(B:LLVMBuilderRef, Ty:LLVMTypeRef, Pointer:LLVMValueRef, Indices:c.POINTER[LLVMValueRef], NumIndices:int, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMTypeRef, LLVMValueRef, c.POINTER[LLVMValueRef], ctypes.c_uint32, c.POINTER[ctypes.c_char], LLVMGEPNoWrapFlags)
def LLVMBuildGEPWithNoWrapFlags(B:LLVMBuilderRef, Ty:LLVMTypeRef, Pointer:LLVMValueRef, Indices:c.POINTER[LLVMValueRef], NumIndices:int, Name:c.POINTER[ctypes.c_char], NoWrapFlags:LLVMGEPNoWrapFlags) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMTypeRef, LLVMValueRef, ctypes.c_uint32, c.POINTER[ctypes.c_char])
def LLVMBuildStructGEP2(B:LLVMBuilderRef, Ty:LLVMTypeRef, Pointer:LLVMValueRef, Idx:int, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, c.POINTER[ctypes.c_char], c.POINTER[ctypes.c_char])
def LLVMBuildGlobalString(B:LLVMBuilderRef, Str:c.POINTER[ctypes.c_char], Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, c.POINTER[ctypes.c_char], c.POINTER[ctypes.c_char])
def LLVMBuildGlobalStringPtr(B:LLVMBuilderRef, Str:c.POINTER[ctypes.c_char], Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMGetVolatile(MemoryAccessInst:LLVMValueRef) -> LLVMBool: ...
@dll.bind(None, LLVMValueRef, LLVMBool)
def LLVMSetVolatile(MemoryAccessInst:LLVMValueRef, IsVolatile:LLVMBool) -> None: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMGetWeak(CmpXchgInst:LLVMValueRef) -> LLVMBool: ...
@dll.bind(None, LLVMValueRef, LLVMBool)
def LLVMSetWeak(CmpXchgInst:LLVMValueRef, IsWeak:LLVMBool) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetOrdering(MemoryAccessInst:LLVMValueRef) -> ctypes.c_uint32: ...
@dll.bind(None, LLVMValueRef, ctypes.c_uint32)
def LLVMSetOrdering(MemoryAccessInst:LLVMValueRef, Ordering:ctypes.c_uint32) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetAtomicRMWBinOp(AtomicRMWInst:LLVMValueRef) -> ctypes.c_uint32: ...
@dll.bind(None, LLVMValueRef, ctypes.c_uint32)
def LLVMSetAtomicRMWBinOp(AtomicRMWInst:LLVMValueRef, BinOp:ctypes.c_uint32) -> None: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildTrunc(_0:LLVMBuilderRef, Val:LLVMValueRef, DestTy:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildZExt(_0:LLVMBuilderRef, Val:LLVMValueRef, DestTy:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildSExt(_0:LLVMBuilderRef, Val:LLVMValueRef, DestTy:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildFPToUI(_0:LLVMBuilderRef, Val:LLVMValueRef, DestTy:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildFPToSI(_0:LLVMBuilderRef, Val:LLVMValueRef, DestTy:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildUIToFP(_0:LLVMBuilderRef, Val:LLVMValueRef, DestTy:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildSIToFP(_0:LLVMBuilderRef, Val:LLVMValueRef, DestTy:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildFPTrunc(_0:LLVMBuilderRef, Val:LLVMValueRef, DestTy:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildFPExt(_0:LLVMBuilderRef, Val:LLVMValueRef, DestTy:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildPtrToInt(_0:LLVMBuilderRef, Val:LLVMValueRef, DestTy:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildIntToPtr(_0:LLVMBuilderRef, Val:LLVMValueRef, DestTy:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildBitCast(_0:LLVMBuilderRef, Val:LLVMValueRef, DestTy:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildAddrSpaceCast(_0:LLVMBuilderRef, Val:LLVMValueRef, DestTy:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildZExtOrBitCast(_0:LLVMBuilderRef, Val:LLVMValueRef, DestTy:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildSExtOrBitCast(_0:LLVMBuilderRef, Val:LLVMValueRef, DestTy:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildTruncOrBitCast(_0:LLVMBuilderRef, Val:LLVMValueRef, DestTy:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, ctypes.c_uint32, LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildCast(B:LLVMBuilderRef, Op:ctypes.c_uint32, Val:LLVMValueRef, DestTy:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildPointerCast(_0:LLVMBuilderRef, Val:LLVMValueRef, DestTy:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMTypeRef, LLVMBool, c.POINTER[ctypes.c_char])
def LLVMBuildIntCast2(_0:LLVMBuilderRef, Val:LLVMValueRef, DestTy:LLVMTypeRef, IsSigned:LLVMBool, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildFPCast(_0:LLVMBuilderRef, Val:LLVMValueRef, DestTy:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildIntCast(_0:LLVMBuilderRef, Val:LLVMValueRef, DestTy:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef, LLVMBool, LLVMTypeRef, LLVMBool)
def LLVMGetCastOpcode(Src:LLVMValueRef, SrcIsSigned:LLVMBool, DestTy:LLVMTypeRef, DestIsSigned:LLVMBool) -> ctypes.c_uint32: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, ctypes.c_uint32, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildICmp(_0:LLVMBuilderRef, Op:ctypes.c_uint32, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, ctypes.c_uint32, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildFCmp(_0:LLVMBuilderRef, Op:ctypes.c_uint32, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildPhi(_0:LLVMBuilderRef, Ty:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMTypeRef, LLVMValueRef, c.POINTER[LLVMValueRef], ctypes.c_uint32, c.POINTER[ctypes.c_char])
def LLVMBuildCall2(_0:LLVMBuilderRef, _1:LLVMTypeRef, Fn:LLVMValueRef, Args:c.POINTER[LLVMValueRef], NumArgs:int, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMTypeRef, LLVMValueRef, c.POINTER[LLVMValueRef], ctypes.c_uint32, c.POINTER[LLVMOperandBundleRef], ctypes.c_uint32, c.POINTER[ctypes.c_char])
def LLVMBuildCallWithOperandBundles(_0:LLVMBuilderRef, _1:LLVMTypeRef, Fn:LLVMValueRef, Args:c.POINTER[LLVMValueRef], NumArgs:int, Bundles:c.POINTER[LLVMOperandBundleRef], NumBundles:int, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildSelect(_0:LLVMBuilderRef, If:LLVMValueRef, Then:LLVMValueRef, Else:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMTypeRef, c.POINTER[ctypes.c_char])
def LLVMBuildVAArg(_0:LLVMBuilderRef, List:LLVMValueRef, Ty:LLVMTypeRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildExtractElement(_0:LLVMBuilderRef, VecVal:LLVMValueRef, Index:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildInsertElement(_0:LLVMBuilderRef, VecVal:LLVMValueRef, EltVal:LLVMValueRef, Index:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildShuffleVector(_0:LLVMBuilderRef, V1:LLVMValueRef, V2:LLVMValueRef, Mask:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, ctypes.c_uint32, c.POINTER[ctypes.c_char])
def LLVMBuildExtractValue(_0:LLVMBuilderRef, AggVal:LLVMValueRef, Index:int, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, ctypes.c_uint32, c.POINTER[ctypes.c_char])
def LLVMBuildInsertValue(_0:LLVMBuilderRef, AggVal:LLVMValueRef, EltVal:LLVMValueRef, Index:int, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildFreeze(_0:LLVMBuilderRef, Val:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildIsNull(_0:LLVMBuilderRef, Val:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildIsNotNull(_0:LLVMBuilderRef, Val:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMTypeRef, LLVMValueRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def LLVMBuildPtrDiff2(_0:LLVMBuilderRef, ElemTy:LLVMTypeRef, LHS:LLVMValueRef, RHS:LLVMValueRef, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, ctypes.c_uint32, LLVMBool, c.POINTER[ctypes.c_char])
def LLVMBuildFence(B:LLVMBuilderRef, ordering:ctypes.c_uint32, singleThread:LLVMBool, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, ctypes.c_uint32, ctypes.c_uint32, c.POINTER[ctypes.c_char])
def LLVMBuildFenceSyncScope(B:LLVMBuilderRef, ordering:ctypes.c_uint32, SSID:int, Name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, ctypes.c_uint32, LLVMValueRef, LLVMValueRef, ctypes.c_uint32, LLVMBool)
def LLVMBuildAtomicRMW(B:LLVMBuilderRef, op:ctypes.c_uint32, PTR:LLVMValueRef, Val:LLVMValueRef, ordering:ctypes.c_uint32, singleThread:LLVMBool) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, ctypes.c_uint32, LLVMValueRef, LLVMValueRef, ctypes.c_uint32, ctypes.c_uint32)
def LLVMBuildAtomicRMWSyncScope(B:LLVMBuilderRef, op:ctypes.c_uint32, PTR:LLVMValueRef, Val:LLVMValueRef, ordering:ctypes.c_uint32, SSID:int) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, LLVMValueRef, ctypes.c_uint32, ctypes.c_uint32, LLVMBool)
def LLVMBuildAtomicCmpXchg(B:LLVMBuilderRef, Ptr:LLVMValueRef, Cmp:LLVMValueRef, New:LLVMValueRef, SuccessOrdering:ctypes.c_uint32, FailureOrdering:ctypes.c_uint32, SingleThread:LLVMBool) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, LLVMValueRef, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32)
def LLVMBuildAtomicCmpXchgSyncScope(B:LLVMBuilderRef, Ptr:LLVMValueRef, Cmp:LLVMValueRef, New:LLVMValueRef, SuccessOrdering:ctypes.c_uint32, FailureOrdering:ctypes.c_uint32, SSID:int) -> LLVMValueRef: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetNumMaskElements(ShuffleVectorInst:LLVMValueRef) -> int: ...
@dll.bind(ctypes.c_int32)
def LLVMGetUndefMaskElem() -> int: ...
@dll.bind(ctypes.c_int32, LLVMValueRef, ctypes.c_uint32)
def LLVMGetMaskValue(ShuffleVectorInst:LLVMValueRef, Elt:int) -> int: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMIsAtomicSingleThread(AtomicInst:LLVMValueRef) -> LLVMBool: ...
@dll.bind(None, LLVMValueRef, LLVMBool)
def LLVMSetAtomicSingleThread(AtomicInst:LLVMValueRef, SingleThread:LLVMBool) -> None: ...
@dll.bind(LLVMBool, LLVMValueRef)
def LLVMIsAtomic(Inst:LLVMValueRef) -> LLVMBool: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetAtomicSyncScopeID(AtomicInst:LLVMValueRef) -> int: ...
@dll.bind(None, LLVMValueRef, ctypes.c_uint32)
def LLVMSetAtomicSyncScopeID(AtomicInst:LLVMValueRef, SSID:int) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetCmpXchgSuccessOrdering(CmpXchgInst:LLVMValueRef) -> ctypes.c_uint32: ...
@dll.bind(None, LLVMValueRef, ctypes.c_uint32)
def LLVMSetCmpXchgSuccessOrdering(CmpXchgInst:LLVMValueRef, Ordering:ctypes.c_uint32) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMValueRef)
def LLVMGetCmpXchgFailureOrdering(CmpXchgInst:LLVMValueRef) -> ctypes.c_uint32: ...
@dll.bind(None, LLVMValueRef, ctypes.c_uint32)
def LLVMSetCmpXchgFailureOrdering(CmpXchgInst:LLVMValueRef, Ordering:ctypes.c_uint32) -> None: ...
class struct_LLVMOpaqueModuleProvider(c.Struct): pass
LLVMModuleProviderRef: TypeAlias = c.POINTER[struct_LLVMOpaqueModuleProvider]
@dll.bind(LLVMModuleProviderRef, LLVMModuleRef)
def LLVMCreateModuleProviderForExistingModule(M:LLVMModuleRef) -> LLVMModuleProviderRef: ...
@dll.bind(None, LLVMModuleProviderRef)
def LLVMDisposeModuleProvider(M:LLVMModuleProviderRef) -> None: ...
@dll.bind(LLVMBool, c.POINTER[ctypes.c_char], c.POINTER[LLVMMemoryBufferRef], c.POINTER[c.POINTER[ctypes.c_char]])
def LLVMCreateMemoryBufferWithContentsOfFile(Path:c.POINTER[ctypes.c_char], OutMemBuf:c.POINTER[LLVMMemoryBufferRef], OutMessage:c.POINTER[c.POINTER[ctypes.c_char]]) -> LLVMBool: ...
@dll.bind(LLVMBool, c.POINTER[LLVMMemoryBufferRef], c.POINTER[c.POINTER[ctypes.c_char]])
def LLVMCreateMemoryBufferWithSTDIN(OutMemBuf:c.POINTER[LLVMMemoryBufferRef], OutMessage:c.POINTER[c.POINTER[ctypes.c_char]]) -> LLVMBool: ...
@dll.bind(LLVMMemoryBufferRef, c.POINTER[ctypes.c_char], size_t, c.POINTER[ctypes.c_char], LLVMBool)
def LLVMCreateMemoryBufferWithMemoryRange(InputData:c.POINTER[ctypes.c_char], InputDataLength:size_t, BufferName:c.POINTER[ctypes.c_char], RequiresNullTerminator:LLVMBool) -> LLVMMemoryBufferRef: ...
@dll.bind(LLVMMemoryBufferRef, c.POINTER[ctypes.c_char], size_t, c.POINTER[ctypes.c_char])
def LLVMCreateMemoryBufferWithMemoryRangeCopy(InputData:c.POINTER[ctypes.c_char], InputDataLength:size_t, BufferName:c.POINTER[ctypes.c_char]) -> LLVMMemoryBufferRef: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMMemoryBufferRef)
def LLVMGetBufferStart(MemBuf:LLVMMemoryBufferRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(size_t, LLVMMemoryBufferRef)
def LLVMGetBufferSize(MemBuf:LLVMMemoryBufferRef) -> size_t: ...
@dll.bind(None, LLVMMemoryBufferRef)
def LLVMDisposeMemoryBuffer(MemBuf:LLVMMemoryBufferRef) -> None: ...
class struct_LLVMOpaquePassManager(c.Struct): pass
LLVMPassManagerRef: TypeAlias = c.POINTER[struct_LLVMOpaquePassManager]
@dll.bind(LLVMPassManagerRef)
def LLVMCreatePassManager() -> LLVMPassManagerRef: ...
@dll.bind(LLVMPassManagerRef, LLVMModuleRef)
def LLVMCreateFunctionPassManagerForModule(M:LLVMModuleRef) -> LLVMPassManagerRef: ...
@dll.bind(LLVMPassManagerRef, LLVMModuleProviderRef)
def LLVMCreateFunctionPassManager(MP:LLVMModuleProviderRef) -> LLVMPassManagerRef: ...
@dll.bind(LLVMBool, LLVMPassManagerRef, LLVMModuleRef)
def LLVMRunPassManager(PM:LLVMPassManagerRef, M:LLVMModuleRef) -> LLVMBool: ...
@dll.bind(LLVMBool, LLVMPassManagerRef)
def LLVMInitializeFunctionPassManager(FPM:LLVMPassManagerRef) -> LLVMBool: ...
@dll.bind(LLVMBool, LLVMPassManagerRef, LLVMValueRef)
def LLVMRunFunctionPassManager(FPM:LLVMPassManagerRef, F:LLVMValueRef) -> LLVMBool: ...
@dll.bind(LLVMBool, LLVMPassManagerRef)
def LLVMFinalizeFunctionPassManager(FPM:LLVMPassManagerRef) -> LLVMBool: ...
@dll.bind(None, LLVMPassManagerRef)
def LLVMDisposePassManager(PM:LLVMPassManagerRef) -> None: ...
@dll.bind(LLVMBool)
def LLVMStartMultithreaded() -> LLVMBool: ...
@dll.bind(None)
def LLVMStopMultithreaded() -> None: ...
@dll.bind(LLVMBool)
def LLVMIsMultithreaded() -> LLVMBool: ...
LLVMDIFlags: dict[int, str] = {(LLVMDIFlagZero:=0): 'LLVMDIFlagZero', (LLVMDIFlagPrivate:=1): 'LLVMDIFlagPrivate', (LLVMDIFlagProtected:=2): 'LLVMDIFlagProtected', (LLVMDIFlagPublic:=3): 'LLVMDIFlagPublic', (LLVMDIFlagFwdDecl:=4): 'LLVMDIFlagFwdDecl', (LLVMDIFlagAppleBlock:=8): 'LLVMDIFlagAppleBlock', (LLVMDIFlagReservedBit4:=16): 'LLVMDIFlagReservedBit4', (LLVMDIFlagVirtual:=32): 'LLVMDIFlagVirtual', (LLVMDIFlagArtificial:=64): 'LLVMDIFlagArtificial', (LLVMDIFlagExplicit:=128): 'LLVMDIFlagExplicit', (LLVMDIFlagPrototyped:=256): 'LLVMDIFlagPrototyped', (LLVMDIFlagObjcClassComplete:=512): 'LLVMDIFlagObjcClassComplete', (LLVMDIFlagObjectPointer:=1024): 'LLVMDIFlagObjectPointer', (LLVMDIFlagVector:=2048): 'LLVMDIFlagVector', (LLVMDIFlagStaticMember:=4096): 'LLVMDIFlagStaticMember', (LLVMDIFlagLValueReference:=8192): 'LLVMDIFlagLValueReference', (LLVMDIFlagRValueReference:=16384): 'LLVMDIFlagRValueReference', (LLVMDIFlagReserved:=32768): 'LLVMDIFlagReserved', (LLVMDIFlagSingleInheritance:=65536): 'LLVMDIFlagSingleInheritance', (LLVMDIFlagMultipleInheritance:=131072): 'LLVMDIFlagMultipleInheritance', (LLVMDIFlagVirtualInheritance:=196608): 'LLVMDIFlagVirtualInheritance', (LLVMDIFlagIntroducedVirtual:=262144): 'LLVMDIFlagIntroducedVirtual', (LLVMDIFlagBitField:=524288): 'LLVMDIFlagBitField', (LLVMDIFlagNoReturn:=1048576): 'LLVMDIFlagNoReturn', (LLVMDIFlagTypePassByValue:=4194304): 'LLVMDIFlagTypePassByValue', (LLVMDIFlagTypePassByReference:=8388608): 'LLVMDIFlagTypePassByReference', (LLVMDIFlagEnumClass:=16777216): 'LLVMDIFlagEnumClass', (LLVMDIFlagFixedEnum:=16777216): 'LLVMDIFlagFixedEnum', (LLVMDIFlagThunk:=33554432): 'LLVMDIFlagThunk', (LLVMDIFlagNonTrivial:=67108864): 'LLVMDIFlagNonTrivial', (LLVMDIFlagBigEndian:=134217728): 'LLVMDIFlagBigEndian', (LLVMDIFlagLittleEndian:=268435456): 'LLVMDIFlagLittleEndian', (LLVMDIFlagIndirectVirtualBase:=36): 'LLVMDIFlagIndirectVirtualBase', (LLVMDIFlagAccessibility:=3): 'LLVMDIFlagAccessibility', (LLVMDIFlagPtrToMemberRep:=196608): 'LLVMDIFlagPtrToMemberRep'}
LLVMDWARFSourceLanguage: dict[int, str] = {(LLVMDWARFSourceLanguageC89:=0): 'LLVMDWARFSourceLanguageC89', (LLVMDWARFSourceLanguageC:=1): 'LLVMDWARFSourceLanguageC', (LLVMDWARFSourceLanguageAda83:=2): 'LLVMDWARFSourceLanguageAda83', (LLVMDWARFSourceLanguageC_plus_plus:=3): 'LLVMDWARFSourceLanguageC_plus_plus', (LLVMDWARFSourceLanguageCobol74:=4): 'LLVMDWARFSourceLanguageCobol74', (LLVMDWARFSourceLanguageCobol85:=5): 'LLVMDWARFSourceLanguageCobol85', (LLVMDWARFSourceLanguageFortran77:=6): 'LLVMDWARFSourceLanguageFortran77', (LLVMDWARFSourceLanguageFortran90:=7): 'LLVMDWARFSourceLanguageFortran90', (LLVMDWARFSourceLanguagePascal83:=8): 'LLVMDWARFSourceLanguagePascal83', (LLVMDWARFSourceLanguageModula2:=9): 'LLVMDWARFSourceLanguageModula2', (LLVMDWARFSourceLanguageJava:=10): 'LLVMDWARFSourceLanguageJava', (LLVMDWARFSourceLanguageC99:=11): 'LLVMDWARFSourceLanguageC99', (LLVMDWARFSourceLanguageAda95:=12): 'LLVMDWARFSourceLanguageAda95', (LLVMDWARFSourceLanguageFortran95:=13): 'LLVMDWARFSourceLanguageFortran95', (LLVMDWARFSourceLanguagePLI:=14): 'LLVMDWARFSourceLanguagePLI', (LLVMDWARFSourceLanguageObjC:=15): 'LLVMDWARFSourceLanguageObjC', (LLVMDWARFSourceLanguageObjC_plus_plus:=16): 'LLVMDWARFSourceLanguageObjC_plus_plus', (LLVMDWARFSourceLanguageUPC:=17): 'LLVMDWARFSourceLanguageUPC', (LLVMDWARFSourceLanguageD:=18): 'LLVMDWARFSourceLanguageD', (LLVMDWARFSourceLanguagePython:=19): 'LLVMDWARFSourceLanguagePython', (LLVMDWARFSourceLanguageOpenCL:=20): 'LLVMDWARFSourceLanguageOpenCL', (LLVMDWARFSourceLanguageGo:=21): 'LLVMDWARFSourceLanguageGo', (LLVMDWARFSourceLanguageModula3:=22): 'LLVMDWARFSourceLanguageModula3', (LLVMDWARFSourceLanguageHaskell:=23): 'LLVMDWARFSourceLanguageHaskell', (LLVMDWARFSourceLanguageC_plus_plus_03:=24): 'LLVMDWARFSourceLanguageC_plus_plus_03', (LLVMDWARFSourceLanguageC_plus_plus_11:=25): 'LLVMDWARFSourceLanguageC_plus_plus_11', (LLVMDWARFSourceLanguageOCaml:=26): 'LLVMDWARFSourceLanguageOCaml', (LLVMDWARFSourceLanguageRust:=27): 'LLVMDWARFSourceLanguageRust', (LLVMDWARFSourceLanguageC11:=28): 'LLVMDWARFSourceLanguageC11', (LLVMDWARFSourceLanguageSwift:=29): 'LLVMDWARFSourceLanguageSwift', (LLVMDWARFSourceLanguageJulia:=30): 'LLVMDWARFSourceLanguageJulia', (LLVMDWARFSourceLanguageDylan:=31): 'LLVMDWARFSourceLanguageDylan', (LLVMDWARFSourceLanguageC_plus_plus_14:=32): 'LLVMDWARFSourceLanguageC_plus_plus_14', (LLVMDWARFSourceLanguageFortran03:=33): 'LLVMDWARFSourceLanguageFortran03', (LLVMDWARFSourceLanguageFortran08:=34): 'LLVMDWARFSourceLanguageFortran08', (LLVMDWARFSourceLanguageRenderScript:=35): 'LLVMDWARFSourceLanguageRenderScript', (LLVMDWARFSourceLanguageBLISS:=36): 'LLVMDWARFSourceLanguageBLISS', (LLVMDWARFSourceLanguageKotlin:=37): 'LLVMDWARFSourceLanguageKotlin', (LLVMDWARFSourceLanguageZig:=38): 'LLVMDWARFSourceLanguageZig', (LLVMDWARFSourceLanguageCrystal:=39): 'LLVMDWARFSourceLanguageCrystal', (LLVMDWARFSourceLanguageC_plus_plus_17:=40): 'LLVMDWARFSourceLanguageC_plus_plus_17', (LLVMDWARFSourceLanguageC_plus_plus_20:=41): 'LLVMDWARFSourceLanguageC_plus_plus_20', (LLVMDWARFSourceLanguageC17:=42): 'LLVMDWARFSourceLanguageC17', (LLVMDWARFSourceLanguageFortran18:=43): 'LLVMDWARFSourceLanguageFortran18', (LLVMDWARFSourceLanguageAda2005:=44): 'LLVMDWARFSourceLanguageAda2005', (LLVMDWARFSourceLanguageAda2012:=45): 'LLVMDWARFSourceLanguageAda2012', (LLVMDWARFSourceLanguageHIP:=46): 'LLVMDWARFSourceLanguageHIP', (LLVMDWARFSourceLanguageAssembly:=47): 'LLVMDWARFSourceLanguageAssembly', (LLVMDWARFSourceLanguageC_sharp:=48): 'LLVMDWARFSourceLanguageC_sharp', (LLVMDWARFSourceLanguageMojo:=49): 'LLVMDWARFSourceLanguageMojo', (LLVMDWARFSourceLanguageGLSL:=50): 'LLVMDWARFSourceLanguageGLSL', (LLVMDWARFSourceLanguageGLSL_ES:=51): 'LLVMDWARFSourceLanguageGLSL_ES', (LLVMDWARFSourceLanguageHLSL:=52): 'LLVMDWARFSourceLanguageHLSL', (LLVMDWARFSourceLanguageOpenCL_CPP:=53): 'LLVMDWARFSourceLanguageOpenCL_CPP', (LLVMDWARFSourceLanguageCPP_for_OpenCL:=54): 'LLVMDWARFSourceLanguageCPP_for_OpenCL', (LLVMDWARFSourceLanguageSYCL:=55): 'LLVMDWARFSourceLanguageSYCL', (LLVMDWARFSourceLanguageRuby:=56): 'LLVMDWARFSourceLanguageRuby', (LLVMDWARFSourceLanguageMove:=57): 'LLVMDWARFSourceLanguageMove', (LLVMDWARFSourceLanguageHylo:=58): 'LLVMDWARFSourceLanguageHylo', (LLVMDWARFSourceLanguageMetal:=59): 'LLVMDWARFSourceLanguageMetal', (LLVMDWARFSourceLanguageMips_Assembler:=60): 'LLVMDWARFSourceLanguageMips_Assembler', (LLVMDWARFSourceLanguageGOOGLE_RenderScript:=61): 'LLVMDWARFSourceLanguageGOOGLE_RenderScript', (LLVMDWARFSourceLanguageBORLAND_Delphi:=62): 'LLVMDWARFSourceLanguageBORLAND_Delphi'}
LLVMDWARFEmissionKind: dict[int, str] = {(LLVMDWARFEmissionNone:=0): 'LLVMDWARFEmissionNone', (LLVMDWARFEmissionFull:=1): 'LLVMDWARFEmissionFull', (LLVMDWARFEmissionLineTablesOnly:=2): 'LLVMDWARFEmissionLineTablesOnly'}
_anonenum3: dict[int, str] = {(LLVMMDStringMetadataKind:=0): 'LLVMMDStringMetadataKind', (LLVMConstantAsMetadataMetadataKind:=1): 'LLVMConstantAsMetadataMetadataKind', (LLVMLocalAsMetadataMetadataKind:=2): 'LLVMLocalAsMetadataMetadataKind', (LLVMDistinctMDOperandPlaceholderMetadataKind:=3): 'LLVMDistinctMDOperandPlaceholderMetadataKind', (LLVMMDTupleMetadataKind:=4): 'LLVMMDTupleMetadataKind', (LLVMDILocationMetadataKind:=5): 'LLVMDILocationMetadataKind', (LLVMDIExpressionMetadataKind:=6): 'LLVMDIExpressionMetadataKind', (LLVMDIGlobalVariableExpressionMetadataKind:=7): 'LLVMDIGlobalVariableExpressionMetadataKind', (LLVMGenericDINodeMetadataKind:=8): 'LLVMGenericDINodeMetadataKind', (LLVMDISubrangeMetadataKind:=9): 'LLVMDISubrangeMetadataKind', (LLVMDIEnumeratorMetadataKind:=10): 'LLVMDIEnumeratorMetadataKind', (LLVMDIBasicTypeMetadataKind:=11): 'LLVMDIBasicTypeMetadataKind', (LLVMDIDerivedTypeMetadataKind:=12): 'LLVMDIDerivedTypeMetadataKind', (LLVMDICompositeTypeMetadataKind:=13): 'LLVMDICompositeTypeMetadataKind', (LLVMDISubroutineTypeMetadataKind:=14): 'LLVMDISubroutineTypeMetadataKind', (LLVMDIFileMetadataKind:=15): 'LLVMDIFileMetadataKind', (LLVMDICompileUnitMetadataKind:=16): 'LLVMDICompileUnitMetadataKind', (LLVMDISubprogramMetadataKind:=17): 'LLVMDISubprogramMetadataKind', (LLVMDILexicalBlockMetadataKind:=18): 'LLVMDILexicalBlockMetadataKind', (LLVMDILexicalBlockFileMetadataKind:=19): 'LLVMDILexicalBlockFileMetadataKind', (LLVMDINamespaceMetadataKind:=20): 'LLVMDINamespaceMetadataKind', (LLVMDIModuleMetadataKind:=21): 'LLVMDIModuleMetadataKind', (LLVMDITemplateTypeParameterMetadataKind:=22): 'LLVMDITemplateTypeParameterMetadataKind', (LLVMDITemplateValueParameterMetadataKind:=23): 'LLVMDITemplateValueParameterMetadataKind', (LLVMDIGlobalVariableMetadataKind:=24): 'LLVMDIGlobalVariableMetadataKind', (LLVMDILocalVariableMetadataKind:=25): 'LLVMDILocalVariableMetadataKind', (LLVMDILabelMetadataKind:=26): 'LLVMDILabelMetadataKind', (LLVMDIObjCPropertyMetadataKind:=27): 'LLVMDIObjCPropertyMetadataKind', (LLVMDIImportedEntityMetadataKind:=28): 'LLVMDIImportedEntityMetadataKind', (LLVMDIMacroMetadataKind:=29): 'LLVMDIMacroMetadataKind', (LLVMDIMacroFileMetadataKind:=30): 'LLVMDIMacroFileMetadataKind', (LLVMDICommonBlockMetadataKind:=31): 'LLVMDICommonBlockMetadataKind', (LLVMDIStringTypeMetadataKind:=32): 'LLVMDIStringTypeMetadataKind', (LLVMDIGenericSubrangeMetadataKind:=33): 'LLVMDIGenericSubrangeMetadataKind', (LLVMDIArgListMetadataKind:=34): 'LLVMDIArgListMetadataKind', (LLVMDIAssignIDMetadataKind:=35): 'LLVMDIAssignIDMetadataKind'}
LLVMMetadataKind: TypeAlias = ctypes.c_uint32
LLVMDWARFTypeEncoding: TypeAlias = ctypes.c_uint32
LLVMDWARFMacinfoRecordType: dict[int, str] = {(LLVMDWARFMacinfoRecordTypeDefine:=1): 'LLVMDWARFMacinfoRecordTypeDefine', (LLVMDWARFMacinfoRecordTypeMacro:=2): 'LLVMDWARFMacinfoRecordTypeMacro', (LLVMDWARFMacinfoRecordTypeStartFile:=3): 'LLVMDWARFMacinfoRecordTypeStartFile', (LLVMDWARFMacinfoRecordTypeEndFile:=4): 'LLVMDWARFMacinfoRecordTypeEndFile', (LLVMDWARFMacinfoRecordTypeVendorExt:=255): 'LLVMDWARFMacinfoRecordTypeVendorExt'}
@dll.bind(ctypes.c_uint32)
def LLVMDebugMetadataVersion() -> int: ...
@dll.bind(ctypes.c_uint32, LLVMModuleRef)
def LLVMGetModuleDebugMetadataVersion(Module:LLVMModuleRef) -> int: ...
@dll.bind(LLVMBool, LLVMModuleRef)
def LLVMStripModuleDebugInfo(Module:LLVMModuleRef) -> LLVMBool: ...
class struct_LLVMOpaqueDIBuilder(c.Struct): pass
LLVMDIBuilderRef: TypeAlias = c.POINTER[struct_LLVMOpaqueDIBuilder]
@dll.bind(LLVMDIBuilderRef, LLVMModuleRef)
def LLVMCreateDIBuilderDisallowUnresolved(M:LLVMModuleRef) -> LLVMDIBuilderRef: ...
@dll.bind(LLVMDIBuilderRef, LLVMModuleRef)
def LLVMCreateDIBuilder(M:LLVMModuleRef) -> LLVMDIBuilderRef: ...
@dll.bind(None, LLVMDIBuilderRef)
def LLVMDisposeDIBuilder(Builder:LLVMDIBuilderRef) -> None: ...
@dll.bind(None, LLVMDIBuilderRef)
def LLVMDIBuilderFinalize(Builder:LLVMDIBuilderRef) -> None: ...
@dll.bind(None, LLVMDIBuilderRef, LLVMMetadataRef)
def LLVMDIBuilderFinalizeSubprogram(Builder:LLVMDIBuilderRef, Subprogram:LLVMMetadataRef) -> None: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, ctypes.c_uint32, LLVMMetadataRef, c.POINTER[ctypes.c_char], size_t, LLVMBool, c.POINTER[ctypes.c_char], size_t, ctypes.c_uint32, c.POINTER[ctypes.c_char], size_t, ctypes.c_uint32, ctypes.c_uint32, LLVMBool, LLVMBool, c.POINTER[ctypes.c_char], size_t, c.POINTER[ctypes.c_char], size_t)
def LLVMDIBuilderCreateCompileUnit(Builder:LLVMDIBuilderRef, Lang:ctypes.c_uint32, FileRef:LLVMMetadataRef, Producer:c.POINTER[ctypes.c_char], ProducerLen:size_t, isOptimized:LLVMBool, Flags:c.POINTER[ctypes.c_char], FlagsLen:size_t, RuntimeVer:int, SplitName:c.POINTER[ctypes.c_char], SplitNameLen:size_t, Kind:ctypes.c_uint32, DWOId:int, SplitDebugInlining:LLVMBool, DebugInfoForProfiling:LLVMBool, SysRoot:c.POINTER[ctypes.c_char], SysRootLen:size_t, SDK:c.POINTER[ctypes.c_char], SDKLen:size_t) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, c.POINTER[ctypes.c_char], size_t, c.POINTER[ctypes.c_char], size_t)
def LLVMDIBuilderCreateFile(Builder:LLVMDIBuilderRef, Filename:c.POINTER[ctypes.c_char], FilenameLen:size_t, Directory:c.POINTER[ctypes.c_char], DirectoryLen:size_t) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, c.POINTER[ctypes.c_char], size_t, c.POINTER[ctypes.c_char], size_t, c.POINTER[ctypes.c_char], size_t, c.POINTER[ctypes.c_char], size_t)
def LLVMDIBuilderCreateModule(Builder:LLVMDIBuilderRef, ParentScope:LLVMMetadataRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t, ConfigMacros:c.POINTER[ctypes.c_char], ConfigMacrosLen:size_t, IncludePath:c.POINTER[ctypes.c_char], IncludePathLen:size_t, APINotesFile:c.POINTER[ctypes.c_char], APINotesFileLen:size_t) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, c.POINTER[ctypes.c_char], size_t, LLVMBool)
def LLVMDIBuilderCreateNameSpace(Builder:LLVMDIBuilderRef, ParentScope:LLVMMetadataRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t, ExportSymbols:LLVMBool) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, c.POINTER[ctypes.c_char], size_t, c.POINTER[ctypes.c_char], size_t, LLVMMetadataRef, ctypes.c_uint32, LLVMMetadataRef, LLVMBool, LLVMBool, ctypes.c_uint32, ctypes.c_uint32, LLVMBool)
def LLVMDIBuilderCreateFunction(Builder:LLVMDIBuilderRef, Scope:LLVMMetadataRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t, LinkageName:c.POINTER[ctypes.c_char], LinkageNameLen:size_t, File:LLVMMetadataRef, LineNo:int, Ty:LLVMMetadataRef, IsLocalToUnit:LLVMBool, IsDefinition:LLVMBool, ScopeLine:int, Flags:ctypes.c_uint32, IsOptimized:LLVMBool) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, LLVMMetadataRef, ctypes.c_uint32, ctypes.c_uint32)
def LLVMDIBuilderCreateLexicalBlock(Builder:LLVMDIBuilderRef, Scope:LLVMMetadataRef, File:LLVMMetadataRef, Line:int, Column:int) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, LLVMMetadataRef, ctypes.c_uint32)
def LLVMDIBuilderCreateLexicalBlockFile(Builder:LLVMDIBuilderRef, Scope:LLVMMetadataRef, File:LLVMMetadataRef, Discriminator:int) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, LLVMMetadataRef, LLVMMetadataRef, ctypes.c_uint32)
def LLVMDIBuilderCreateImportedModuleFromNamespace(Builder:LLVMDIBuilderRef, Scope:LLVMMetadataRef, NS:LLVMMetadataRef, File:LLVMMetadataRef, Line:int) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, LLVMMetadataRef, LLVMMetadataRef, ctypes.c_uint32, c.POINTER[LLVMMetadataRef], ctypes.c_uint32)
def LLVMDIBuilderCreateImportedModuleFromAlias(Builder:LLVMDIBuilderRef, Scope:LLVMMetadataRef, ImportedEntity:LLVMMetadataRef, File:LLVMMetadataRef, Line:int, Elements:c.POINTER[LLVMMetadataRef], NumElements:int) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, LLVMMetadataRef, LLVMMetadataRef, ctypes.c_uint32, c.POINTER[LLVMMetadataRef], ctypes.c_uint32)
def LLVMDIBuilderCreateImportedModuleFromModule(Builder:LLVMDIBuilderRef, Scope:LLVMMetadataRef, M:LLVMMetadataRef, File:LLVMMetadataRef, Line:int, Elements:c.POINTER[LLVMMetadataRef], NumElements:int) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, LLVMMetadataRef, LLVMMetadataRef, ctypes.c_uint32, c.POINTER[ctypes.c_char], size_t, c.POINTER[LLVMMetadataRef], ctypes.c_uint32)
def LLVMDIBuilderCreateImportedDeclaration(Builder:LLVMDIBuilderRef, Scope:LLVMMetadataRef, Decl:LLVMMetadataRef, File:LLVMMetadataRef, Line:int, Name:c.POINTER[ctypes.c_char], NameLen:size_t, Elements:c.POINTER[LLVMMetadataRef], NumElements:int) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMContextRef, ctypes.c_uint32, ctypes.c_uint32, LLVMMetadataRef, LLVMMetadataRef)
def LLVMDIBuilderCreateDebugLocation(Ctx:LLVMContextRef, Line:int, Column:int, Scope:LLVMMetadataRef, InlinedAt:LLVMMetadataRef) -> LLVMMetadataRef: ...
@dll.bind(ctypes.c_uint32, LLVMMetadataRef)
def LLVMDILocationGetLine(Location:LLVMMetadataRef) -> int: ...
@dll.bind(ctypes.c_uint32, LLVMMetadataRef)
def LLVMDILocationGetColumn(Location:LLVMMetadataRef) -> int: ...
@dll.bind(LLVMMetadataRef, LLVMMetadataRef)
def LLVMDILocationGetScope(Location:LLVMMetadataRef) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMMetadataRef)
def LLVMDILocationGetInlinedAt(Location:LLVMMetadataRef) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMMetadataRef)
def LLVMDIScopeGetFile(Scope:LLVMMetadataRef) -> LLVMMetadataRef: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMMetadataRef, c.POINTER[ctypes.c_uint32])
def LLVMDIFileGetDirectory(File:LLVMMetadataRef, Len:c.POINTER[ctypes.c_uint32]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMMetadataRef, c.POINTER[ctypes.c_uint32])
def LLVMDIFileGetFilename(File:LLVMMetadataRef, Len:c.POINTER[ctypes.c_uint32]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMMetadataRef, c.POINTER[ctypes.c_uint32])
def LLVMDIFileGetSource(File:LLVMMetadataRef, Len:c.POINTER[ctypes.c_uint32]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, c.POINTER[LLVMMetadataRef], size_t)
def LLVMDIBuilderGetOrCreateTypeArray(Builder:LLVMDIBuilderRef, Data:c.POINTER[LLVMMetadataRef], NumElements:size_t) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, c.POINTER[LLVMMetadataRef], ctypes.c_uint32, ctypes.c_uint32)
def LLVMDIBuilderCreateSubroutineType(Builder:LLVMDIBuilderRef, File:LLVMMetadataRef, ParameterTypes:c.POINTER[LLVMMetadataRef], NumParameterTypes:int, Flags:ctypes.c_uint32) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, ctypes.c_uint32, ctypes.c_uint32, c.POINTER[ctypes.c_char], size_t, c.POINTER[ctypes.c_char], size_t)
def LLVMDIBuilderCreateMacro(Builder:LLVMDIBuilderRef, ParentMacroFile:LLVMMetadataRef, Line:int, RecordType:ctypes.c_uint32, Name:c.POINTER[ctypes.c_char], NameLen:size_t, Value:c.POINTER[ctypes.c_char], ValueLen:size_t) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, ctypes.c_uint32, LLVMMetadataRef)
def LLVMDIBuilderCreateTempMacroFile(Builder:LLVMDIBuilderRef, ParentMacroFile:LLVMMetadataRef, Line:int, File:LLVMMetadataRef) -> LLVMMetadataRef: ...
int64_t: TypeAlias = ctypes.c_int64
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, c.POINTER[ctypes.c_char], size_t, int64_t, LLVMBool)
def LLVMDIBuilderCreateEnumerator(Builder:LLVMDIBuilderRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t, Value:int64_t, IsUnsigned:LLVMBool) -> LLVMMetadataRef: ...
uint32_t: TypeAlias = ctypes.c_uint32
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, c.POINTER[ctypes.c_char], size_t, LLVMMetadataRef, ctypes.c_uint32, uint64_t, uint32_t, c.POINTER[LLVMMetadataRef], ctypes.c_uint32, LLVMMetadataRef)
def LLVMDIBuilderCreateEnumerationType(Builder:LLVMDIBuilderRef, Scope:LLVMMetadataRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t, File:LLVMMetadataRef, LineNumber:int, SizeInBits:uint64_t, AlignInBits:uint32_t, Elements:c.POINTER[LLVMMetadataRef], NumElements:int, ClassTy:LLVMMetadataRef) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, c.POINTER[ctypes.c_char], size_t, LLVMMetadataRef, ctypes.c_uint32, uint64_t, uint32_t, ctypes.c_uint32, c.POINTER[LLVMMetadataRef], ctypes.c_uint32, ctypes.c_uint32, c.POINTER[ctypes.c_char], size_t)
def LLVMDIBuilderCreateUnionType(Builder:LLVMDIBuilderRef, Scope:LLVMMetadataRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t, File:LLVMMetadataRef, LineNumber:int, SizeInBits:uint64_t, AlignInBits:uint32_t, Flags:ctypes.c_uint32, Elements:c.POINTER[LLVMMetadataRef], NumElements:int, RunTimeLang:int, UniqueId:c.POINTER[ctypes.c_char], UniqueIdLen:size_t) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, uint64_t, uint32_t, LLVMMetadataRef, c.POINTER[LLVMMetadataRef], ctypes.c_uint32)
def LLVMDIBuilderCreateArrayType(Builder:LLVMDIBuilderRef, Size:uint64_t, AlignInBits:uint32_t, Ty:LLVMMetadataRef, Subscripts:c.POINTER[LLVMMetadataRef], NumSubscripts:int) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, uint64_t, uint32_t, LLVMMetadataRef, c.POINTER[LLVMMetadataRef], ctypes.c_uint32)
def LLVMDIBuilderCreateVectorType(Builder:LLVMDIBuilderRef, Size:uint64_t, AlignInBits:uint32_t, Ty:LLVMMetadataRef, Subscripts:c.POINTER[LLVMMetadataRef], NumSubscripts:int) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, c.POINTER[ctypes.c_char], size_t)
def LLVMDIBuilderCreateUnspecifiedType(Builder:LLVMDIBuilderRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, c.POINTER[ctypes.c_char], size_t, uint64_t, LLVMDWARFTypeEncoding, ctypes.c_uint32)
def LLVMDIBuilderCreateBasicType(Builder:LLVMDIBuilderRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t, SizeInBits:uint64_t, Encoding:LLVMDWARFTypeEncoding, Flags:ctypes.c_uint32) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, uint64_t, uint32_t, ctypes.c_uint32, c.POINTER[ctypes.c_char], size_t)
def LLVMDIBuilderCreatePointerType(Builder:LLVMDIBuilderRef, PointeeTy:LLVMMetadataRef, SizeInBits:uint64_t, AlignInBits:uint32_t, AddressSpace:int, Name:c.POINTER[ctypes.c_char], NameLen:size_t) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, c.POINTER[ctypes.c_char], size_t, LLVMMetadataRef, ctypes.c_uint32, uint64_t, uint32_t, ctypes.c_uint32, LLVMMetadataRef, c.POINTER[LLVMMetadataRef], ctypes.c_uint32, ctypes.c_uint32, LLVMMetadataRef, c.POINTER[ctypes.c_char], size_t)
def LLVMDIBuilderCreateStructType(Builder:LLVMDIBuilderRef, Scope:LLVMMetadataRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t, File:LLVMMetadataRef, LineNumber:int, SizeInBits:uint64_t, AlignInBits:uint32_t, Flags:ctypes.c_uint32, DerivedFrom:LLVMMetadataRef, Elements:c.POINTER[LLVMMetadataRef], NumElements:int, RunTimeLang:int, VTableHolder:LLVMMetadataRef, UniqueId:c.POINTER[ctypes.c_char], UniqueIdLen:size_t) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, c.POINTER[ctypes.c_char], size_t, LLVMMetadataRef, ctypes.c_uint32, uint64_t, uint32_t, uint64_t, ctypes.c_uint32, LLVMMetadataRef)
def LLVMDIBuilderCreateMemberType(Builder:LLVMDIBuilderRef, Scope:LLVMMetadataRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t, File:LLVMMetadataRef, LineNo:int, SizeInBits:uint64_t, AlignInBits:uint32_t, OffsetInBits:uint64_t, Flags:ctypes.c_uint32, Ty:LLVMMetadataRef) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, c.POINTER[ctypes.c_char], size_t, LLVMMetadataRef, ctypes.c_uint32, LLVMMetadataRef, ctypes.c_uint32, LLVMValueRef, uint32_t)
def LLVMDIBuilderCreateStaticMemberType(Builder:LLVMDIBuilderRef, Scope:LLVMMetadataRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t, File:LLVMMetadataRef, LineNumber:int, Type:LLVMMetadataRef, Flags:ctypes.c_uint32, ConstantVal:LLVMValueRef, AlignInBits:uint32_t) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, LLVMMetadataRef, uint64_t, uint32_t, ctypes.c_uint32)
def LLVMDIBuilderCreateMemberPointerType(Builder:LLVMDIBuilderRef, PointeeType:LLVMMetadataRef, ClassType:LLVMMetadataRef, SizeInBits:uint64_t, AlignInBits:uint32_t, Flags:ctypes.c_uint32) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, c.POINTER[ctypes.c_char], size_t, LLVMMetadataRef, ctypes.c_uint32, uint64_t, uint32_t, uint64_t, ctypes.c_uint32, LLVMMetadataRef, LLVMMetadataRef)
def LLVMDIBuilderCreateObjCIVar(Builder:LLVMDIBuilderRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t, File:LLVMMetadataRef, LineNo:int, SizeInBits:uint64_t, AlignInBits:uint32_t, OffsetInBits:uint64_t, Flags:ctypes.c_uint32, Ty:LLVMMetadataRef, PropertyNode:LLVMMetadataRef) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, c.POINTER[ctypes.c_char], size_t, LLVMMetadataRef, ctypes.c_uint32, c.POINTER[ctypes.c_char], size_t, c.POINTER[ctypes.c_char], size_t, ctypes.c_uint32, LLVMMetadataRef)
def LLVMDIBuilderCreateObjCProperty(Builder:LLVMDIBuilderRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t, File:LLVMMetadataRef, LineNo:int, GetterName:c.POINTER[ctypes.c_char], GetterNameLen:size_t, SetterName:c.POINTER[ctypes.c_char], SetterNameLen:size_t, PropertyAttributes:int, Ty:LLVMMetadataRef) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, LLVMBool)
def LLVMDIBuilderCreateObjectPointerType(Builder:LLVMDIBuilderRef, Type:LLVMMetadataRef, Implicit:LLVMBool) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, ctypes.c_uint32, LLVMMetadataRef)
def LLVMDIBuilderCreateQualifiedType(Builder:LLVMDIBuilderRef, Tag:int, Type:LLVMMetadataRef) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, ctypes.c_uint32, LLVMMetadataRef)
def LLVMDIBuilderCreateReferenceType(Builder:LLVMDIBuilderRef, Tag:int, Type:LLVMMetadataRef) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef)
def LLVMDIBuilderCreateNullPtrType(Builder:LLVMDIBuilderRef) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, c.POINTER[ctypes.c_char], size_t, LLVMMetadataRef, ctypes.c_uint32, LLVMMetadataRef, uint32_t)
def LLVMDIBuilderCreateTypedef(Builder:LLVMDIBuilderRef, Type:LLVMMetadataRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t, File:LLVMMetadataRef, LineNo:int, Scope:LLVMMetadataRef, AlignInBits:uint32_t) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, LLVMMetadataRef, uint64_t, uint32_t, ctypes.c_uint32)
def LLVMDIBuilderCreateInheritance(Builder:LLVMDIBuilderRef, Ty:LLVMMetadataRef, BaseTy:LLVMMetadataRef, BaseOffset:uint64_t, VBPtrOffset:uint32_t, Flags:ctypes.c_uint32) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, ctypes.c_uint32, c.POINTER[ctypes.c_char], size_t, LLVMMetadataRef, LLVMMetadataRef, ctypes.c_uint32, ctypes.c_uint32, uint64_t, uint32_t, c.POINTER[ctypes.c_char], size_t)
def LLVMDIBuilderCreateForwardDecl(Builder:LLVMDIBuilderRef, Tag:int, Name:c.POINTER[ctypes.c_char], NameLen:size_t, Scope:LLVMMetadataRef, File:LLVMMetadataRef, Line:int, RuntimeLang:int, SizeInBits:uint64_t, AlignInBits:uint32_t, UniqueIdentifier:c.POINTER[ctypes.c_char], UniqueIdentifierLen:size_t) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, ctypes.c_uint32, c.POINTER[ctypes.c_char], size_t, LLVMMetadataRef, LLVMMetadataRef, ctypes.c_uint32, ctypes.c_uint32, uint64_t, uint32_t, ctypes.c_uint32, c.POINTER[ctypes.c_char], size_t)
def LLVMDIBuilderCreateReplaceableCompositeType(Builder:LLVMDIBuilderRef, Tag:int, Name:c.POINTER[ctypes.c_char], NameLen:size_t, Scope:LLVMMetadataRef, File:LLVMMetadataRef, Line:int, RuntimeLang:int, SizeInBits:uint64_t, AlignInBits:uint32_t, Flags:ctypes.c_uint32, UniqueIdentifier:c.POINTER[ctypes.c_char], UniqueIdentifierLen:size_t) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, c.POINTER[ctypes.c_char], size_t, LLVMMetadataRef, ctypes.c_uint32, uint64_t, uint64_t, uint64_t, ctypes.c_uint32, LLVMMetadataRef)
def LLVMDIBuilderCreateBitFieldMemberType(Builder:LLVMDIBuilderRef, Scope:LLVMMetadataRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t, File:LLVMMetadataRef, LineNumber:int, SizeInBits:uint64_t, OffsetInBits:uint64_t, StorageOffsetInBits:uint64_t, Flags:ctypes.c_uint32, Type:LLVMMetadataRef) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, c.POINTER[ctypes.c_char], size_t, LLVMMetadataRef, ctypes.c_uint32, uint64_t, uint32_t, uint64_t, ctypes.c_uint32, LLVMMetadataRef, c.POINTER[LLVMMetadataRef], ctypes.c_uint32, LLVMMetadataRef, LLVMMetadataRef, c.POINTER[ctypes.c_char], size_t)
def LLVMDIBuilderCreateClassType(Builder:LLVMDIBuilderRef, Scope:LLVMMetadataRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t, File:LLVMMetadataRef, LineNumber:int, SizeInBits:uint64_t, AlignInBits:uint32_t, OffsetInBits:uint64_t, Flags:ctypes.c_uint32, DerivedFrom:LLVMMetadataRef, Elements:c.POINTER[LLVMMetadataRef], NumElements:int, VTableHolder:LLVMMetadataRef, TemplateParamsNode:LLVMMetadataRef, UniqueIdentifier:c.POINTER[ctypes.c_char], UniqueIdentifierLen:size_t) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef)
def LLVMDIBuilderCreateArtificialType(Builder:LLVMDIBuilderRef, Type:LLVMMetadataRef) -> LLVMMetadataRef: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMMetadataRef, c.POINTER[size_t])
def LLVMDITypeGetName(DType:LLVMMetadataRef, Length:c.POINTER[size_t]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(uint64_t, LLVMMetadataRef)
def LLVMDITypeGetSizeInBits(DType:LLVMMetadataRef) -> uint64_t: ...
@dll.bind(uint64_t, LLVMMetadataRef)
def LLVMDITypeGetOffsetInBits(DType:LLVMMetadataRef) -> uint64_t: ...
@dll.bind(uint32_t, LLVMMetadataRef)
def LLVMDITypeGetAlignInBits(DType:LLVMMetadataRef) -> uint32_t: ...
@dll.bind(ctypes.c_uint32, LLVMMetadataRef)
def LLVMDITypeGetLine(DType:LLVMMetadataRef) -> int: ...
@dll.bind(ctypes.c_uint32, LLVMMetadataRef)
def LLVMDITypeGetFlags(DType:LLVMMetadataRef) -> ctypes.c_uint32: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, int64_t, int64_t)
def LLVMDIBuilderGetOrCreateSubrange(Builder:LLVMDIBuilderRef, LowerBound:int64_t, Count:int64_t) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, c.POINTER[LLVMMetadataRef], size_t)
def LLVMDIBuilderGetOrCreateArray(Builder:LLVMDIBuilderRef, Data:c.POINTER[LLVMMetadataRef], NumElements:size_t) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, c.POINTER[uint64_t], size_t)
def LLVMDIBuilderCreateExpression(Builder:LLVMDIBuilderRef, Addr:c.POINTER[uint64_t], Length:size_t) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, uint64_t)
def LLVMDIBuilderCreateConstantValueExpression(Builder:LLVMDIBuilderRef, Value:uint64_t) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, c.POINTER[ctypes.c_char], size_t, c.POINTER[ctypes.c_char], size_t, LLVMMetadataRef, ctypes.c_uint32, LLVMMetadataRef, LLVMBool, LLVMMetadataRef, LLVMMetadataRef, uint32_t)
def LLVMDIBuilderCreateGlobalVariableExpression(Builder:LLVMDIBuilderRef, Scope:LLVMMetadataRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t, Linkage:c.POINTER[ctypes.c_char], LinkLen:size_t, File:LLVMMetadataRef, LineNo:int, Ty:LLVMMetadataRef, LocalToUnit:LLVMBool, Expr:LLVMMetadataRef, Decl:LLVMMetadataRef, AlignInBits:uint32_t) -> LLVMMetadataRef: ...
uint16_t: TypeAlias = ctypes.c_uint16
@dll.bind(uint16_t, LLVMMetadataRef)
def LLVMGetDINodeTag(MD:LLVMMetadataRef) -> uint16_t: ...
@dll.bind(LLVMMetadataRef, LLVMMetadataRef)
def LLVMDIGlobalVariableExpressionGetVariable(GVE:LLVMMetadataRef) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMMetadataRef)
def LLVMDIGlobalVariableExpressionGetExpression(GVE:LLVMMetadataRef) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMMetadataRef)
def LLVMDIVariableGetFile(Var:LLVMMetadataRef) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMMetadataRef)
def LLVMDIVariableGetScope(Var:LLVMMetadataRef) -> LLVMMetadataRef: ...
@dll.bind(ctypes.c_uint32, LLVMMetadataRef)
def LLVMDIVariableGetLine(Var:LLVMMetadataRef) -> int: ...
@dll.bind(LLVMMetadataRef, LLVMContextRef, c.POINTER[LLVMMetadataRef], size_t)
def LLVMTemporaryMDNode(Ctx:LLVMContextRef, Data:c.POINTER[LLVMMetadataRef], NumElements:size_t) -> LLVMMetadataRef: ...
@dll.bind(None, LLVMMetadataRef)
def LLVMDisposeTemporaryMDNode(TempNode:LLVMMetadataRef) -> None: ...
@dll.bind(None, LLVMMetadataRef, LLVMMetadataRef)
def LLVMMetadataReplaceAllUsesWith(TempTargetMetadata:LLVMMetadataRef, Replacement:LLVMMetadataRef) -> None: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, c.POINTER[ctypes.c_char], size_t, c.POINTER[ctypes.c_char], size_t, LLVMMetadataRef, ctypes.c_uint32, LLVMMetadataRef, LLVMBool, LLVMMetadataRef, uint32_t)
def LLVMDIBuilderCreateTempGlobalVariableFwdDecl(Builder:LLVMDIBuilderRef, Scope:LLVMMetadataRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t, Linkage:c.POINTER[ctypes.c_char], LnkLen:size_t, File:LLVMMetadataRef, LineNo:int, Ty:LLVMMetadataRef, LocalToUnit:LLVMBool, Decl:LLVMMetadataRef, AlignInBits:uint32_t) -> LLVMMetadataRef: ...
@dll.bind(LLVMDbgRecordRef, LLVMDIBuilderRef, LLVMValueRef, LLVMMetadataRef, LLVMMetadataRef, LLVMMetadataRef, LLVMValueRef)
def LLVMDIBuilderInsertDeclareRecordBefore(Builder:LLVMDIBuilderRef, Storage:LLVMValueRef, VarInfo:LLVMMetadataRef, Expr:LLVMMetadataRef, DebugLoc:LLVMMetadataRef, Instr:LLVMValueRef) -> LLVMDbgRecordRef: ...
@dll.bind(LLVMDbgRecordRef, LLVMDIBuilderRef, LLVMValueRef, LLVMMetadataRef, LLVMMetadataRef, LLVMMetadataRef, LLVMBasicBlockRef)
def LLVMDIBuilderInsertDeclareRecordAtEnd(Builder:LLVMDIBuilderRef, Storage:LLVMValueRef, VarInfo:LLVMMetadataRef, Expr:LLVMMetadataRef, DebugLoc:LLVMMetadataRef, Block:LLVMBasicBlockRef) -> LLVMDbgRecordRef: ...
@dll.bind(LLVMDbgRecordRef, LLVMDIBuilderRef, LLVMValueRef, LLVMMetadataRef, LLVMMetadataRef, LLVMMetadataRef, LLVMValueRef)
def LLVMDIBuilderInsertDbgValueRecordBefore(Builder:LLVMDIBuilderRef, Val:LLVMValueRef, VarInfo:LLVMMetadataRef, Expr:LLVMMetadataRef, DebugLoc:LLVMMetadataRef, Instr:LLVMValueRef) -> LLVMDbgRecordRef: ...
@dll.bind(LLVMDbgRecordRef, LLVMDIBuilderRef, LLVMValueRef, LLVMMetadataRef, LLVMMetadataRef, LLVMMetadataRef, LLVMBasicBlockRef)
def LLVMDIBuilderInsertDbgValueRecordAtEnd(Builder:LLVMDIBuilderRef, Val:LLVMValueRef, VarInfo:LLVMMetadataRef, Expr:LLVMMetadataRef, DebugLoc:LLVMMetadataRef, Block:LLVMBasicBlockRef) -> LLVMDbgRecordRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, c.POINTER[ctypes.c_char], size_t, LLVMMetadataRef, ctypes.c_uint32, LLVMMetadataRef, LLVMBool, ctypes.c_uint32, uint32_t)
def LLVMDIBuilderCreateAutoVariable(Builder:LLVMDIBuilderRef, Scope:LLVMMetadataRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t, File:LLVMMetadataRef, LineNo:int, Ty:LLVMMetadataRef, AlwaysPreserve:LLVMBool, Flags:ctypes.c_uint32, AlignInBits:uint32_t) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, c.POINTER[ctypes.c_char], size_t, ctypes.c_uint32, LLVMMetadataRef, ctypes.c_uint32, LLVMMetadataRef, LLVMBool, ctypes.c_uint32)
def LLVMDIBuilderCreateParameterVariable(Builder:LLVMDIBuilderRef, Scope:LLVMMetadataRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t, ArgNo:int, File:LLVMMetadataRef, LineNo:int, Ty:LLVMMetadataRef, AlwaysPreserve:LLVMBool, Flags:ctypes.c_uint32) -> LLVMMetadataRef: ...
@dll.bind(LLVMMetadataRef, LLVMValueRef)
def LLVMGetSubprogram(Func:LLVMValueRef) -> LLVMMetadataRef: ...
@dll.bind(None, LLVMValueRef, LLVMMetadataRef)
def LLVMSetSubprogram(Func:LLVMValueRef, SP:LLVMMetadataRef) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMMetadataRef)
def LLVMDISubprogramGetLine(Subprogram:LLVMMetadataRef) -> int: ...
@dll.bind(LLVMMetadataRef, LLVMValueRef)
def LLVMInstructionGetDebugLoc(Inst:LLVMValueRef) -> LLVMMetadataRef: ...
@dll.bind(None, LLVMValueRef, LLVMMetadataRef)
def LLVMInstructionSetDebugLoc(Inst:LLVMValueRef, Loc:LLVMMetadataRef) -> None: ...
@dll.bind(LLVMMetadataRef, LLVMDIBuilderRef, LLVMMetadataRef, c.POINTER[ctypes.c_char], size_t, LLVMMetadataRef, ctypes.c_uint32, LLVMBool)
def LLVMDIBuilderCreateLabel(Builder:LLVMDIBuilderRef, Context:LLVMMetadataRef, Name:c.POINTER[ctypes.c_char], NameLen:size_t, File:LLVMMetadataRef, LineNo:int, AlwaysPreserve:LLVMBool) -> LLVMMetadataRef: ...
@dll.bind(LLVMDbgRecordRef, LLVMDIBuilderRef, LLVMMetadataRef, LLVMMetadataRef, LLVMValueRef)
def LLVMDIBuilderInsertLabelBefore(Builder:LLVMDIBuilderRef, LabelInfo:LLVMMetadataRef, Location:LLVMMetadataRef, InsertBefore:LLVMValueRef) -> LLVMDbgRecordRef: ...
@dll.bind(LLVMDbgRecordRef, LLVMDIBuilderRef, LLVMMetadataRef, LLVMMetadataRef, LLVMBasicBlockRef)
def LLVMDIBuilderInsertLabelAtEnd(Builder:LLVMDIBuilderRef, LabelInfo:LLVMMetadataRef, Location:LLVMMetadataRef, InsertAtEnd:LLVMBasicBlockRef) -> LLVMDbgRecordRef: ...
@dll.bind(LLVMMetadataKind, LLVMMetadataRef)
def LLVMGetMetadataKind(Metadata:LLVMMetadataRef) -> LLVMMetadataKind: ...
LLVMDisasmContextRef: TypeAlias = ctypes.c_void_p
LLVMOpInfoCallback: TypeAlias = c.CFUNCTYPE[ctypes.c_int32, [ctypes.c_void_p, ctypes.c_uint64, ctypes.c_uint64, ctypes.c_uint64, ctypes.c_uint64, ctypes.c_int32, ctypes.c_void_p]]
LLVMSymbolLookupCallback: TypeAlias = c.CFUNCTYPE[c.POINTER[ctypes.c_char], [ctypes.c_void_p, ctypes.c_uint64, c.POINTER[ctypes.c_uint64], ctypes.c_uint64, c.POINTER[c.POINTER[ctypes.c_char]]]]
@dll.bind(LLVMDisasmContextRef, c.POINTER[ctypes.c_char], ctypes.c_void_p, ctypes.c_int32, LLVMOpInfoCallback, LLVMSymbolLookupCallback)
def LLVMCreateDisasm(TripleName:c.POINTER[ctypes.c_char], DisInfo:ctypes.c_void_p, TagType:int, GetOpInfo:LLVMOpInfoCallback, SymbolLookUp:LLVMSymbolLookupCallback) -> LLVMDisasmContextRef: ...
@dll.bind(LLVMDisasmContextRef, c.POINTER[ctypes.c_char], c.POINTER[ctypes.c_char], ctypes.c_void_p, ctypes.c_int32, LLVMOpInfoCallback, LLVMSymbolLookupCallback)
def LLVMCreateDisasmCPU(Triple:c.POINTER[ctypes.c_char], CPU:c.POINTER[ctypes.c_char], DisInfo:ctypes.c_void_p, TagType:int, GetOpInfo:LLVMOpInfoCallback, SymbolLookUp:LLVMSymbolLookupCallback) -> LLVMDisasmContextRef: ...
@dll.bind(LLVMDisasmContextRef, c.POINTER[ctypes.c_char], c.POINTER[ctypes.c_char], c.POINTER[ctypes.c_char], ctypes.c_void_p, ctypes.c_int32, LLVMOpInfoCallback, LLVMSymbolLookupCallback)
def LLVMCreateDisasmCPUFeatures(Triple:c.POINTER[ctypes.c_char], CPU:c.POINTER[ctypes.c_char], Features:c.POINTER[ctypes.c_char], DisInfo:ctypes.c_void_p, TagType:int, GetOpInfo:LLVMOpInfoCallback, SymbolLookUp:LLVMSymbolLookupCallback) -> LLVMDisasmContextRef: ...
@dll.bind(ctypes.c_int32, LLVMDisasmContextRef, uint64_t)
def LLVMSetDisasmOptions(DC:LLVMDisasmContextRef, Options:uint64_t) -> int: ...
@dll.bind(None, LLVMDisasmContextRef)
def LLVMDisasmDispose(DC:LLVMDisasmContextRef) -> None: ...
@dll.bind(size_t, LLVMDisasmContextRef, c.POINTER[uint8_t], uint64_t, uint64_t, c.POINTER[ctypes.c_char], size_t)
def LLVMDisasmInstruction(DC:LLVMDisasmContextRef, Bytes:c.POINTER[uint8_t], BytesSize:uint64_t, PC:uint64_t, OutString:c.POINTER[ctypes.c_char], OutStringSize:size_t) -> size_t: ...
@c.record
class struct_LLVMOpInfoSymbol1(c.Struct):
  SIZE = 24
  Present: int
  Name: c.POINTER[ctypes.c_char]
  Value: int
struct_LLVMOpInfoSymbol1.register_fields([('Present', uint64_t, 0), ('Name', c.POINTER[ctypes.c_char], 8), ('Value', uint64_t, 16)])
@c.record
class struct_LLVMOpInfo1(c.Struct):
  SIZE = 64
  AddSymbol: struct_LLVMOpInfoSymbol1
  SubtractSymbol: struct_LLVMOpInfoSymbol1
  Value: int
  VariantKind: int
struct_LLVMOpInfo1.register_fields([('AddSymbol', struct_LLVMOpInfoSymbol1, 0), ('SubtractSymbol', struct_LLVMOpInfoSymbol1, 24), ('Value', uint64_t, 48), ('VariantKind', uint64_t, 56)])
class struct_LLVMOpaqueError(c.Struct): pass
LLVMErrorRef: TypeAlias = c.POINTER[struct_LLVMOpaqueError]
LLVMErrorTypeId: TypeAlias = ctypes.c_void_p
@dll.bind(LLVMErrorTypeId, LLVMErrorRef)
def LLVMGetErrorTypeId(Err:LLVMErrorRef) -> LLVMErrorTypeId: ...
@dll.bind(None, LLVMErrorRef)
def LLVMConsumeError(Err:LLVMErrorRef) -> None: ...
@dll.bind(None, LLVMErrorRef)
def LLVMCantFail(Err:LLVMErrorRef) -> None: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMErrorRef)
def LLVMGetErrorMessage(Err:LLVMErrorRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(None, c.POINTER[ctypes.c_char])
def LLVMDisposeErrorMessage(ErrMsg:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(LLVMErrorTypeId)
def LLVMGetStringErrorTypeId() -> LLVMErrorTypeId: ...
@dll.bind(LLVMErrorRef, c.POINTER[ctypes.c_char])
def LLVMCreateStringError(ErrMsg:c.POINTER[ctypes.c_char]) -> LLVMErrorRef: ...
@dll.bind(None)
def LLVMInitializeAArch64TargetInfo() -> None: ...
@dll.bind(None)
def LLVMInitializeAMDGPUTargetInfo() -> None: ...
@dll.bind(None)
def LLVMInitializeARMTargetInfo() -> None: ...
@dll.bind(None)
def LLVMInitializeAVRTargetInfo() -> None: ...
@dll.bind(None)
def LLVMInitializeBPFTargetInfo() -> None: ...
@dll.bind(None)
def LLVMInitializeHexagonTargetInfo() -> None: ...
@dll.bind(None)
def LLVMInitializeLanaiTargetInfo() -> None: ...
@dll.bind(None)
def LLVMInitializeLoongArchTargetInfo() -> None: ...
@dll.bind(None)
def LLVMInitializeMipsTargetInfo() -> None: ...
@dll.bind(None)
def LLVMInitializeMSP430TargetInfo() -> None: ...
@dll.bind(None)
def LLVMInitializeNVPTXTargetInfo() -> None: ...
@dll.bind(None)
def LLVMInitializePowerPCTargetInfo() -> None: ...
@dll.bind(None)
def LLVMInitializeRISCVTargetInfo() -> None: ...
@dll.bind(None)
def LLVMInitializeSparcTargetInfo() -> None: ...
@dll.bind(None)
def LLVMInitializeSPIRVTargetInfo() -> None: ...
@dll.bind(None)
def LLVMInitializeSystemZTargetInfo() -> None: ...
@dll.bind(None)
def LLVMInitializeVETargetInfo() -> None: ...
@dll.bind(None)
def LLVMInitializeWebAssemblyTargetInfo() -> None: ...
@dll.bind(None)
def LLVMInitializeX86TargetInfo() -> None: ...
@dll.bind(None)
def LLVMInitializeXCoreTargetInfo() -> None: ...
@dll.bind(None)
def LLVMInitializeM68kTargetInfo() -> None: ...
@dll.bind(None)
def LLVMInitializeXtensaTargetInfo() -> None: ...
@dll.bind(None)
def LLVMInitializeAArch64Target() -> None: ...
@dll.bind(None)
def LLVMInitializeAMDGPUTarget() -> None: ...
@dll.bind(None)
def LLVMInitializeARMTarget() -> None: ...
@dll.bind(None)
def LLVMInitializeAVRTarget() -> None: ...
@dll.bind(None)
def LLVMInitializeBPFTarget() -> None: ...
@dll.bind(None)
def LLVMInitializeHexagonTarget() -> None: ...
@dll.bind(None)
def LLVMInitializeLanaiTarget() -> None: ...
@dll.bind(None)
def LLVMInitializeLoongArchTarget() -> None: ...
@dll.bind(None)
def LLVMInitializeMipsTarget() -> None: ...
@dll.bind(None)
def LLVMInitializeMSP430Target() -> None: ...
@dll.bind(None)
def LLVMInitializeNVPTXTarget() -> None: ...
@dll.bind(None)
def LLVMInitializePowerPCTarget() -> None: ...
@dll.bind(None)
def LLVMInitializeRISCVTarget() -> None: ...
@dll.bind(None)
def LLVMInitializeSparcTarget() -> None: ...
@dll.bind(None)
def LLVMInitializeSPIRVTarget() -> None: ...
@dll.bind(None)
def LLVMInitializeSystemZTarget() -> None: ...
@dll.bind(None)
def LLVMInitializeVETarget() -> None: ...
@dll.bind(None)
def LLVMInitializeWebAssemblyTarget() -> None: ...
@dll.bind(None)
def LLVMInitializeX86Target() -> None: ...
@dll.bind(None)
def LLVMInitializeXCoreTarget() -> None: ...
@dll.bind(None)
def LLVMInitializeM68kTarget() -> None: ...
@dll.bind(None)
def LLVMInitializeXtensaTarget() -> None: ...
@dll.bind(None)
def LLVMInitializeAArch64TargetMC() -> None: ...
@dll.bind(None)
def LLVMInitializeAMDGPUTargetMC() -> None: ...
@dll.bind(None)
def LLVMInitializeARMTargetMC() -> None: ...
@dll.bind(None)
def LLVMInitializeAVRTargetMC() -> None: ...
@dll.bind(None)
def LLVMInitializeBPFTargetMC() -> None: ...
@dll.bind(None)
def LLVMInitializeHexagonTargetMC() -> None: ...
@dll.bind(None)
def LLVMInitializeLanaiTargetMC() -> None: ...
@dll.bind(None)
def LLVMInitializeLoongArchTargetMC() -> None: ...
@dll.bind(None)
def LLVMInitializeMipsTargetMC() -> None: ...
@dll.bind(None)
def LLVMInitializeMSP430TargetMC() -> None: ...
@dll.bind(None)
def LLVMInitializeNVPTXTargetMC() -> None: ...
@dll.bind(None)
def LLVMInitializePowerPCTargetMC() -> None: ...
@dll.bind(None)
def LLVMInitializeRISCVTargetMC() -> None: ...
@dll.bind(None)
def LLVMInitializeSparcTargetMC() -> None: ...
@dll.bind(None)
def LLVMInitializeSPIRVTargetMC() -> None: ...
@dll.bind(None)
def LLVMInitializeSystemZTargetMC() -> None: ...
@dll.bind(None)
def LLVMInitializeVETargetMC() -> None: ...
@dll.bind(None)
def LLVMInitializeWebAssemblyTargetMC() -> None: ...
@dll.bind(None)
def LLVMInitializeX86TargetMC() -> None: ...
@dll.bind(None)
def LLVMInitializeXCoreTargetMC() -> None: ...
@dll.bind(None)
def LLVMInitializeM68kTargetMC() -> None: ...
@dll.bind(None)
def LLVMInitializeXtensaTargetMC() -> None: ...
@dll.bind(None)
def LLVMInitializeAArch64AsmPrinter() -> None: ...
@dll.bind(None)
def LLVMInitializeAMDGPUAsmPrinter() -> None: ...
@dll.bind(None)
def LLVMInitializeARMAsmPrinter() -> None: ...
@dll.bind(None)
def LLVMInitializeAVRAsmPrinter() -> None: ...
@dll.bind(None)
def LLVMInitializeBPFAsmPrinter() -> None: ...
@dll.bind(None)
def LLVMInitializeHexagonAsmPrinter() -> None: ...
@dll.bind(None)
def LLVMInitializeLanaiAsmPrinter() -> None: ...
@dll.bind(None)
def LLVMInitializeLoongArchAsmPrinter() -> None: ...
@dll.bind(None)
def LLVMInitializeMipsAsmPrinter() -> None: ...
@dll.bind(None)
def LLVMInitializeMSP430AsmPrinter() -> None: ...
@dll.bind(None)
def LLVMInitializeNVPTXAsmPrinter() -> None: ...
@dll.bind(None)
def LLVMInitializePowerPCAsmPrinter() -> None: ...
@dll.bind(None)
def LLVMInitializeRISCVAsmPrinter() -> None: ...
@dll.bind(None)
def LLVMInitializeSparcAsmPrinter() -> None: ...
@dll.bind(None)
def LLVMInitializeSPIRVAsmPrinter() -> None: ...
@dll.bind(None)
def LLVMInitializeSystemZAsmPrinter() -> None: ...
@dll.bind(None)
def LLVMInitializeVEAsmPrinter() -> None: ...
@dll.bind(None)
def LLVMInitializeWebAssemblyAsmPrinter() -> None: ...
@dll.bind(None)
def LLVMInitializeX86AsmPrinter() -> None: ...
@dll.bind(None)
def LLVMInitializeXCoreAsmPrinter() -> None: ...
@dll.bind(None)
def LLVMInitializeM68kAsmPrinter() -> None: ...
@dll.bind(None)
def LLVMInitializeXtensaAsmPrinter() -> None: ...
@dll.bind(None)
def LLVMInitializeAArch64AsmParser() -> None: ...
@dll.bind(None)
def LLVMInitializeAMDGPUAsmParser() -> None: ...
@dll.bind(None)
def LLVMInitializeARMAsmParser() -> None: ...
@dll.bind(None)
def LLVMInitializeAVRAsmParser() -> None: ...
@dll.bind(None)
def LLVMInitializeBPFAsmParser() -> None: ...
@dll.bind(None)
def LLVMInitializeHexagonAsmParser() -> None: ...
@dll.bind(None)
def LLVMInitializeLanaiAsmParser() -> None: ...
@dll.bind(None)
def LLVMInitializeLoongArchAsmParser() -> None: ...
@dll.bind(None)
def LLVMInitializeMipsAsmParser() -> None: ...
@dll.bind(None)
def LLVMInitializeMSP430AsmParser() -> None: ...
@dll.bind(None)
def LLVMInitializePowerPCAsmParser() -> None: ...
@dll.bind(None)
def LLVMInitializeRISCVAsmParser() -> None: ...
@dll.bind(None)
def LLVMInitializeSparcAsmParser() -> None: ...
@dll.bind(None)
def LLVMInitializeSystemZAsmParser() -> None: ...
@dll.bind(None)
def LLVMInitializeVEAsmParser() -> None: ...
@dll.bind(None)
def LLVMInitializeWebAssemblyAsmParser() -> None: ...
@dll.bind(None)
def LLVMInitializeX86AsmParser() -> None: ...
@dll.bind(None)
def LLVMInitializeM68kAsmParser() -> None: ...
@dll.bind(None)
def LLVMInitializeXtensaAsmParser() -> None: ...
@dll.bind(None)
def LLVMInitializeAArch64Disassembler() -> None: ...
@dll.bind(None)
def LLVMInitializeAMDGPUDisassembler() -> None: ...
@dll.bind(None)
def LLVMInitializeARMDisassembler() -> None: ...
@dll.bind(None)
def LLVMInitializeAVRDisassembler() -> None: ...
@dll.bind(None)
def LLVMInitializeBPFDisassembler() -> None: ...
@dll.bind(None)
def LLVMInitializeHexagonDisassembler() -> None: ...
@dll.bind(None)
def LLVMInitializeLanaiDisassembler() -> None: ...
@dll.bind(None)
def LLVMInitializeLoongArchDisassembler() -> None: ...
@dll.bind(None)
def LLVMInitializeMipsDisassembler() -> None: ...
@dll.bind(None)
def LLVMInitializeMSP430Disassembler() -> None: ...
@dll.bind(None)
def LLVMInitializePowerPCDisassembler() -> None: ...
@dll.bind(None)
def LLVMInitializeRISCVDisassembler() -> None: ...
@dll.bind(None)
def LLVMInitializeSparcDisassembler() -> None: ...
@dll.bind(None)
def LLVMInitializeSystemZDisassembler() -> None: ...
@dll.bind(None)
def LLVMInitializeVEDisassembler() -> None: ...
@dll.bind(None)
def LLVMInitializeWebAssemblyDisassembler() -> None: ...
@dll.bind(None)
def LLVMInitializeX86Disassembler() -> None: ...
@dll.bind(None)
def LLVMInitializeXCoreDisassembler() -> None: ...
@dll.bind(None)
def LLVMInitializeM68kDisassembler() -> None: ...
@dll.bind(None)
def LLVMInitializeXtensaDisassembler() -> None: ...
class struct_LLVMOpaqueTargetData(c.Struct): pass
LLVMTargetDataRef: TypeAlias = c.POINTER[struct_LLVMOpaqueTargetData]
@dll.bind(LLVMTargetDataRef, LLVMModuleRef)
def LLVMGetModuleDataLayout(M:LLVMModuleRef) -> LLVMTargetDataRef: ...
@dll.bind(None, LLVMModuleRef, LLVMTargetDataRef)
def LLVMSetModuleDataLayout(M:LLVMModuleRef, DL:LLVMTargetDataRef) -> None: ...
@dll.bind(LLVMTargetDataRef, c.POINTER[ctypes.c_char])
def LLVMCreateTargetData(StringRep:c.POINTER[ctypes.c_char]) -> LLVMTargetDataRef: ...
@dll.bind(None, LLVMTargetDataRef)
def LLVMDisposeTargetData(TD:LLVMTargetDataRef) -> None: ...
class struct_LLVMOpaqueTargetLibraryInfotData(c.Struct): pass
LLVMTargetLibraryInfoRef: TypeAlias = c.POINTER[struct_LLVMOpaqueTargetLibraryInfotData]
@dll.bind(None, LLVMTargetLibraryInfoRef, LLVMPassManagerRef)
def LLVMAddTargetLibraryInfo(TLI:LLVMTargetLibraryInfoRef, PM:LLVMPassManagerRef) -> None: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMTargetDataRef)
def LLVMCopyStringRepOfTargetData(TD:LLVMTargetDataRef) -> c.POINTER[ctypes.c_char]: ...
enum_LLVMByteOrdering: dict[int, str] = {(LLVMBigEndian:=0): 'LLVMBigEndian', (LLVMLittleEndian:=1): 'LLVMLittleEndian'}
@dll.bind(ctypes.c_uint32, LLVMTargetDataRef)
def LLVMByteOrder(TD:LLVMTargetDataRef) -> ctypes.c_uint32: ...
@dll.bind(ctypes.c_uint32, LLVMTargetDataRef)
def LLVMPointerSize(TD:LLVMTargetDataRef) -> int: ...
@dll.bind(ctypes.c_uint32, LLVMTargetDataRef, ctypes.c_uint32)
def LLVMPointerSizeForAS(TD:LLVMTargetDataRef, AS:int) -> int: ...
@dll.bind(LLVMTypeRef, LLVMTargetDataRef)
def LLVMIntPtrType(TD:LLVMTargetDataRef) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMTargetDataRef, ctypes.c_uint32)
def LLVMIntPtrTypeForAS(TD:LLVMTargetDataRef, AS:int) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMContextRef, LLVMTargetDataRef)
def LLVMIntPtrTypeInContext(C:LLVMContextRef, TD:LLVMTargetDataRef) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, LLVMContextRef, LLVMTargetDataRef, ctypes.c_uint32)
def LLVMIntPtrTypeForASInContext(C:LLVMContextRef, TD:LLVMTargetDataRef, AS:int) -> LLVMTypeRef: ...
@dll.bind(ctypes.c_uint64, LLVMTargetDataRef, LLVMTypeRef)
def LLVMSizeOfTypeInBits(TD:LLVMTargetDataRef, Ty:LLVMTypeRef) -> int: ...
@dll.bind(ctypes.c_uint64, LLVMTargetDataRef, LLVMTypeRef)
def LLVMStoreSizeOfType(TD:LLVMTargetDataRef, Ty:LLVMTypeRef) -> int: ...
@dll.bind(ctypes.c_uint64, LLVMTargetDataRef, LLVMTypeRef)
def LLVMABISizeOfType(TD:LLVMTargetDataRef, Ty:LLVMTypeRef) -> int: ...
@dll.bind(ctypes.c_uint32, LLVMTargetDataRef, LLVMTypeRef)
def LLVMABIAlignmentOfType(TD:LLVMTargetDataRef, Ty:LLVMTypeRef) -> int: ...
@dll.bind(ctypes.c_uint32, LLVMTargetDataRef, LLVMTypeRef)
def LLVMCallFrameAlignmentOfType(TD:LLVMTargetDataRef, Ty:LLVMTypeRef) -> int: ...
@dll.bind(ctypes.c_uint32, LLVMTargetDataRef, LLVMTypeRef)
def LLVMPreferredAlignmentOfType(TD:LLVMTargetDataRef, Ty:LLVMTypeRef) -> int: ...
@dll.bind(ctypes.c_uint32, LLVMTargetDataRef, LLVMValueRef)
def LLVMPreferredAlignmentOfGlobal(TD:LLVMTargetDataRef, GlobalVar:LLVMValueRef) -> int: ...
@dll.bind(ctypes.c_uint32, LLVMTargetDataRef, LLVMTypeRef, ctypes.c_uint64)
def LLVMElementAtOffset(TD:LLVMTargetDataRef, StructTy:LLVMTypeRef, Offset:int) -> int: ...
@dll.bind(ctypes.c_uint64, LLVMTargetDataRef, LLVMTypeRef, ctypes.c_uint32)
def LLVMOffsetOfElement(TD:LLVMTargetDataRef, StructTy:LLVMTypeRef, Element:int) -> int: ...
class struct_LLVMTarget(c.Struct): pass
LLVMTargetRef: TypeAlias = c.POINTER[struct_LLVMTarget]
@dll.bind(LLVMTargetRef)
def LLVMGetFirstTarget() -> LLVMTargetRef: ...
@dll.bind(LLVMTargetRef, LLVMTargetRef)
def LLVMGetNextTarget(T:LLVMTargetRef) -> LLVMTargetRef: ...
@dll.bind(LLVMTargetRef, c.POINTER[ctypes.c_char])
def LLVMGetTargetFromName(Name:c.POINTER[ctypes.c_char]) -> LLVMTargetRef: ...
@dll.bind(LLVMBool, c.POINTER[ctypes.c_char], c.POINTER[LLVMTargetRef], c.POINTER[c.POINTER[ctypes.c_char]])
def LLVMGetTargetFromTriple(Triple:c.POINTER[ctypes.c_char], T:c.POINTER[LLVMTargetRef], ErrorMessage:c.POINTER[c.POINTER[ctypes.c_char]]) -> LLVMBool: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMTargetRef)
def LLVMGetTargetName(T:LLVMTargetRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMTargetRef)
def LLVMGetTargetDescription(T:LLVMTargetRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(LLVMBool, LLVMTargetRef)
def LLVMTargetHasJIT(T:LLVMTargetRef) -> LLVMBool: ...
@dll.bind(LLVMBool, LLVMTargetRef)
def LLVMTargetHasTargetMachine(T:LLVMTargetRef) -> LLVMBool: ...
@dll.bind(LLVMBool, LLVMTargetRef)
def LLVMTargetHasAsmBackend(T:LLVMTargetRef) -> LLVMBool: ...
class struct_LLVMOpaqueTargetMachineOptions(c.Struct): pass
LLVMTargetMachineOptionsRef: TypeAlias = c.POINTER[struct_LLVMOpaqueTargetMachineOptions]
@dll.bind(LLVMTargetMachineOptionsRef)
def LLVMCreateTargetMachineOptions() -> LLVMTargetMachineOptionsRef: ...
@dll.bind(None, LLVMTargetMachineOptionsRef)
def LLVMDisposeTargetMachineOptions(Options:LLVMTargetMachineOptionsRef) -> None: ...
@dll.bind(None, LLVMTargetMachineOptionsRef, c.POINTER[ctypes.c_char])
def LLVMTargetMachineOptionsSetCPU(Options:LLVMTargetMachineOptionsRef, CPU:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(None, LLVMTargetMachineOptionsRef, c.POINTER[ctypes.c_char])
def LLVMTargetMachineOptionsSetFeatures(Options:LLVMTargetMachineOptionsRef, Features:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(None, LLVMTargetMachineOptionsRef, c.POINTER[ctypes.c_char])
def LLVMTargetMachineOptionsSetABI(Options:LLVMTargetMachineOptionsRef, ABI:c.POINTER[ctypes.c_char]) -> None: ...
LLVMCodeGenOptLevel: dict[int, str] = {(LLVMCodeGenLevelNone:=0): 'LLVMCodeGenLevelNone', (LLVMCodeGenLevelLess:=1): 'LLVMCodeGenLevelLess', (LLVMCodeGenLevelDefault:=2): 'LLVMCodeGenLevelDefault', (LLVMCodeGenLevelAggressive:=3): 'LLVMCodeGenLevelAggressive'}
@dll.bind(None, LLVMTargetMachineOptionsRef, ctypes.c_uint32)
def LLVMTargetMachineOptionsSetCodeGenOptLevel(Options:LLVMTargetMachineOptionsRef, Level:ctypes.c_uint32) -> None: ...
LLVMRelocMode: dict[int, str] = {(LLVMRelocDefault:=0): 'LLVMRelocDefault', (LLVMRelocStatic:=1): 'LLVMRelocStatic', (LLVMRelocPIC:=2): 'LLVMRelocPIC', (LLVMRelocDynamicNoPic:=3): 'LLVMRelocDynamicNoPic', (LLVMRelocROPI:=4): 'LLVMRelocROPI', (LLVMRelocRWPI:=5): 'LLVMRelocRWPI', (LLVMRelocROPI_RWPI:=6): 'LLVMRelocROPI_RWPI'}
@dll.bind(None, LLVMTargetMachineOptionsRef, ctypes.c_uint32)
def LLVMTargetMachineOptionsSetRelocMode(Options:LLVMTargetMachineOptionsRef, Reloc:ctypes.c_uint32) -> None: ...
LLVMCodeModel: dict[int, str] = {(LLVMCodeModelDefault:=0): 'LLVMCodeModelDefault', (LLVMCodeModelJITDefault:=1): 'LLVMCodeModelJITDefault', (LLVMCodeModelTiny:=2): 'LLVMCodeModelTiny', (LLVMCodeModelSmall:=3): 'LLVMCodeModelSmall', (LLVMCodeModelKernel:=4): 'LLVMCodeModelKernel', (LLVMCodeModelMedium:=5): 'LLVMCodeModelMedium', (LLVMCodeModelLarge:=6): 'LLVMCodeModelLarge'}
@dll.bind(None, LLVMTargetMachineOptionsRef, ctypes.c_uint32)
def LLVMTargetMachineOptionsSetCodeModel(Options:LLVMTargetMachineOptionsRef, CodeModel:ctypes.c_uint32) -> None: ...
class struct_LLVMOpaqueTargetMachine(c.Struct): pass
LLVMTargetMachineRef: TypeAlias = c.POINTER[struct_LLVMOpaqueTargetMachine]
@dll.bind(LLVMTargetMachineRef, LLVMTargetRef, c.POINTER[ctypes.c_char], LLVMTargetMachineOptionsRef)
def LLVMCreateTargetMachineWithOptions(T:LLVMTargetRef, Triple:c.POINTER[ctypes.c_char], Options:LLVMTargetMachineOptionsRef) -> LLVMTargetMachineRef: ...
@dll.bind(LLVMTargetMachineRef, LLVMTargetRef, c.POINTER[ctypes.c_char], c.POINTER[ctypes.c_char], c.POINTER[ctypes.c_char], ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32)
def LLVMCreateTargetMachine(T:LLVMTargetRef, Triple:c.POINTER[ctypes.c_char], CPU:c.POINTER[ctypes.c_char], Features:c.POINTER[ctypes.c_char], Level:ctypes.c_uint32, Reloc:ctypes.c_uint32, CodeModel:ctypes.c_uint32) -> LLVMTargetMachineRef: ...
@dll.bind(None, LLVMTargetMachineRef)
def LLVMDisposeTargetMachine(T:LLVMTargetMachineRef) -> None: ...
@dll.bind(LLVMTargetRef, LLVMTargetMachineRef)
def LLVMGetTargetMachineTarget(T:LLVMTargetMachineRef) -> LLVMTargetRef: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMTargetMachineRef)
def LLVMGetTargetMachineTriple(T:LLVMTargetMachineRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMTargetMachineRef)
def LLVMGetTargetMachineCPU(T:LLVMTargetMachineRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMTargetMachineRef)
def LLVMGetTargetMachineFeatureString(T:LLVMTargetMachineRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(LLVMTargetDataRef, LLVMTargetMachineRef)
def LLVMCreateTargetDataLayout(T:LLVMTargetMachineRef) -> LLVMTargetDataRef: ...
@dll.bind(None, LLVMTargetMachineRef, LLVMBool)
def LLVMSetTargetMachineAsmVerbosity(T:LLVMTargetMachineRef, VerboseAsm:LLVMBool) -> None: ...
@dll.bind(None, LLVMTargetMachineRef, LLVMBool)
def LLVMSetTargetMachineFastISel(T:LLVMTargetMachineRef, Enable:LLVMBool) -> None: ...
@dll.bind(None, LLVMTargetMachineRef, LLVMBool)
def LLVMSetTargetMachineGlobalISel(T:LLVMTargetMachineRef, Enable:LLVMBool) -> None: ...
LLVMGlobalISelAbortMode: dict[int, str] = {(LLVMGlobalISelAbortEnable:=0): 'LLVMGlobalISelAbortEnable', (LLVMGlobalISelAbortDisable:=1): 'LLVMGlobalISelAbortDisable', (LLVMGlobalISelAbortDisableWithDiag:=2): 'LLVMGlobalISelAbortDisableWithDiag'}
@dll.bind(None, LLVMTargetMachineRef, ctypes.c_uint32)
def LLVMSetTargetMachineGlobalISelAbort(T:LLVMTargetMachineRef, Mode:ctypes.c_uint32) -> None: ...
@dll.bind(None, LLVMTargetMachineRef, LLVMBool)
def LLVMSetTargetMachineMachineOutliner(T:LLVMTargetMachineRef, Enable:LLVMBool) -> None: ...
LLVMCodeGenFileType: dict[int, str] = {(LLVMAssemblyFile:=0): 'LLVMAssemblyFile', (LLVMObjectFile:=1): 'LLVMObjectFile'}
@dll.bind(LLVMBool, LLVMTargetMachineRef, LLVMModuleRef, c.POINTER[ctypes.c_char], ctypes.c_uint32, c.POINTER[c.POINTER[ctypes.c_char]])
def LLVMTargetMachineEmitToFile(T:LLVMTargetMachineRef, M:LLVMModuleRef, Filename:c.POINTER[ctypes.c_char], codegen:ctypes.c_uint32, ErrorMessage:c.POINTER[c.POINTER[ctypes.c_char]]) -> LLVMBool: ...
@dll.bind(LLVMBool, LLVMTargetMachineRef, LLVMModuleRef, ctypes.c_uint32, c.POINTER[c.POINTER[ctypes.c_char]], c.POINTER[LLVMMemoryBufferRef])
def LLVMTargetMachineEmitToMemoryBuffer(T:LLVMTargetMachineRef, M:LLVMModuleRef, codegen:ctypes.c_uint32, ErrorMessage:c.POINTER[c.POINTER[ctypes.c_char]], OutMemBuf:c.POINTER[LLVMMemoryBufferRef]) -> LLVMBool: ...
@dll.bind(c.POINTER[ctypes.c_char])
def LLVMGetDefaultTargetTriple() -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[ctypes.c_char], c.POINTER[ctypes.c_char])
def LLVMNormalizeTargetTriple(triple:c.POINTER[ctypes.c_char]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[ctypes.c_char])
def LLVMGetHostCPUName() -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[ctypes.c_char])
def LLVMGetHostCPUFeatures() -> c.POINTER[ctypes.c_char]: ...
@dll.bind(None, LLVMTargetMachineRef, LLVMPassManagerRef)
def LLVMAddAnalysisPasses(T:LLVMTargetMachineRef, PM:LLVMPassManagerRef) -> None: ...
@dll.bind(None)
def LLVMLinkInMCJIT() -> None: ...
@dll.bind(None)
def LLVMLinkInInterpreter() -> None: ...
class struct_LLVMOpaqueGenericValue(c.Struct): pass
LLVMGenericValueRef: TypeAlias = c.POINTER[struct_LLVMOpaqueGenericValue]
class struct_LLVMOpaqueExecutionEngine(c.Struct): pass
LLVMExecutionEngineRef: TypeAlias = c.POINTER[struct_LLVMOpaqueExecutionEngine]
class struct_LLVMOpaqueMCJITMemoryManager(c.Struct): pass
LLVMMCJITMemoryManagerRef: TypeAlias = c.POINTER[struct_LLVMOpaqueMCJITMemoryManager]
@c.record
class struct_LLVMMCJITCompilerOptions(c.Struct):
  SIZE = 24
  OptLevel: int
  CodeModel: int
  NoFramePointerElim: int
  EnableFastISel: int
  MCJMM: c.POINTER[struct_LLVMOpaqueMCJITMemoryManager]
struct_LLVMMCJITCompilerOptions.register_fields([('OptLevel', ctypes.c_uint32, 0), ('CodeModel', ctypes.c_uint32, 4), ('NoFramePointerElim', LLVMBool, 8), ('EnableFastISel', LLVMBool, 12), ('MCJMM', LLVMMCJITMemoryManagerRef, 16)])
@dll.bind(LLVMGenericValueRef, LLVMTypeRef, ctypes.c_uint64, LLVMBool)
def LLVMCreateGenericValueOfInt(Ty:LLVMTypeRef, N:int, IsSigned:LLVMBool) -> LLVMGenericValueRef: ...
@dll.bind(LLVMGenericValueRef, ctypes.c_void_p)
def LLVMCreateGenericValueOfPointer(P:ctypes.c_void_p) -> LLVMGenericValueRef: ...
@dll.bind(LLVMGenericValueRef, LLVMTypeRef, ctypes.c_double)
def LLVMCreateGenericValueOfFloat(Ty:LLVMTypeRef, N:float) -> LLVMGenericValueRef: ...
@dll.bind(ctypes.c_uint32, LLVMGenericValueRef)
def LLVMGenericValueIntWidth(GenValRef:LLVMGenericValueRef) -> int: ...
@dll.bind(ctypes.c_uint64, LLVMGenericValueRef, LLVMBool)
def LLVMGenericValueToInt(GenVal:LLVMGenericValueRef, IsSigned:LLVMBool) -> int: ...
@dll.bind(ctypes.c_void_p, LLVMGenericValueRef)
def LLVMGenericValueToPointer(GenVal:LLVMGenericValueRef) -> ctypes.c_void_p: ...
@dll.bind(ctypes.c_double, LLVMTypeRef, LLVMGenericValueRef)
def LLVMGenericValueToFloat(TyRef:LLVMTypeRef, GenVal:LLVMGenericValueRef) -> float: ...
@dll.bind(None, LLVMGenericValueRef)
def LLVMDisposeGenericValue(GenVal:LLVMGenericValueRef) -> None: ...
@dll.bind(LLVMBool, c.POINTER[LLVMExecutionEngineRef], LLVMModuleRef, c.POINTER[c.POINTER[ctypes.c_char]])
def LLVMCreateExecutionEngineForModule(OutEE:c.POINTER[LLVMExecutionEngineRef], M:LLVMModuleRef, OutError:c.POINTER[c.POINTER[ctypes.c_char]]) -> LLVMBool: ...
@dll.bind(LLVMBool, c.POINTER[LLVMExecutionEngineRef], LLVMModuleRef, c.POINTER[c.POINTER[ctypes.c_char]])
def LLVMCreateInterpreterForModule(OutInterp:c.POINTER[LLVMExecutionEngineRef], M:LLVMModuleRef, OutError:c.POINTER[c.POINTER[ctypes.c_char]]) -> LLVMBool: ...
@dll.bind(LLVMBool, c.POINTER[LLVMExecutionEngineRef], LLVMModuleRef, ctypes.c_uint32, c.POINTER[c.POINTER[ctypes.c_char]])
def LLVMCreateJITCompilerForModule(OutJIT:c.POINTER[LLVMExecutionEngineRef], M:LLVMModuleRef, OptLevel:int, OutError:c.POINTER[c.POINTER[ctypes.c_char]]) -> LLVMBool: ...
@dll.bind(None, c.POINTER[struct_LLVMMCJITCompilerOptions], size_t)
def LLVMInitializeMCJITCompilerOptions(Options:c.POINTER[struct_LLVMMCJITCompilerOptions], SizeOfOptions:size_t) -> None: ...
@dll.bind(LLVMBool, c.POINTER[LLVMExecutionEngineRef], LLVMModuleRef, c.POINTER[struct_LLVMMCJITCompilerOptions], size_t, c.POINTER[c.POINTER[ctypes.c_char]])
def LLVMCreateMCJITCompilerForModule(OutJIT:c.POINTER[LLVMExecutionEngineRef], M:LLVMModuleRef, Options:c.POINTER[struct_LLVMMCJITCompilerOptions], SizeOfOptions:size_t, OutError:c.POINTER[c.POINTER[ctypes.c_char]]) -> LLVMBool: ...
@dll.bind(None, LLVMExecutionEngineRef)
def LLVMDisposeExecutionEngine(EE:LLVMExecutionEngineRef) -> None: ...
@dll.bind(None, LLVMExecutionEngineRef)
def LLVMRunStaticConstructors(EE:LLVMExecutionEngineRef) -> None: ...
@dll.bind(None, LLVMExecutionEngineRef)
def LLVMRunStaticDestructors(EE:LLVMExecutionEngineRef) -> None: ...
@dll.bind(ctypes.c_int32, LLVMExecutionEngineRef, LLVMValueRef, ctypes.c_uint32, c.POINTER[c.POINTER[ctypes.c_char]], c.POINTER[c.POINTER[ctypes.c_char]])
def LLVMRunFunctionAsMain(EE:LLVMExecutionEngineRef, F:LLVMValueRef, ArgC:int, ArgV:c.POINTER[c.POINTER[ctypes.c_char]], EnvP:c.POINTER[c.POINTER[ctypes.c_char]]) -> int: ...
@dll.bind(LLVMGenericValueRef, LLVMExecutionEngineRef, LLVMValueRef, ctypes.c_uint32, c.POINTER[LLVMGenericValueRef])
def LLVMRunFunction(EE:LLVMExecutionEngineRef, F:LLVMValueRef, NumArgs:int, Args:c.POINTER[LLVMGenericValueRef]) -> LLVMGenericValueRef: ...
@dll.bind(None, LLVMExecutionEngineRef, LLVMValueRef)
def LLVMFreeMachineCodeForFunction(EE:LLVMExecutionEngineRef, F:LLVMValueRef) -> None: ...
@dll.bind(None, LLVMExecutionEngineRef, LLVMModuleRef)
def LLVMAddModule(EE:LLVMExecutionEngineRef, M:LLVMModuleRef) -> None: ...
@dll.bind(LLVMBool, LLVMExecutionEngineRef, LLVMModuleRef, c.POINTER[LLVMModuleRef], c.POINTER[c.POINTER[ctypes.c_char]])
def LLVMRemoveModule(EE:LLVMExecutionEngineRef, M:LLVMModuleRef, OutMod:c.POINTER[LLVMModuleRef], OutError:c.POINTER[c.POINTER[ctypes.c_char]]) -> LLVMBool: ...
@dll.bind(LLVMBool, LLVMExecutionEngineRef, c.POINTER[ctypes.c_char], c.POINTER[LLVMValueRef])
def LLVMFindFunction(EE:LLVMExecutionEngineRef, Name:c.POINTER[ctypes.c_char], OutFn:c.POINTER[LLVMValueRef]) -> LLVMBool: ...
@dll.bind(ctypes.c_void_p, LLVMExecutionEngineRef, LLVMValueRef)
def LLVMRecompileAndRelinkFunction(EE:LLVMExecutionEngineRef, Fn:LLVMValueRef) -> ctypes.c_void_p: ...
@dll.bind(LLVMTargetDataRef, LLVMExecutionEngineRef)
def LLVMGetExecutionEngineTargetData(EE:LLVMExecutionEngineRef) -> LLVMTargetDataRef: ...
@dll.bind(LLVMTargetMachineRef, LLVMExecutionEngineRef)
def LLVMGetExecutionEngineTargetMachine(EE:LLVMExecutionEngineRef) -> LLVMTargetMachineRef: ...
@dll.bind(None, LLVMExecutionEngineRef, LLVMValueRef, ctypes.c_void_p)
def LLVMAddGlobalMapping(EE:LLVMExecutionEngineRef, Global:LLVMValueRef, Addr:ctypes.c_void_p) -> None: ...
@dll.bind(ctypes.c_void_p, LLVMExecutionEngineRef, LLVMValueRef)
def LLVMGetPointerToGlobal(EE:LLVMExecutionEngineRef, Global:LLVMValueRef) -> ctypes.c_void_p: ...
@dll.bind(uint64_t, LLVMExecutionEngineRef, c.POINTER[ctypes.c_char])
def LLVMGetGlobalValueAddress(EE:LLVMExecutionEngineRef, Name:c.POINTER[ctypes.c_char]) -> uint64_t: ...
@dll.bind(uint64_t, LLVMExecutionEngineRef, c.POINTER[ctypes.c_char])
def LLVMGetFunctionAddress(EE:LLVMExecutionEngineRef, Name:c.POINTER[ctypes.c_char]) -> uint64_t: ...
@dll.bind(LLVMBool, LLVMExecutionEngineRef, c.POINTER[c.POINTER[ctypes.c_char]])
def LLVMExecutionEngineGetErrMsg(EE:LLVMExecutionEngineRef, OutError:c.POINTER[c.POINTER[ctypes.c_char]]) -> LLVMBool: ...
LLVMMemoryManagerAllocateCodeSectionCallback: TypeAlias = c.CFUNCTYPE[c.POINTER[ctypes.c_ubyte], [ctypes.c_void_p, ctypes.c_uint64, ctypes.c_uint32, ctypes.c_uint32, c.POINTER[ctypes.c_char]]]
LLVMMemoryManagerAllocateDataSectionCallback: TypeAlias = c.CFUNCTYPE[c.POINTER[ctypes.c_ubyte], [ctypes.c_void_p, ctypes.c_uint64, ctypes.c_uint32, ctypes.c_uint32, c.POINTER[ctypes.c_char], ctypes.c_int32]]
LLVMMemoryManagerFinalizeMemoryCallback: TypeAlias = c.CFUNCTYPE[ctypes.c_int32, [ctypes.c_void_p, c.POINTER[c.POINTER[ctypes.c_char]]]]
LLVMMemoryManagerDestroyCallback: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p]]
@dll.bind(LLVMMCJITMemoryManagerRef, ctypes.c_void_p, LLVMMemoryManagerAllocateCodeSectionCallback, LLVMMemoryManagerAllocateDataSectionCallback, LLVMMemoryManagerFinalizeMemoryCallback, LLVMMemoryManagerDestroyCallback)
def LLVMCreateSimpleMCJITMemoryManager(Opaque:ctypes.c_void_p, AllocateCodeSection:LLVMMemoryManagerAllocateCodeSectionCallback, AllocateDataSection:LLVMMemoryManagerAllocateDataSectionCallback, FinalizeMemory:LLVMMemoryManagerFinalizeMemoryCallback, Destroy:LLVMMemoryManagerDestroyCallback) -> LLVMMCJITMemoryManagerRef: ...
@dll.bind(None, LLVMMCJITMemoryManagerRef)
def LLVMDisposeMCJITMemoryManager(MM:LLVMMCJITMemoryManagerRef) -> None: ...
class struct_LLVMOpaqueJITEventListener(c.Struct): pass
LLVMJITEventListenerRef: TypeAlias = c.POINTER[struct_LLVMOpaqueJITEventListener]
@dll.bind(LLVMJITEventListenerRef)
def LLVMCreateGDBRegistrationListener() -> LLVMJITEventListenerRef: ...
@dll.bind(LLVMJITEventListenerRef)
def LLVMCreateIntelJITEventListener() -> LLVMJITEventListenerRef: ...
@dll.bind(LLVMJITEventListenerRef)
def LLVMCreateOProfileJITEventListener() -> LLVMJITEventListenerRef: ...
@dll.bind(LLVMJITEventListenerRef)
def LLVMCreatePerfJITEventListener() -> LLVMJITEventListenerRef: ...
@dll.bind(LLVMBool, LLVMContextRef, LLVMMemoryBufferRef, c.POINTER[LLVMModuleRef], c.POINTER[c.POINTER[ctypes.c_char]])
def LLVMParseIRInContext(ContextRef:LLVMContextRef, MemBuf:LLVMMemoryBufferRef, OutM:c.POINTER[LLVMModuleRef], OutMessage:c.POINTER[c.POINTER[ctypes.c_char]]) -> LLVMBool: ...
class struct_LLVMOrcOpaqueExecutionSession(c.Struct): pass
LLVMOrcExecutionSessionRef: TypeAlias = c.POINTER[struct_LLVMOrcOpaqueExecutionSession]
LLVMOrcErrorReporterFunction: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p, c.POINTER[struct_LLVMOpaqueError]]]
@dll.bind(None, LLVMOrcExecutionSessionRef, LLVMOrcErrorReporterFunction, ctypes.c_void_p)
def LLVMOrcExecutionSessionSetErrorReporter(ES:LLVMOrcExecutionSessionRef, ReportError:LLVMOrcErrorReporterFunction, Ctx:ctypes.c_void_p) -> None: ...
class struct_LLVMOrcOpaqueSymbolStringPool(c.Struct): pass
LLVMOrcSymbolStringPoolRef: TypeAlias = c.POINTER[struct_LLVMOrcOpaqueSymbolStringPool]
@dll.bind(LLVMOrcSymbolStringPoolRef, LLVMOrcExecutionSessionRef)
def LLVMOrcExecutionSessionGetSymbolStringPool(ES:LLVMOrcExecutionSessionRef) -> LLVMOrcSymbolStringPoolRef: ...
@dll.bind(None, LLVMOrcSymbolStringPoolRef)
def LLVMOrcSymbolStringPoolClearDeadEntries(SSP:LLVMOrcSymbolStringPoolRef) -> None: ...
class struct_LLVMOrcOpaqueSymbolStringPoolEntry(c.Struct): pass
LLVMOrcSymbolStringPoolEntryRef: TypeAlias = c.POINTER[struct_LLVMOrcOpaqueSymbolStringPoolEntry]
@dll.bind(LLVMOrcSymbolStringPoolEntryRef, LLVMOrcExecutionSessionRef, c.POINTER[ctypes.c_char])
def LLVMOrcExecutionSessionIntern(ES:LLVMOrcExecutionSessionRef, Name:c.POINTER[ctypes.c_char]) -> LLVMOrcSymbolStringPoolEntryRef: ...
LLVMOrcLookupKind: dict[int, str] = {(LLVMOrcLookupKindStatic:=0): 'LLVMOrcLookupKindStatic', (LLVMOrcLookupKindDLSym:=1): 'LLVMOrcLookupKindDLSym'}
@c.record
class LLVMOrcCJITDylibSearchOrderElement(c.Struct):
  SIZE = 16
  JD: c.POINTER[struct_LLVMOrcOpaqueJITDylib]
  JDLookupFlags: int
class struct_LLVMOrcOpaqueJITDylib(c.Struct): pass
LLVMOrcJITDylibRef: TypeAlias = c.POINTER[struct_LLVMOrcOpaqueJITDylib]
LLVMOrcJITDylibLookupFlags: dict[int, str] = {(LLVMOrcJITDylibLookupFlagsMatchExportedSymbolsOnly:=0): 'LLVMOrcJITDylibLookupFlagsMatchExportedSymbolsOnly', (LLVMOrcJITDylibLookupFlagsMatchAllSymbols:=1): 'LLVMOrcJITDylibLookupFlagsMatchAllSymbols'}
LLVMOrcCJITDylibSearchOrderElement.register_fields([('JD', LLVMOrcJITDylibRef, 0), ('JDLookupFlags', ctypes.c_uint32, 8)])
LLVMOrcCJITDylibSearchOrder: TypeAlias = c.POINTER[LLVMOrcCJITDylibSearchOrderElement]
@c.record
class LLVMOrcCLookupSetElement(c.Struct):
  SIZE = 16
  Name: c.POINTER[struct_LLVMOrcOpaqueSymbolStringPoolEntry]
  LookupFlags: int
LLVMOrcSymbolLookupFlags: dict[int, str] = {(LLVMOrcSymbolLookupFlagsRequiredSymbol:=0): 'LLVMOrcSymbolLookupFlagsRequiredSymbol', (LLVMOrcSymbolLookupFlagsWeaklyReferencedSymbol:=1): 'LLVMOrcSymbolLookupFlagsWeaklyReferencedSymbol'}
LLVMOrcCLookupSetElement.register_fields([('Name', LLVMOrcSymbolStringPoolEntryRef, 0), ('LookupFlags', ctypes.c_uint32, 8)])
LLVMOrcCLookupSet: TypeAlias = c.POINTER[LLVMOrcCLookupSetElement]
@c.record
class LLVMOrcCSymbolMapPair(c.Struct):
  SIZE = 24
  Name: c.POINTER[struct_LLVMOrcOpaqueSymbolStringPoolEntry]
  Sym: LLVMJITEvaluatedSymbol
@c.record
class LLVMJITEvaluatedSymbol(c.Struct):
  SIZE = 16
  Address: int
  Flags: LLVMJITSymbolFlags
LLVMOrcExecutorAddress: TypeAlias = ctypes.c_uint64
@c.record
class LLVMJITSymbolFlags(c.Struct):
  SIZE = 2
  GenericFlags: int
  TargetFlags: int
LLVMJITSymbolFlags.register_fields([('GenericFlags', uint8_t, 0), ('TargetFlags', uint8_t, 1)])
LLVMJITEvaluatedSymbol.register_fields([('Address', LLVMOrcExecutorAddress, 0), ('Flags', LLVMJITSymbolFlags, 8)])
LLVMOrcCSymbolMapPair.register_fields([('Name', LLVMOrcSymbolStringPoolEntryRef, 0), ('Sym', LLVMJITEvaluatedSymbol, 8)])
LLVMOrcExecutionSessionLookupHandleResultFunction: TypeAlias = c.CFUNCTYPE[None, [c.POINTER[struct_LLVMOpaqueError], c.POINTER[LLVMOrcCSymbolMapPair], ctypes.c_uint64, ctypes.c_void_p]]
@dll.bind(None, LLVMOrcExecutionSessionRef, ctypes.c_uint32, LLVMOrcCJITDylibSearchOrder, size_t, LLVMOrcCLookupSet, size_t, LLVMOrcExecutionSessionLookupHandleResultFunction, ctypes.c_void_p)
def LLVMOrcExecutionSessionLookup(ES:LLVMOrcExecutionSessionRef, K:ctypes.c_uint32, SearchOrder:LLVMOrcCJITDylibSearchOrder, SearchOrderSize:size_t, Symbols:LLVMOrcCLookupSet, SymbolsSize:size_t, HandleResult:LLVMOrcExecutionSessionLookupHandleResultFunction, Ctx:ctypes.c_void_p) -> None: ...
@dll.bind(None, LLVMOrcSymbolStringPoolEntryRef)
def LLVMOrcRetainSymbolStringPoolEntry(S:LLVMOrcSymbolStringPoolEntryRef) -> None: ...
@dll.bind(None, LLVMOrcSymbolStringPoolEntryRef)
def LLVMOrcReleaseSymbolStringPoolEntry(S:LLVMOrcSymbolStringPoolEntryRef) -> None: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMOrcSymbolStringPoolEntryRef)
def LLVMOrcSymbolStringPoolEntryStr(S:LLVMOrcSymbolStringPoolEntryRef) -> c.POINTER[ctypes.c_char]: ...
class struct_LLVMOrcOpaqueResourceTracker(c.Struct): pass
LLVMOrcResourceTrackerRef: TypeAlias = c.POINTER[struct_LLVMOrcOpaqueResourceTracker]
@dll.bind(None, LLVMOrcResourceTrackerRef)
def LLVMOrcReleaseResourceTracker(RT:LLVMOrcResourceTrackerRef) -> None: ...
@dll.bind(None, LLVMOrcResourceTrackerRef, LLVMOrcResourceTrackerRef)
def LLVMOrcResourceTrackerTransferTo(SrcRT:LLVMOrcResourceTrackerRef, DstRT:LLVMOrcResourceTrackerRef) -> None: ...
@dll.bind(LLVMErrorRef, LLVMOrcResourceTrackerRef)
def LLVMOrcResourceTrackerRemove(RT:LLVMOrcResourceTrackerRef) -> LLVMErrorRef: ...
class struct_LLVMOrcOpaqueDefinitionGenerator(c.Struct): pass
LLVMOrcDefinitionGeneratorRef: TypeAlias = c.POINTER[struct_LLVMOrcOpaqueDefinitionGenerator]
@dll.bind(None, LLVMOrcDefinitionGeneratorRef)
def LLVMOrcDisposeDefinitionGenerator(DG:LLVMOrcDefinitionGeneratorRef) -> None: ...
class struct_LLVMOrcOpaqueMaterializationUnit(c.Struct): pass
LLVMOrcMaterializationUnitRef: TypeAlias = c.POINTER[struct_LLVMOrcOpaqueMaterializationUnit]
@dll.bind(None, LLVMOrcMaterializationUnitRef)
def LLVMOrcDisposeMaterializationUnit(MU:LLVMOrcMaterializationUnitRef) -> None: ...
@c.record
class LLVMOrcCSymbolFlagsMapPair(c.Struct):
  SIZE = 16
  Name: c.POINTER[struct_LLVMOrcOpaqueSymbolStringPoolEntry]
  Flags: LLVMJITSymbolFlags
LLVMOrcCSymbolFlagsMapPair.register_fields([('Name', LLVMOrcSymbolStringPoolEntryRef, 0), ('Flags', LLVMJITSymbolFlags, 8)])
LLVMOrcCSymbolFlagsMapPairs: TypeAlias = c.POINTER[LLVMOrcCSymbolFlagsMapPair]
class struct_LLVMOrcOpaqueMaterializationResponsibility(c.Struct): pass
LLVMOrcMaterializationUnitMaterializeFunction: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p, c.POINTER[struct_LLVMOrcOpaqueMaterializationResponsibility]]]
LLVMOrcMaterializationUnitDiscardFunction: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p, c.POINTER[struct_LLVMOrcOpaqueJITDylib], c.POINTER[struct_LLVMOrcOpaqueSymbolStringPoolEntry]]]
LLVMOrcMaterializationUnitDestroyFunction: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p]]
@dll.bind(LLVMOrcMaterializationUnitRef, c.POINTER[ctypes.c_char], ctypes.c_void_p, LLVMOrcCSymbolFlagsMapPairs, size_t, LLVMOrcSymbolStringPoolEntryRef, LLVMOrcMaterializationUnitMaterializeFunction, LLVMOrcMaterializationUnitDiscardFunction, LLVMOrcMaterializationUnitDestroyFunction)
def LLVMOrcCreateCustomMaterializationUnit(Name:c.POINTER[ctypes.c_char], Ctx:ctypes.c_void_p, Syms:LLVMOrcCSymbolFlagsMapPairs, NumSyms:size_t, InitSym:LLVMOrcSymbolStringPoolEntryRef, Materialize:LLVMOrcMaterializationUnitMaterializeFunction, Discard:LLVMOrcMaterializationUnitDiscardFunction, Destroy:LLVMOrcMaterializationUnitDestroyFunction) -> LLVMOrcMaterializationUnitRef: ...
LLVMOrcCSymbolMapPairs: TypeAlias = c.POINTER[LLVMOrcCSymbolMapPair]
@dll.bind(LLVMOrcMaterializationUnitRef, LLVMOrcCSymbolMapPairs, size_t)
def LLVMOrcAbsoluteSymbols(Syms:LLVMOrcCSymbolMapPairs, NumPairs:size_t) -> LLVMOrcMaterializationUnitRef: ...
class struct_LLVMOrcOpaqueLazyCallThroughManager(c.Struct): pass
LLVMOrcLazyCallThroughManagerRef: TypeAlias = c.POINTER[struct_LLVMOrcOpaqueLazyCallThroughManager]
class struct_LLVMOrcOpaqueIndirectStubsManager(c.Struct): pass
LLVMOrcIndirectStubsManagerRef: TypeAlias = c.POINTER[struct_LLVMOrcOpaqueIndirectStubsManager]
@c.record
class LLVMOrcCSymbolAliasMapPair(c.Struct):
  SIZE = 24
  Name: c.POINTER[struct_LLVMOrcOpaqueSymbolStringPoolEntry]
  Entry: LLVMOrcCSymbolAliasMapEntry
@c.record
class LLVMOrcCSymbolAliasMapEntry(c.Struct):
  SIZE = 16
  Name: c.POINTER[struct_LLVMOrcOpaqueSymbolStringPoolEntry]
  Flags: LLVMJITSymbolFlags
LLVMOrcCSymbolAliasMapEntry.register_fields([('Name', LLVMOrcSymbolStringPoolEntryRef, 0), ('Flags', LLVMJITSymbolFlags, 8)])
LLVMOrcCSymbolAliasMapPair.register_fields([('Name', LLVMOrcSymbolStringPoolEntryRef, 0), ('Entry', LLVMOrcCSymbolAliasMapEntry, 8)])
LLVMOrcCSymbolAliasMapPairs: TypeAlias = c.POINTER[LLVMOrcCSymbolAliasMapPair]
@dll.bind(LLVMOrcMaterializationUnitRef, LLVMOrcLazyCallThroughManagerRef, LLVMOrcIndirectStubsManagerRef, LLVMOrcJITDylibRef, LLVMOrcCSymbolAliasMapPairs, size_t)
def LLVMOrcLazyReexports(LCTM:LLVMOrcLazyCallThroughManagerRef, ISM:LLVMOrcIndirectStubsManagerRef, SourceRef:LLVMOrcJITDylibRef, CallableAliases:LLVMOrcCSymbolAliasMapPairs, NumPairs:size_t) -> LLVMOrcMaterializationUnitRef: ...
LLVMOrcMaterializationResponsibilityRef: TypeAlias = c.POINTER[struct_LLVMOrcOpaqueMaterializationResponsibility]
@dll.bind(None, LLVMOrcMaterializationResponsibilityRef)
def LLVMOrcDisposeMaterializationResponsibility(MR:LLVMOrcMaterializationResponsibilityRef) -> None: ...
@dll.bind(LLVMOrcJITDylibRef, LLVMOrcMaterializationResponsibilityRef)
def LLVMOrcMaterializationResponsibilityGetTargetDylib(MR:LLVMOrcMaterializationResponsibilityRef) -> LLVMOrcJITDylibRef: ...
@dll.bind(LLVMOrcExecutionSessionRef, LLVMOrcMaterializationResponsibilityRef)
def LLVMOrcMaterializationResponsibilityGetExecutionSession(MR:LLVMOrcMaterializationResponsibilityRef) -> LLVMOrcExecutionSessionRef: ...
@dll.bind(LLVMOrcCSymbolFlagsMapPairs, LLVMOrcMaterializationResponsibilityRef, c.POINTER[size_t])
def LLVMOrcMaterializationResponsibilityGetSymbols(MR:LLVMOrcMaterializationResponsibilityRef, NumPairs:c.POINTER[size_t]) -> LLVMOrcCSymbolFlagsMapPairs: ...
@dll.bind(None, LLVMOrcCSymbolFlagsMapPairs)
def LLVMOrcDisposeCSymbolFlagsMap(Pairs:LLVMOrcCSymbolFlagsMapPairs) -> None: ...
@dll.bind(LLVMOrcSymbolStringPoolEntryRef, LLVMOrcMaterializationResponsibilityRef)
def LLVMOrcMaterializationResponsibilityGetInitializerSymbol(MR:LLVMOrcMaterializationResponsibilityRef) -> LLVMOrcSymbolStringPoolEntryRef: ...
@dll.bind(c.POINTER[LLVMOrcSymbolStringPoolEntryRef], LLVMOrcMaterializationResponsibilityRef, c.POINTER[size_t])
def LLVMOrcMaterializationResponsibilityGetRequestedSymbols(MR:LLVMOrcMaterializationResponsibilityRef, NumSymbols:c.POINTER[size_t]) -> c.POINTER[LLVMOrcSymbolStringPoolEntryRef]: ...
@dll.bind(None, c.POINTER[LLVMOrcSymbolStringPoolEntryRef])
def LLVMOrcDisposeSymbols(Symbols:c.POINTER[LLVMOrcSymbolStringPoolEntryRef]) -> None: ...
@dll.bind(LLVMErrorRef, LLVMOrcMaterializationResponsibilityRef, LLVMOrcCSymbolMapPairs, size_t)
def LLVMOrcMaterializationResponsibilityNotifyResolved(MR:LLVMOrcMaterializationResponsibilityRef, Symbols:LLVMOrcCSymbolMapPairs, NumPairs:size_t) -> LLVMErrorRef: ...
@c.record
class LLVMOrcCSymbolDependenceGroup(c.Struct):
  SIZE = 32
  Symbols: LLVMOrcCSymbolsList
  Dependencies: c.POINTER[LLVMOrcCDependenceMapPair]
  NumDependencies: int
@c.record
class LLVMOrcCSymbolsList(c.Struct):
  SIZE = 16
  Symbols: c.POINTER[c.POINTER[struct_LLVMOrcOpaqueSymbolStringPoolEntry]]
  Length: int
LLVMOrcCSymbolsList.register_fields([('Symbols', c.POINTER[LLVMOrcSymbolStringPoolEntryRef], 0), ('Length', size_t, 8)])
@c.record
class LLVMOrcCDependenceMapPair(c.Struct):
  SIZE = 24
  JD: c.POINTER[struct_LLVMOrcOpaqueJITDylib]
  Names: LLVMOrcCSymbolsList
LLVMOrcCDependenceMapPair.register_fields([('JD', LLVMOrcJITDylibRef, 0), ('Names', LLVMOrcCSymbolsList, 8)])
LLVMOrcCDependenceMapPairs: TypeAlias = c.POINTER[LLVMOrcCDependenceMapPair]
LLVMOrcCSymbolDependenceGroup.register_fields([('Symbols', LLVMOrcCSymbolsList, 0), ('Dependencies', LLVMOrcCDependenceMapPairs, 16), ('NumDependencies', size_t, 24)])
@dll.bind(LLVMErrorRef, LLVMOrcMaterializationResponsibilityRef, c.POINTER[LLVMOrcCSymbolDependenceGroup], size_t)
def LLVMOrcMaterializationResponsibilityNotifyEmitted(MR:LLVMOrcMaterializationResponsibilityRef, SymbolDepGroups:c.POINTER[LLVMOrcCSymbolDependenceGroup], NumSymbolDepGroups:size_t) -> LLVMErrorRef: ...
@dll.bind(LLVMErrorRef, LLVMOrcMaterializationResponsibilityRef, LLVMOrcCSymbolFlagsMapPairs, size_t)
def LLVMOrcMaterializationResponsibilityDefineMaterializing(MR:LLVMOrcMaterializationResponsibilityRef, Pairs:LLVMOrcCSymbolFlagsMapPairs, NumPairs:size_t) -> LLVMErrorRef: ...
@dll.bind(None, LLVMOrcMaterializationResponsibilityRef)
def LLVMOrcMaterializationResponsibilityFailMaterialization(MR:LLVMOrcMaterializationResponsibilityRef) -> None: ...
@dll.bind(LLVMErrorRef, LLVMOrcMaterializationResponsibilityRef, LLVMOrcMaterializationUnitRef)
def LLVMOrcMaterializationResponsibilityReplace(MR:LLVMOrcMaterializationResponsibilityRef, MU:LLVMOrcMaterializationUnitRef) -> LLVMErrorRef: ...
@dll.bind(LLVMErrorRef, LLVMOrcMaterializationResponsibilityRef, c.POINTER[LLVMOrcSymbolStringPoolEntryRef], size_t, c.POINTER[LLVMOrcMaterializationResponsibilityRef])
def LLVMOrcMaterializationResponsibilityDelegate(MR:LLVMOrcMaterializationResponsibilityRef, Symbols:c.POINTER[LLVMOrcSymbolStringPoolEntryRef], NumSymbols:size_t, Result:c.POINTER[LLVMOrcMaterializationResponsibilityRef]) -> LLVMErrorRef: ...
@dll.bind(LLVMOrcJITDylibRef, LLVMOrcExecutionSessionRef, c.POINTER[ctypes.c_char])
def LLVMOrcExecutionSessionCreateBareJITDylib(ES:LLVMOrcExecutionSessionRef, Name:c.POINTER[ctypes.c_char]) -> LLVMOrcJITDylibRef: ...
@dll.bind(LLVMErrorRef, LLVMOrcExecutionSessionRef, c.POINTER[LLVMOrcJITDylibRef], c.POINTER[ctypes.c_char])
def LLVMOrcExecutionSessionCreateJITDylib(ES:LLVMOrcExecutionSessionRef, Result:c.POINTER[LLVMOrcJITDylibRef], Name:c.POINTER[ctypes.c_char]) -> LLVMErrorRef: ...
@dll.bind(LLVMOrcJITDylibRef, LLVMOrcExecutionSessionRef, c.POINTER[ctypes.c_char])
def LLVMOrcExecutionSessionGetJITDylibByName(ES:LLVMOrcExecutionSessionRef, Name:c.POINTER[ctypes.c_char]) -> LLVMOrcJITDylibRef: ...
@dll.bind(LLVMOrcResourceTrackerRef, LLVMOrcJITDylibRef)
def LLVMOrcJITDylibCreateResourceTracker(JD:LLVMOrcJITDylibRef) -> LLVMOrcResourceTrackerRef: ...
@dll.bind(LLVMOrcResourceTrackerRef, LLVMOrcJITDylibRef)
def LLVMOrcJITDylibGetDefaultResourceTracker(JD:LLVMOrcJITDylibRef) -> LLVMOrcResourceTrackerRef: ...
@dll.bind(LLVMErrorRef, LLVMOrcJITDylibRef, LLVMOrcMaterializationUnitRef)
def LLVMOrcJITDylibDefine(JD:LLVMOrcJITDylibRef, MU:LLVMOrcMaterializationUnitRef) -> LLVMErrorRef: ...
@dll.bind(LLVMErrorRef, LLVMOrcJITDylibRef)
def LLVMOrcJITDylibClear(JD:LLVMOrcJITDylibRef) -> LLVMErrorRef: ...
@dll.bind(None, LLVMOrcJITDylibRef, LLVMOrcDefinitionGeneratorRef)
def LLVMOrcJITDylibAddGenerator(JD:LLVMOrcJITDylibRef, DG:LLVMOrcDefinitionGeneratorRef) -> None: ...
class struct_LLVMOrcOpaqueLookupState(c.Struct): pass
LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction: TypeAlias = c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueError], [c.POINTER[struct_LLVMOrcOpaqueDefinitionGenerator], ctypes.c_void_p, c.POINTER[c.POINTER[struct_LLVMOrcOpaqueLookupState]], ctypes.c_uint32, c.POINTER[struct_LLVMOrcOpaqueJITDylib], ctypes.c_uint32, c.POINTER[LLVMOrcCLookupSetElement], ctypes.c_uint64]]
LLVMOrcDisposeCAPIDefinitionGeneratorFunction: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p]]
@dll.bind(LLVMOrcDefinitionGeneratorRef, LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction, ctypes.c_void_p, LLVMOrcDisposeCAPIDefinitionGeneratorFunction)
def LLVMOrcCreateCustomCAPIDefinitionGenerator(F:LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction, Ctx:ctypes.c_void_p, Dispose:LLVMOrcDisposeCAPIDefinitionGeneratorFunction) -> LLVMOrcDefinitionGeneratorRef: ...
LLVMOrcLookupStateRef: TypeAlias = c.POINTER[struct_LLVMOrcOpaqueLookupState]
@dll.bind(None, LLVMOrcLookupStateRef, LLVMErrorRef)
def LLVMOrcLookupStateContinueLookup(S:LLVMOrcLookupStateRef, Err:LLVMErrorRef) -> None: ...
LLVMOrcSymbolPredicate: TypeAlias = c.CFUNCTYPE[ctypes.c_int32, [ctypes.c_void_p, c.POINTER[struct_LLVMOrcOpaqueSymbolStringPoolEntry]]]
@dll.bind(LLVMErrorRef, c.POINTER[LLVMOrcDefinitionGeneratorRef], ctypes.c_char, LLVMOrcSymbolPredicate, ctypes.c_void_p)
def LLVMOrcCreateDynamicLibrarySearchGeneratorForProcess(Result:c.POINTER[LLVMOrcDefinitionGeneratorRef], GlobalPrefx:bytes, Filter:LLVMOrcSymbolPredicate, FilterCtx:ctypes.c_void_p) -> LLVMErrorRef: ...
@dll.bind(LLVMErrorRef, c.POINTER[LLVMOrcDefinitionGeneratorRef], c.POINTER[ctypes.c_char], ctypes.c_char, LLVMOrcSymbolPredicate, ctypes.c_void_p)
def LLVMOrcCreateDynamicLibrarySearchGeneratorForPath(Result:c.POINTER[LLVMOrcDefinitionGeneratorRef], FileName:c.POINTER[ctypes.c_char], GlobalPrefix:bytes, Filter:LLVMOrcSymbolPredicate, FilterCtx:ctypes.c_void_p) -> LLVMErrorRef: ...
class struct_LLVMOrcOpaqueObjectLayer(c.Struct): pass
LLVMOrcObjectLayerRef: TypeAlias = c.POINTER[struct_LLVMOrcOpaqueObjectLayer]
@dll.bind(LLVMErrorRef, c.POINTER[LLVMOrcDefinitionGeneratorRef], LLVMOrcObjectLayerRef, c.POINTER[ctypes.c_char], c.POINTER[ctypes.c_char])
def LLVMOrcCreateStaticLibrarySearchGeneratorForPath(Result:c.POINTER[LLVMOrcDefinitionGeneratorRef], ObjLayer:LLVMOrcObjectLayerRef, FileName:c.POINTER[ctypes.c_char], TargetTriple:c.POINTER[ctypes.c_char]) -> LLVMErrorRef: ...
class struct_LLVMOrcOpaqueThreadSafeContext(c.Struct): pass
LLVMOrcThreadSafeContextRef: TypeAlias = c.POINTER[struct_LLVMOrcOpaqueThreadSafeContext]
@dll.bind(LLVMOrcThreadSafeContextRef)
def LLVMOrcCreateNewThreadSafeContext() -> LLVMOrcThreadSafeContextRef: ...
@dll.bind(LLVMContextRef, LLVMOrcThreadSafeContextRef)
def LLVMOrcThreadSafeContextGetContext(TSCtx:LLVMOrcThreadSafeContextRef) -> LLVMContextRef: ...
@dll.bind(None, LLVMOrcThreadSafeContextRef)
def LLVMOrcDisposeThreadSafeContext(TSCtx:LLVMOrcThreadSafeContextRef) -> None: ...
class struct_LLVMOrcOpaqueThreadSafeModule(c.Struct): pass
LLVMOrcThreadSafeModuleRef: TypeAlias = c.POINTER[struct_LLVMOrcOpaqueThreadSafeModule]
@dll.bind(LLVMOrcThreadSafeModuleRef, LLVMModuleRef, LLVMOrcThreadSafeContextRef)
def LLVMOrcCreateNewThreadSafeModule(M:LLVMModuleRef, TSCtx:LLVMOrcThreadSafeContextRef) -> LLVMOrcThreadSafeModuleRef: ...
@dll.bind(None, LLVMOrcThreadSafeModuleRef)
def LLVMOrcDisposeThreadSafeModule(TSM:LLVMOrcThreadSafeModuleRef) -> None: ...
LLVMOrcGenericIRModuleOperationFunction: TypeAlias = c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueError], [ctypes.c_void_p, c.POINTER[struct_LLVMOpaqueModule]]]
@dll.bind(LLVMErrorRef, LLVMOrcThreadSafeModuleRef, LLVMOrcGenericIRModuleOperationFunction, ctypes.c_void_p)
def LLVMOrcThreadSafeModuleWithModuleDo(TSM:LLVMOrcThreadSafeModuleRef, F:LLVMOrcGenericIRModuleOperationFunction, Ctx:ctypes.c_void_p) -> LLVMErrorRef: ...
class struct_LLVMOrcOpaqueJITTargetMachineBuilder(c.Struct): pass
LLVMOrcJITTargetMachineBuilderRef: TypeAlias = c.POINTER[struct_LLVMOrcOpaqueJITTargetMachineBuilder]
@dll.bind(LLVMErrorRef, c.POINTER[LLVMOrcJITTargetMachineBuilderRef])
def LLVMOrcJITTargetMachineBuilderDetectHost(Result:c.POINTER[LLVMOrcJITTargetMachineBuilderRef]) -> LLVMErrorRef: ...
@dll.bind(LLVMOrcJITTargetMachineBuilderRef, LLVMTargetMachineRef)
def LLVMOrcJITTargetMachineBuilderCreateFromTargetMachine(TM:LLVMTargetMachineRef) -> LLVMOrcJITTargetMachineBuilderRef: ...
@dll.bind(None, LLVMOrcJITTargetMachineBuilderRef)
def LLVMOrcDisposeJITTargetMachineBuilder(JTMB:LLVMOrcJITTargetMachineBuilderRef) -> None: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMOrcJITTargetMachineBuilderRef)
def LLVMOrcJITTargetMachineBuilderGetTargetTriple(JTMB:LLVMOrcJITTargetMachineBuilderRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(None, LLVMOrcJITTargetMachineBuilderRef, c.POINTER[ctypes.c_char])
def LLVMOrcJITTargetMachineBuilderSetTargetTriple(JTMB:LLVMOrcJITTargetMachineBuilderRef, TargetTriple:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(LLVMErrorRef, LLVMOrcObjectLayerRef, LLVMOrcJITDylibRef, LLVMMemoryBufferRef)
def LLVMOrcObjectLayerAddObjectFile(ObjLayer:LLVMOrcObjectLayerRef, JD:LLVMOrcJITDylibRef, ObjBuffer:LLVMMemoryBufferRef) -> LLVMErrorRef: ...
@dll.bind(LLVMErrorRef, LLVMOrcObjectLayerRef, LLVMOrcResourceTrackerRef, LLVMMemoryBufferRef)
def LLVMOrcObjectLayerAddObjectFileWithRT(ObjLayer:LLVMOrcObjectLayerRef, RT:LLVMOrcResourceTrackerRef, ObjBuffer:LLVMMemoryBufferRef) -> LLVMErrorRef: ...
@dll.bind(None, LLVMOrcObjectLayerRef, LLVMOrcMaterializationResponsibilityRef, LLVMMemoryBufferRef)
def LLVMOrcObjectLayerEmit(ObjLayer:LLVMOrcObjectLayerRef, R:LLVMOrcMaterializationResponsibilityRef, ObjBuffer:LLVMMemoryBufferRef) -> None: ...
@dll.bind(None, LLVMOrcObjectLayerRef)
def LLVMOrcDisposeObjectLayer(ObjLayer:LLVMOrcObjectLayerRef) -> None: ...
class struct_LLVMOrcOpaqueIRTransformLayer(c.Struct): pass
LLVMOrcIRTransformLayerRef: TypeAlias = c.POINTER[struct_LLVMOrcOpaqueIRTransformLayer]
@dll.bind(None, LLVMOrcIRTransformLayerRef, LLVMOrcMaterializationResponsibilityRef, LLVMOrcThreadSafeModuleRef)
def LLVMOrcIRTransformLayerEmit(IRTransformLayer:LLVMOrcIRTransformLayerRef, MR:LLVMOrcMaterializationResponsibilityRef, TSM:LLVMOrcThreadSafeModuleRef) -> None: ...
LLVMOrcIRTransformLayerTransformFunction: TypeAlias = c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueError], [ctypes.c_void_p, c.POINTER[c.POINTER[struct_LLVMOrcOpaqueThreadSafeModule]], c.POINTER[struct_LLVMOrcOpaqueMaterializationResponsibility]]]
@dll.bind(None, LLVMOrcIRTransformLayerRef, LLVMOrcIRTransformLayerTransformFunction, ctypes.c_void_p)
def LLVMOrcIRTransformLayerSetTransform(IRTransformLayer:LLVMOrcIRTransformLayerRef, TransformFunction:LLVMOrcIRTransformLayerTransformFunction, Ctx:ctypes.c_void_p) -> None: ...
class struct_LLVMOrcOpaqueObjectTransformLayer(c.Struct): pass
LLVMOrcObjectTransformLayerRef: TypeAlias = c.POINTER[struct_LLVMOrcOpaqueObjectTransformLayer]
LLVMOrcObjectTransformLayerTransformFunction: TypeAlias = c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueError], [ctypes.c_void_p, c.POINTER[c.POINTER[struct_LLVMOpaqueMemoryBuffer]]]]
@dll.bind(None, LLVMOrcObjectTransformLayerRef, LLVMOrcObjectTransformLayerTransformFunction, ctypes.c_void_p)
def LLVMOrcObjectTransformLayerSetTransform(ObjTransformLayer:LLVMOrcObjectTransformLayerRef, TransformFunction:LLVMOrcObjectTransformLayerTransformFunction, Ctx:ctypes.c_void_p) -> None: ...
@dll.bind(LLVMOrcIndirectStubsManagerRef, c.POINTER[ctypes.c_char])
def LLVMOrcCreateLocalIndirectStubsManager(TargetTriple:c.POINTER[ctypes.c_char]) -> LLVMOrcIndirectStubsManagerRef: ...
@dll.bind(None, LLVMOrcIndirectStubsManagerRef)
def LLVMOrcDisposeIndirectStubsManager(ISM:LLVMOrcIndirectStubsManagerRef) -> None: ...
LLVMOrcJITTargetAddress: TypeAlias = ctypes.c_uint64
@dll.bind(LLVMErrorRef, c.POINTER[ctypes.c_char], LLVMOrcExecutionSessionRef, LLVMOrcJITTargetAddress, c.POINTER[LLVMOrcLazyCallThroughManagerRef])
def LLVMOrcCreateLocalLazyCallThroughManager(TargetTriple:c.POINTER[ctypes.c_char], ES:LLVMOrcExecutionSessionRef, ErrorHandlerAddr:LLVMOrcJITTargetAddress, LCTM:c.POINTER[LLVMOrcLazyCallThroughManagerRef]) -> LLVMErrorRef: ...
@dll.bind(None, LLVMOrcLazyCallThroughManagerRef)
def LLVMOrcDisposeLazyCallThroughManager(LCTM:LLVMOrcLazyCallThroughManagerRef) -> None: ...
class struct_LLVMOrcOpaqueDumpObjects(c.Struct): pass
LLVMOrcDumpObjectsRef: TypeAlias = c.POINTER[struct_LLVMOrcOpaqueDumpObjects]
@dll.bind(LLVMOrcDumpObjectsRef, c.POINTER[ctypes.c_char], c.POINTER[ctypes.c_char])
def LLVMOrcCreateDumpObjects(DumpDir:c.POINTER[ctypes.c_char], IdentifierOverride:c.POINTER[ctypes.c_char]) -> LLVMOrcDumpObjectsRef: ...
@dll.bind(None, LLVMOrcDumpObjectsRef)
def LLVMOrcDisposeDumpObjects(DumpObjects:LLVMOrcDumpObjectsRef) -> None: ...
@dll.bind(LLVMErrorRef, LLVMOrcDumpObjectsRef, c.POINTER[LLVMMemoryBufferRef])
def LLVMOrcDumpObjects_CallOperator(DumpObjects:LLVMOrcDumpObjectsRef, ObjBuffer:c.POINTER[LLVMMemoryBufferRef]) -> LLVMErrorRef: ...
LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction: TypeAlias = c.CFUNCTYPE[c.POINTER[struct_LLVMOrcOpaqueObjectLayer], [ctypes.c_void_p, c.POINTER[struct_LLVMOrcOpaqueExecutionSession], c.POINTER[ctypes.c_char]]]
class struct_LLVMOrcOpaqueLLJITBuilder(c.Struct): pass
LLVMOrcLLJITBuilderRef: TypeAlias = c.POINTER[struct_LLVMOrcOpaqueLLJITBuilder]
class struct_LLVMOrcOpaqueLLJIT(c.Struct): pass
LLVMOrcLLJITRef: TypeAlias = c.POINTER[struct_LLVMOrcOpaqueLLJIT]
@dll.bind(LLVMOrcLLJITBuilderRef)
def LLVMOrcCreateLLJITBuilder() -> LLVMOrcLLJITBuilderRef: ...
@dll.bind(None, LLVMOrcLLJITBuilderRef)
def LLVMOrcDisposeLLJITBuilder(Builder:LLVMOrcLLJITBuilderRef) -> None: ...
@dll.bind(None, LLVMOrcLLJITBuilderRef, LLVMOrcJITTargetMachineBuilderRef)
def LLVMOrcLLJITBuilderSetJITTargetMachineBuilder(Builder:LLVMOrcLLJITBuilderRef, JTMB:LLVMOrcJITTargetMachineBuilderRef) -> None: ...
@dll.bind(None, LLVMOrcLLJITBuilderRef, LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction, ctypes.c_void_p)
def LLVMOrcLLJITBuilderSetObjectLinkingLayerCreator(Builder:LLVMOrcLLJITBuilderRef, F:LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction, Ctx:ctypes.c_void_p) -> None: ...
@dll.bind(LLVMErrorRef, c.POINTER[LLVMOrcLLJITRef], LLVMOrcLLJITBuilderRef)
def LLVMOrcCreateLLJIT(Result:c.POINTER[LLVMOrcLLJITRef], Builder:LLVMOrcLLJITBuilderRef) -> LLVMErrorRef: ...
@dll.bind(LLVMErrorRef, LLVMOrcLLJITRef)
def LLVMOrcDisposeLLJIT(J:LLVMOrcLLJITRef) -> LLVMErrorRef: ...
@dll.bind(LLVMOrcExecutionSessionRef, LLVMOrcLLJITRef)
def LLVMOrcLLJITGetExecutionSession(J:LLVMOrcLLJITRef) -> LLVMOrcExecutionSessionRef: ...
@dll.bind(LLVMOrcJITDylibRef, LLVMOrcLLJITRef)
def LLVMOrcLLJITGetMainJITDylib(J:LLVMOrcLLJITRef) -> LLVMOrcJITDylibRef: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMOrcLLJITRef)
def LLVMOrcLLJITGetTripleString(J:LLVMOrcLLJITRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(ctypes.c_char, LLVMOrcLLJITRef)
def LLVMOrcLLJITGetGlobalPrefix(J:LLVMOrcLLJITRef) -> bytes: ...
@dll.bind(LLVMOrcSymbolStringPoolEntryRef, LLVMOrcLLJITRef, c.POINTER[ctypes.c_char])
def LLVMOrcLLJITMangleAndIntern(J:LLVMOrcLLJITRef, UnmangledName:c.POINTER[ctypes.c_char]) -> LLVMOrcSymbolStringPoolEntryRef: ...
@dll.bind(LLVMErrorRef, LLVMOrcLLJITRef, LLVMOrcJITDylibRef, LLVMMemoryBufferRef)
def LLVMOrcLLJITAddObjectFile(J:LLVMOrcLLJITRef, JD:LLVMOrcJITDylibRef, ObjBuffer:LLVMMemoryBufferRef) -> LLVMErrorRef: ...
@dll.bind(LLVMErrorRef, LLVMOrcLLJITRef, LLVMOrcResourceTrackerRef, LLVMMemoryBufferRef)
def LLVMOrcLLJITAddObjectFileWithRT(J:LLVMOrcLLJITRef, RT:LLVMOrcResourceTrackerRef, ObjBuffer:LLVMMemoryBufferRef) -> LLVMErrorRef: ...
@dll.bind(LLVMErrorRef, LLVMOrcLLJITRef, LLVMOrcJITDylibRef, LLVMOrcThreadSafeModuleRef)
def LLVMOrcLLJITAddLLVMIRModule(J:LLVMOrcLLJITRef, JD:LLVMOrcJITDylibRef, TSM:LLVMOrcThreadSafeModuleRef) -> LLVMErrorRef: ...
@dll.bind(LLVMErrorRef, LLVMOrcLLJITRef, LLVMOrcResourceTrackerRef, LLVMOrcThreadSafeModuleRef)
def LLVMOrcLLJITAddLLVMIRModuleWithRT(J:LLVMOrcLLJITRef, JD:LLVMOrcResourceTrackerRef, TSM:LLVMOrcThreadSafeModuleRef) -> LLVMErrorRef: ...
@dll.bind(LLVMErrorRef, LLVMOrcLLJITRef, c.POINTER[LLVMOrcExecutorAddress], c.POINTER[ctypes.c_char])
def LLVMOrcLLJITLookup(J:LLVMOrcLLJITRef, Result:c.POINTER[LLVMOrcExecutorAddress], Name:c.POINTER[ctypes.c_char]) -> LLVMErrorRef: ...
@dll.bind(LLVMOrcObjectLayerRef, LLVMOrcLLJITRef)
def LLVMOrcLLJITGetObjLinkingLayer(J:LLVMOrcLLJITRef) -> LLVMOrcObjectLayerRef: ...
@dll.bind(LLVMOrcObjectTransformLayerRef, LLVMOrcLLJITRef)
def LLVMOrcLLJITGetObjTransformLayer(J:LLVMOrcLLJITRef) -> LLVMOrcObjectTransformLayerRef: ...
@dll.bind(LLVMOrcIRTransformLayerRef, LLVMOrcLLJITRef)
def LLVMOrcLLJITGetIRTransformLayer(J:LLVMOrcLLJITRef) -> LLVMOrcIRTransformLayerRef: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMOrcLLJITRef)
def LLVMOrcLLJITGetDataLayoutStr(J:LLVMOrcLLJITRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(LLVMErrorRef, LLVMOrcLLJITRef)
def LLVMOrcLLJITEnableDebugSupport(J:LLVMOrcLLJITRef) -> LLVMErrorRef: ...
LLVMLinkerMode: dict[int, str] = {(LLVMLinkerDestroySource:=0): 'LLVMLinkerDestroySource', (LLVMLinkerPreserveSource_Removed:=1): 'LLVMLinkerPreserveSource_Removed'}
@dll.bind(LLVMBool, LLVMModuleRef, LLVMModuleRef)
def LLVMLinkModules2(Dest:LLVMModuleRef, Src:LLVMModuleRef) -> LLVMBool: ...
class struct_LLVMOpaqueSectionIterator(c.Struct): pass
LLVMSectionIteratorRef: TypeAlias = c.POINTER[struct_LLVMOpaqueSectionIterator]
class struct_LLVMOpaqueSymbolIterator(c.Struct): pass
LLVMSymbolIteratorRef: TypeAlias = c.POINTER[struct_LLVMOpaqueSymbolIterator]
class struct_LLVMOpaqueRelocationIterator(c.Struct): pass
LLVMRelocationIteratorRef: TypeAlias = c.POINTER[struct_LLVMOpaqueRelocationIterator]
LLVMBinaryType: dict[int, str] = {(LLVMBinaryTypeArchive:=0): 'LLVMBinaryTypeArchive', (LLVMBinaryTypeMachOUniversalBinary:=1): 'LLVMBinaryTypeMachOUniversalBinary', (LLVMBinaryTypeCOFFImportFile:=2): 'LLVMBinaryTypeCOFFImportFile', (LLVMBinaryTypeIR:=3): 'LLVMBinaryTypeIR', (LLVMBinaryTypeWinRes:=4): 'LLVMBinaryTypeWinRes', (LLVMBinaryTypeCOFF:=5): 'LLVMBinaryTypeCOFF', (LLVMBinaryTypeELF32L:=6): 'LLVMBinaryTypeELF32L', (LLVMBinaryTypeELF32B:=7): 'LLVMBinaryTypeELF32B', (LLVMBinaryTypeELF64L:=8): 'LLVMBinaryTypeELF64L', (LLVMBinaryTypeELF64B:=9): 'LLVMBinaryTypeELF64B', (LLVMBinaryTypeMachO32L:=10): 'LLVMBinaryTypeMachO32L', (LLVMBinaryTypeMachO32B:=11): 'LLVMBinaryTypeMachO32B', (LLVMBinaryTypeMachO64L:=12): 'LLVMBinaryTypeMachO64L', (LLVMBinaryTypeMachO64B:=13): 'LLVMBinaryTypeMachO64B', (LLVMBinaryTypeWasm:=14): 'LLVMBinaryTypeWasm', (LLVMBinaryTypeOffload:=15): 'LLVMBinaryTypeOffload'}
class struct_LLVMOpaqueBinary(c.Struct): pass
LLVMBinaryRef: TypeAlias = c.POINTER[struct_LLVMOpaqueBinary]
@dll.bind(LLVMBinaryRef, LLVMMemoryBufferRef, LLVMContextRef, c.POINTER[c.POINTER[ctypes.c_char]])
def LLVMCreateBinary(MemBuf:LLVMMemoryBufferRef, Context:LLVMContextRef, ErrorMessage:c.POINTER[c.POINTER[ctypes.c_char]]) -> LLVMBinaryRef: ...
@dll.bind(None, LLVMBinaryRef)
def LLVMDisposeBinary(BR:LLVMBinaryRef) -> None: ...
@dll.bind(LLVMMemoryBufferRef, LLVMBinaryRef)
def LLVMBinaryCopyMemoryBuffer(BR:LLVMBinaryRef) -> LLVMMemoryBufferRef: ...
@dll.bind(ctypes.c_uint32, LLVMBinaryRef)
def LLVMBinaryGetType(BR:LLVMBinaryRef) -> ctypes.c_uint32: ...
@dll.bind(LLVMBinaryRef, LLVMBinaryRef, c.POINTER[ctypes.c_char], size_t, c.POINTER[c.POINTER[ctypes.c_char]])
def LLVMMachOUniversalBinaryCopyObjectForArch(BR:LLVMBinaryRef, Arch:c.POINTER[ctypes.c_char], ArchLen:size_t, ErrorMessage:c.POINTER[c.POINTER[ctypes.c_char]]) -> LLVMBinaryRef: ...
@dll.bind(LLVMSectionIteratorRef, LLVMBinaryRef)
def LLVMObjectFileCopySectionIterator(BR:LLVMBinaryRef) -> LLVMSectionIteratorRef: ...
@dll.bind(LLVMBool, LLVMBinaryRef, LLVMSectionIteratorRef)
def LLVMObjectFileIsSectionIteratorAtEnd(BR:LLVMBinaryRef, SI:LLVMSectionIteratorRef) -> LLVMBool: ...
@dll.bind(LLVMSymbolIteratorRef, LLVMBinaryRef)
def LLVMObjectFileCopySymbolIterator(BR:LLVMBinaryRef) -> LLVMSymbolIteratorRef: ...
@dll.bind(LLVMBool, LLVMBinaryRef, LLVMSymbolIteratorRef)
def LLVMObjectFileIsSymbolIteratorAtEnd(BR:LLVMBinaryRef, SI:LLVMSymbolIteratorRef) -> LLVMBool: ...
@dll.bind(None, LLVMSectionIteratorRef)
def LLVMDisposeSectionIterator(SI:LLVMSectionIteratorRef) -> None: ...
@dll.bind(None, LLVMSectionIteratorRef)
def LLVMMoveToNextSection(SI:LLVMSectionIteratorRef) -> None: ...
@dll.bind(None, LLVMSectionIteratorRef, LLVMSymbolIteratorRef)
def LLVMMoveToContainingSection(Sect:LLVMSectionIteratorRef, Sym:LLVMSymbolIteratorRef) -> None: ...
@dll.bind(None, LLVMSymbolIteratorRef)
def LLVMDisposeSymbolIterator(SI:LLVMSymbolIteratorRef) -> None: ...
@dll.bind(None, LLVMSymbolIteratorRef)
def LLVMMoveToNextSymbol(SI:LLVMSymbolIteratorRef) -> None: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMSectionIteratorRef)
def LLVMGetSectionName(SI:LLVMSectionIteratorRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(uint64_t, LLVMSectionIteratorRef)
def LLVMGetSectionSize(SI:LLVMSectionIteratorRef) -> uint64_t: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMSectionIteratorRef)
def LLVMGetSectionContents(SI:LLVMSectionIteratorRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(uint64_t, LLVMSectionIteratorRef)
def LLVMGetSectionAddress(SI:LLVMSectionIteratorRef) -> uint64_t: ...
@dll.bind(LLVMBool, LLVMSectionIteratorRef, LLVMSymbolIteratorRef)
def LLVMGetSectionContainsSymbol(SI:LLVMSectionIteratorRef, Sym:LLVMSymbolIteratorRef) -> LLVMBool: ...
@dll.bind(LLVMRelocationIteratorRef, LLVMSectionIteratorRef)
def LLVMGetRelocations(Section:LLVMSectionIteratorRef) -> LLVMRelocationIteratorRef: ...
@dll.bind(None, LLVMRelocationIteratorRef)
def LLVMDisposeRelocationIterator(RI:LLVMRelocationIteratorRef) -> None: ...
@dll.bind(LLVMBool, LLVMSectionIteratorRef, LLVMRelocationIteratorRef)
def LLVMIsRelocationIteratorAtEnd(Section:LLVMSectionIteratorRef, RI:LLVMRelocationIteratorRef) -> LLVMBool: ...
@dll.bind(None, LLVMRelocationIteratorRef)
def LLVMMoveToNextRelocation(RI:LLVMRelocationIteratorRef) -> None: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMSymbolIteratorRef)
def LLVMGetSymbolName(SI:LLVMSymbolIteratorRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(uint64_t, LLVMSymbolIteratorRef)
def LLVMGetSymbolAddress(SI:LLVMSymbolIteratorRef) -> uint64_t: ...
@dll.bind(uint64_t, LLVMSymbolIteratorRef)
def LLVMGetSymbolSize(SI:LLVMSymbolIteratorRef) -> uint64_t: ...
@dll.bind(uint64_t, LLVMRelocationIteratorRef)
def LLVMGetRelocationOffset(RI:LLVMRelocationIteratorRef) -> uint64_t: ...
@dll.bind(LLVMSymbolIteratorRef, LLVMRelocationIteratorRef)
def LLVMGetRelocationSymbol(RI:LLVMRelocationIteratorRef) -> LLVMSymbolIteratorRef: ...
@dll.bind(uint64_t, LLVMRelocationIteratorRef)
def LLVMGetRelocationType(RI:LLVMRelocationIteratorRef) -> uint64_t: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMRelocationIteratorRef)
def LLVMGetRelocationTypeName(RI:LLVMRelocationIteratorRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMRelocationIteratorRef)
def LLVMGetRelocationValueString(RI:LLVMRelocationIteratorRef) -> c.POINTER[ctypes.c_char]: ...
class struct_LLVMOpaqueObjectFile(c.Struct): pass
LLVMObjectFileRef: TypeAlias = c.POINTER[struct_LLVMOpaqueObjectFile]
@dll.bind(LLVMObjectFileRef, LLVMMemoryBufferRef)
def LLVMCreateObjectFile(MemBuf:LLVMMemoryBufferRef) -> LLVMObjectFileRef: ...
@dll.bind(None, LLVMObjectFileRef)
def LLVMDisposeObjectFile(ObjectFile:LLVMObjectFileRef) -> None: ...
@dll.bind(LLVMSectionIteratorRef, LLVMObjectFileRef)
def LLVMGetSections(ObjectFile:LLVMObjectFileRef) -> LLVMSectionIteratorRef: ...
@dll.bind(LLVMBool, LLVMObjectFileRef, LLVMSectionIteratorRef)
def LLVMIsSectionIteratorAtEnd(ObjectFile:LLVMObjectFileRef, SI:LLVMSectionIteratorRef) -> LLVMBool: ...
@dll.bind(LLVMSymbolIteratorRef, LLVMObjectFileRef)
def LLVMGetSymbols(ObjectFile:LLVMObjectFileRef) -> LLVMSymbolIteratorRef: ...
@dll.bind(LLVMBool, LLVMObjectFileRef, LLVMSymbolIteratorRef)
def LLVMIsSymbolIteratorAtEnd(ObjectFile:LLVMObjectFileRef, SI:LLVMSymbolIteratorRef) -> LLVMBool: ...
LLVMJITSymbolGenericFlags: dict[int, str] = {(LLVMJITSymbolGenericFlagsNone:=0): 'LLVMJITSymbolGenericFlagsNone', (LLVMJITSymbolGenericFlagsExported:=1): 'LLVMJITSymbolGenericFlagsExported', (LLVMJITSymbolGenericFlagsWeak:=2): 'LLVMJITSymbolGenericFlagsWeak', (LLVMJITSymbolGenericFlagsCallable:=4): 'LLVMJITSymbolGenericFlagsCallable', (LLVMJITSymbolGenericFlagsMaterializationSideEffectsOnly:=8): 'LLVMJITSymbolGenericFlagsMaterializationSideEffectsOnly'}
LLVMJITSymbolTargetFlags: TypeAlias = ctypes.c_ubyte
class struct_LLVMOrcOpaqueObjectLinkingLayer(c.Struct): pass
LLVMOrcObjectLinkingLayerRef: TypeAlias = c.POINTER[struct_LLVMOrcOpaqueObjectLinkingLayer]
LLVMMemoryManagerCreateContextCallback: TypeAlias = c.CFUNCTYPE[ctypes.c_void_p, [ctypes.c_void_p]]
LLVMMemoryManagerNotifyTerminatingCallback: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p]]
@dll.bind(LLVMOrcObjectLayerRef, LLVMOrcExecutionSessionRef)
def LLVMOrcCreateRTDyldObjectLinkingLayerWithSectionMemoryManager(ES:LLVMOrcExecutionSessionRef) -> LLVMOrcObjectLayerRef: ...
@dll.bind(LLVMOrcObjectLayerRef, LLVMOrcExecutionSessionRef, ctypes.c_void_p, LLVMMemoryManagerCreateContextCallback, LLVMMemoryManagerNotifyTerminatingCallback, LLVMMemoryManagerAllocateCodeSectionCallback, LLVMMemoryManagerAllocateDataSectionCallback, LLVMMemoryManagerFinalizeMemoryCallback, LLVMMemoryManagerDestroyCallback)
def LLVMOrcCreateRTDyldObjectLinkingLayerWithMCJITMemoryManagerLikeCallbacks(ES:LLVMOrcExecutionSessionRef, CreateContextCtx:ctypes.c_void_p, CreateContext:LLVMMemoryManagerCreateContextCallback, NotifyTerminating:LLVMMemoryManagerNotifyTerminatingCallback, AllocateCodeSection:LLVMMemoryManagerAllocateCodeSectionCallback, AllocateDataSection:LLVMMemoryManagerAllocateDataSectionCallback, FinalizeMemory:LLVMMemoryManagerFinalizeMemoryCallback, Destroy:LLVMMemoryManagerDestroyCallback) -> LLVMOrcObjectLayerRef: ...
@dll.bind(None, LLVMOrcObjectLayerRef, LLVMJITEventListenerRef)
def LLVMOrcRTDyldObjectLinkingLayerRegisterJITEventListener(RTDyldObjLinkingLayer:LLVMOrcObjectLayerRef, Listener:LLVMJITEventListenerRef) -> None: ...
enum_LLVMRemarkType: dict[int, str] = {(LLVMRemarkTypeUnknown:=0): 'LLVMRemarkTypeUnknown', (LLVMRemarkTypePassed:=1): 'LLVMRemarkTypePassed', (LLVMRemarkTypeMissed:=2): 'LLVMRemarkTypeMissed', (LLVMRemarkTypeAnalysis:=3): 'LLVMRemarkTypeAnalysis', (LLVMRemarkTypeAnalysisFPCommute:=4): 'LLVMRemarkTypeAnalysisFPCommute', (LLVMRemarkTypeAnalysisAliasing:=5): 'LLVMRemarkTypeAnalysisAliasing', (LLVMRemarkTypeFailure:=6): 'LLVMRemarkTypeFailure'}
class struct_LLVMRemarkOpaqueString(c.Struct): pass
LLVMRemarkStringRef: TypeAlias = c.POINTER[struct_LLVMRemarkOpaqueString]
@dll.bind(c.POINTER[ctypes.c_char], LLVMRemarkStringRef)
def LLVMRemarkStringGetData(String:LLVMRemarkStringRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(uint32_t, LLVMRemarkStringRef)
def LLVMRemarkStringGetLen(String:LLVMRemarkStringRef) -> uint32_t: ...
class struct_LLVMRemarkOpaqueDebugLoc(c.Struct): pass
LLVMRemarkDebugLocRef: TypeAlias = c.POINTER[struct_LLVMRemarkOpaqueDebugLoc]
@dll.bind(LLVMRemarkStringRef, LLVMRemarkDebugLocRef)
def LLVMRemarkDebugLocGetSourceFilePath(DL:LLVMRemarkDebugLocRef) -> LLVMRemarkStringRef: ...
@dll.bind(uint32_t, LLVMRemarkDebugLocRef)
def LLVMRemarkDebugLocGetSourceLine(DL:LLVMRemarkDebugLocRef) -> uint32_t: ...
@dll.bind(uint32_t, LLVMRemarkDebugLocRef)
def LLVMRemarkDebugLocGetSourceColumn(DL:LLVMRemarkDebugLocRef) -> uint32_t: ...
class struct_LLVMRemarkOpaqueArg(c.Struct): pass
LLVMRemarkArgRef: TypeAlias = c.POINTER[struct_LLVMRemarkOpaqueArg]
@dll.bind(LLVMRemarkStringRef, LLVMRemarkArgRef)
def LLVMRemarkArgGetKey(Arg:LLVMRemarkArgRef) -> LLVMRemarkStringRef: ...
@dll.bind(LLVMRemarkStringRef, LLVMRemarkArgRef)
def LLVMRemarkArgGetValue(Arg:LLVMRemarkArgRef) -> LLVMRemarkStringRef: ...
@dll.bind(LLVMRemarkDebugLocRef, LLVMRemarkArgRef)
def LLVMRemarkArgGetDebugLoc(Arg:LLVMRemarkArgRef) -> LLVMRemarkDebugLocRef: ...
class struct_LLVMRemarkOpaqueEntry(c.Struct): pass
LLVMRemarkEntryRef: TypeAlias = c.POINTER[struct_LLVMRemarkOpaqueEntry]
@dll.bind(None, LLVMRemarkEntryRef)
def LLVMRemarkEntryDispose(Remark:LLVMRemarkEntryRef) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMRemarkEntryRef)
def LLVMRemarkEntryGetType(Remark:LLVMRemarkEntryRef) -> ctypes.c_uint32: ...
@dll.bind(LLVMRemarkStringRef, LLVMRemarkEntryRef)
def LLVMRemarkEntryGetPassName(Remark:LLVMRemarkEntryRef) -> LLVMRemarkStringRef: ...
@dll.bind(LLVMRemarkStringRef, LLVMRemarkEntryRef)
def LLVMRemarkEntryGetRemarkName(Remark:LLVMRemarkEntryRef) -> LLVMRemarkStringRef: ...
@dll.bind(LLVMRemarkStringRef, LLVMRemarkEntryRef)
def LLVMRemarkEntryGetFunctionName(Remark:LLVMRemarkEntryRef) -> LLVMRemarkStringRef: ...
@dll.bind(LLVMRemarkDebugLocRef, LLVMRemarkEntryRef)
def LLVMRemarkEntryGetDebugLoc(Remark:LLVMRemarkEntryRef) -> LLVMRemarkDebugLocRef: ...
@dll.bind(uint64_t, LLVMRemarkEntryRef)
def LLVMRemarkEntryGetHotness(Remark:LLVMRemarkEntryRef) -> uint64_t: ...
@dll.bind(uint32_t, LLVMRemarkEntryRef)
def LLVMRemarkEntryGetNumArgs(Remark:LLVMRemarkEntryRef) -> uint32_t: ...
@dll.bind(LLVMRemarkArgRef, LLVMRemarkEntryRef)
def LLVMRemarkEntryGetFirstArg(Remark:LLVMRemarkEntryRef) -> LLVMRemarkArgRef: ...
@dll.bind(LLVMRemarkArgRef, LLVMRemarkArgRef, LLVMRemarkEntryRef)
def LLVMRemarkEntryGetNextArg(It:LLVMRemarkArgRef, Remark:LLVMRemarkEntryRef) -> LLVMRemarkArgRef: ...
class struct_LLVMRemarkOpaqueParser(c.Struct): pass
LLVMRemarkParserRef: TypeAlias = c.POINTER[struct_LLVMRemarkOpaqueParser]
@dll.bind(LLVMRemarkParserRef, ctypes.c_void_p, uint64_t)
def LLVMRemarkParserCreateYAML(Buf:ctypes.c_void_p, Size:uint64_t) -> LLVMRemarkParserRef: ...
@dll.bind(LLVMRemarkParserRef, ctypes.c_void_p, uint64_t)
def LLVMRemarkParserCreateBitstream(Buf:ctypes.c_void_p, Size:uint64_t) -> LLVMRemarkParserRef: ...
@dll.bind(LLVMRemarkEntryRef, LLVMRemarkParserRef)
def LLVMRemarkParserGetNext(Parser:LLVMRemarkParserRef) -> LLVMRemarkEntryRef: ...
@dll.bind(LLVMBool, LLVMRemarkParserRef)
def LLVMRemarkParserHasError(Parser:LLVMRemarkParserRef) -> LLVMBool: ...
@dll.bind(c.POINTER[ctypes.c_char], LLVMRemarkParserRef)
def LLVMRemarkParserGetErrorMessage(Parser:LLVMRemarkParserRef) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(None, LLVMRemarkParserRef)
def LLVMRemarkParserDispose(Parser:LLVMRemarkParserRef) -> None: ...
@dll.bind(uint32_t)
def LLVMRemarkVersion() -> uint32_t: ...
@dll.bind(LLVMBool, c.POINTER[ctypes.c_char])
def LLVMLoadLibraryPermanently(Filename:c.POINTER[ctypes.c_char]) -> LLVMBool: ...
@dll.bind(None, ctypes.c_int32, c.POINTER[c.POINTER[ctypes.c_char]], c.POINTER[ctypes.c_char])
def LLVMParseCommandLineOptions(argc:int, argv:c.POINTER[c.POINTER[ctypes.c_char]], Overview:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(ctypes.c_void_p, c.POINTER[ctypes.c_char])
def LLVMSearchForAddressOfSymbol(symbolName:c.POINTER[ctypes.c_char]) -> ctypes.c_void_p: ...
@dll.bind(None, c.POINTER[ctypes.c_char], ctypes.c_void_p)
def LLVMAddSymbol(symbolName:c.POINTER[ctypes.c_char], symbolValue:ctypes.c_void_p) -> None: ...
class struct_LLVMOpaquePassBuilderOptions(c.Struct): pass
LLVMPassBuilderOptionsRef: TypeAlias = c.POINTER[struct_LLVMOpaquePassBuilderOptions]
@dll.bind(LLVMErrorRef, LLVMModuleRef, c.POINTER[ctypes.c_char], LLVMTargetMachineRef, LLVMPassBuilderOptionsRef)
def LLVMRunPasses(M:LLVMModuleRef, Passes:c.POINTER[ctypes.c_char], TM:LLVMTargetMachineRef, Options:LLVMPassBuilderOptionsRef) -> LLVMErrorRef: ...
@dll.bind(LLVMErrorRef, LLVMValueRef, c.POINTER[ctypes.c_char], LLVMTargetMachineRef, LLVMPassBuilderOptionsRef)
def LLVMRunPassesOnFunction(F:LLVMValueRef, Passes:c.POINTER[ctypes.c_char], TM:LLVMTargetMachineRef, Options:LLVMPassBuilderOptionsRef) -> LLVMErrorRef: ...
@dll.bind(LLVMPassBuilderOptionsRef)
def LLVMCreatePassBuilderOptions() -> LLVMPassBuilderOptionsRef: ...
@dll.bind(None, LLVMPassBuilderOptionsRef, LLVMBool)
def LLVMPassBuilderOptionsSetVerifyEach(Options:LLVMPassBuilderOptionsRef, VerifyEach:LLVMBool) -> None: ...
@dll.bind(None, LLVMPassBuilderOptionsRef, LLVMBool)
def LLVMPassBuilderOptionsSetDebugLogging(Options:LLVMPassBuilderOptionsRef, DebugLogging:LLVMBool) -> None: ...
@dll.bind(None, LLVMPassBuilderOptionsRef, c.POINTER[ctypes.c_char])
def LLVMPassBuilderOptionsSetAAPipeline(Options:LLVMPassBuilderOptionsRef, AAPipeline:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(None, LLVMPassBuilderOptionsRef, LLVMBool)
def LLVMPassBuilderOptionsSetLoopInterleaving(Options:LLVMPassBuilderOptionsRef, LoopInterleaving:LLVMBool) -> None: ...
@dll.bind(None, LLVMPassBuilderOptionsRef, LLVMBool)
def LLVMPassBuilderOptionsSetLoopVectorization(Options:LLVMPassBuilderOptionsRef, LoopVectorization:LLVMBool) -> None: ...
@dll.bind(None, LLVMPassBuilderOptionsRef, LLVMBool)
def LLVMPassBuilderOptionsSetSLPVectorization(Options:LLVMPassBuilderOptionsRef, SLPVectorization:LLVMBool) -> None: ...
@dll.bind(None, LLVMPassBuilderOptionsRef, LLVMBool)
def LLVMPassBuilderOptionsSetLoopUnrolling(Options:LLVMPassBuilderOptionsRef, LoopUnrolling:LLVMBool) -> None: ...
@dll.bind(None, LLVMPassBuilderOptionsRef, LLVMBool)
def LLVMPassBuilderOptionsSetForgetAllSCEVInLoopUnroll(Options:LLVMPassBuilderOptionsRef, ForgetAllSCEVInLoopUnroll:LLVMBool) -> None: ...
@dll.bind(None, LLVMPassBuilderOptionsRef, ctypes.c_uint32)
def LLVMPassBuilderOptionsSetLicmMssaOptCap(Options:LLVMPassBuilderOptionsRef, LicmMssaOptCap:int) -> None: ...
@dll.bind(None, LLVMPassBuilderOptionsRef, ctypes.c_uint32)
def LLVMPassBuilderOptionsSetLicmMssaNoAccForPromotionCap(Options:LLVMPassBuilderOptionsRef, LicmMssaNoAccForPromotionCap:int) -> None: ...
@dll.bind(None, LLVMPassBuilderOptionsRef, LLVMBool)
def LLVMPassBuilderOptionsSetCallGraphProfile(Options:LLVMPassBuilderOptionsRef, CallGraphProfile:LLVMBool) -> None: ...
@dll.bind(None, LLVMPassBuilderOptionsRef, LLVMBool)
def LLVMPassBuilderOptionsSetMergeFunctions(Options:LLVMPassBuilderOptionsRef, MergeFunctions:LLVMBool) -> None: ...
@dll.bind(None, LLVMPassBuilderOptionsRef, ctypes.c_int32)
def LLVMPassBuilderOptionsSetInlinerThreshold(Options:LLVMPassBuilderOptionsRef, Threshold:int) -> None: ...
@dll.bind(None, LLVMPassBuilderOptionsRef)
def LLVMDisposePassBuilderOptions(Options:LLVMPassBuilderOptionsRef) -> None: ...
@c.record
class llvm_blake3_chunk_state(c.Struct):
  SIZE = 112
  cv: c.Array[ctypes.c_uint32, Literal[8]]
  chunk_counter: int
  buf: c.Array[ctypes.c_ubyte, Literal[64]]
  buf_len: int
  blocks_compressed: int
  flags: int
llvm_blake3_chunk_state.register_fields([('cv', c.Array[uint32_t, Literal[8]], 0), ('chunk_counter', uint64_t, 32), ('buf', c.Array[uint8_t, Literal[64]], 40), ('buf_len', uint8_t, 104), ('blocks_compressed', uint8_t, 105), ('flags', uint8_t, 106)])
@c.record
class llvm_blake3_hasher(c.Struct):
  SIZE = 1912
  key: c.Array[ctypes.c_uint32, Literal[8]]
  chunk: llvm_blake3_chunk_state
  cv_stack_len: int
  cv_stack: c.Array[ctypes.c_ubyte, Literal[1760]]
llvm_blake3_hasher.register_fields([('key', c.Array[uint32_t, Literal[8]], 0), ('chunk', llvm_blake3_chunk_state, 32), ('cv_stack_len', uint8_t, 144), ('cv_stack', c.Array[uint8_t, Literal[1760]], 145)])
@dll.bind(c.POINTER[ctypes.c_char])
def llvm_blake3_version() -> c.POINTER[ctypes.c_char]: ...
@dll.bind(None, c.POINTER[llvm_blake3_hasher])
def llvm_blake3_hasher_init(self:c.POINTER[llvm_blake3_hasher]) -> None: ...
@dll.bind(None, c.POINTER[llvm_blake3_hasher], c.Array[uint8_t, Literal[32]])
def llvm_blake3_hasher_init_keyed(self:c.POINTER[llvm_blake3_hasher], key:c.Array[uint8_t, Literal[32]]) -> None: ...
@dll.bind(None, c.POINTER[llvm_blake3_hasher], c.POINTER[ctypes.c_char])
def llvm_blake3_hasher_init_derive_key(self:c.POINTER[llvm_blake3_hasher], context:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(None, c.POINTER[llvm_blake3_hasher], ctypes.c_void_p, size_t)
def llvm_blake3_hasher_init_derive_key_raw(self:c.POINTER[llvm_blake3_hasher], context:ctypes.c_void_p, context_len:size_t) -> None: ...
@dll.bind(None, c.POINTER[llvm_blake3_hasher], ctypes.c_void_p, size_t)
def llvm_blake3_hasher_update(self:c.POINTER[llvm_blake3_hasher], input:ctypes.c_void_p, input_len:size_t) -> None: ...
@dll.bind(None, c.POINTER[llvm_blake3_hasher], c.POINTER[uint8_t], size_t)
def llvm_blake3_hasher_finalize(self:c.POINTER[llvm_blake3_hasher], out:c.POINTER[uint8_t], out_len:size_t) -> None: ...
@dll.bind(None, c.POINTER[llvm_blake3_hasher], uint64_t, c.POINTER[uint8_t], size_t)
def llvm_blake3_hasher_finalize_seek(self:c.POINTER[llvm_blake3_hasher], seek:uint64_t, out:c.POINTER[uint8_t], out_len:size_t) -> None: ...
@dll.bind(None, c.POINTER[llvm_blake3_hasher])
def llvm_blake3_hasher_reset(self:c.POINTER[llvm_blake3_hasher]) -> None: ...
lto_bool_t: TypeAlias = ctypes.c_bool
lto_symbol_attributes: dict[int, str] = {(LTO_SYMBOL_ALIGNMENT_MASK:=31): 'LTO_SYMBOL_ALIGNMENT_MASK', (LTO_SYMBOL_PERMISSIONS_MASK:=224): 'LTO_SYMBOL_PERMISSIONS_MASK', (LTO_SYMBOL_PERMISSIONS_CODE:=160): 'LTO_SYMBOL_PERMISSIONS_CODE', (LTO_SYMBOL_PERMISSIONS_DATA:=192): 'LTO_SYMBOL_PERMISSIONS_DATA', (LTO_SYMBOL_PERMISSIONS_RODATA:=128): 'LTO_SYMBOL_PERMISSIONS_RODATA', (LTO_SYMBOL_DEFINITION_MASK:=1792): 'LTO_SYMBOL_DEFINITION_MASK', (LTO_SYMBOL_DEFINITION_REGULAR:=256): 'LTO_SYMBOL_DEFINITION_REGULAR', (LTO_SYMBOL_DEFINITION_TENTATIVE:=512): 'LTO_SYMBOL_DEFINITION_TENTATIVE', (LTO_SYMBOL_DEFINITION_WEAK:=768): 'LTO_SYMBOL_DEFINITION_WEAK', (LTO_SYMBOL_DEFINITION_UNDEFINED:=1024): 'LTO_SYMBOL_DEFINITION_UNDEFINED', (LTO_SYMBOL_DEFINITION_WEAKUNDEF:=1280): 'LTO_SYMBOL_DEFINITION_WEAKUNDEF', (LTO_SYMBOL_SCOPE_MASK:=14336): 'LTO_SYMBOL_SCOPE_MASK', (LTO_SYMBOL_SCOPE_INTERNAL:=2048): 'LTO_SYMBOL_SCOPE_INTERNAL', (LTO_SYMBOL_SCOPE_HIDDEN:=4096): 'LTO_SYMBOL_SCOPE_HIDDEN', (LTO_SYMBOL_SCOPE_PROTECTED:=8192): 'LTO_SYMBOL_SCOPE_PROTECTED', (LTO_SYMBOL_SCOPE_DEFAULT:=6144): 'LTO_SYMBOL_SCOPE_DEFAULT', (LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN:=10240): 'LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN', (LTO_SYMBOL_COMDAT:=16384): 'LTO_SYMBOL_COMDAT', (LTO_SYMBOL_ALIAS:=32768): 'LTO_SYMBOL_ALIAS'}
lto_debug_model: dict[int, str] = {(LTO_DEBUG_MODEL_NONE:=0): 'LTO_DEBUG_MODEL_NONE', (LTO_DEBUG_MODEL_DWARF:=1): 'LTO_DEBUG_MODEL_DWARF'}
lto_codegen_model: dict[int, str] = {(LTO_CODEGEN_PIC_MODEL_STATIC:=0): 'LTO_CODEGEN_PIC_MODEL_STATIC', (LTO_CODEGEN_PIC_MODEL_DYNAMIC:=1): 'LTO_CODEGEN_PIC_MODEL_DYNAMIC', (LTO_CODEGEN_PIC_MODEL_DYNAMIC_NO_PIC:=2): 'LTO_CODEGEN_PIC_MODEL_DYNAMIC_NO_PIC', (LTO_CODEGEN_PIC_MODEL_DEFAULT:=3): 'LTO_CODEGEN_PIC_MODEL_DEFAULT'}
class struct_LLVMOpaqueLTOModule(c.Struct): pass
lto_module_t: TypeAlias = c.POINTER[struct_LLVMOpaqueLTOModule]
class struct_LLVMOpaqueLTOCodeGenerator(c.Struct): pass
lto_code_gen_t: TypeAlias = c.POINTER[struct_LLVMOpaqueLTOCodeGenerator]
class struct_LLVMOpaqueThinLTOCodeGenerator(c.Struct): pass
thinlto_code_gen_t: TypeAlias = c.POINTER[struct_LLVMOpaqueThinLTOCodeGenerator]
@dll.bind(c.POINTER[ctypes.c_char])
def lto_get_version() -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[ctypes.c_char])
def lto_get_error_message() -> c.POINTER[ctypes.c_char]: ...
@dll.bind(lto_bool_t, c.POINTER[ctypes.c_char])
def lto_module_is_object_file(path:c.POINTER[ctypes.c_char]) -> lto_bool_t: ...
@dll.bind(lto_bool_t, c.POINTER[ctypes.c_char], c.POINTER[ctypes.c_char])
def lto_module_is_object_file_for_target(path:c.POINTER[ctypes.c_char], target_triple_prefix:c.POINTER[ctypes.c_char]) -> lto_bool_t: ...
@dll.bind(lto_bool_t, ctypes.c_void_p, size_t)
def lto_module_has_objc_category(mem:ctypes.c_void_p, length:size_t) -> lto_bool_t: ...
@dll.bind(lto_bool_t, ctypes.c_void_p, size_t)
def lto_module_is_object_file_in_memory(mem:ctypes.c_void_p, length:size_t) -> lto_bool_t: ...
@dll.bind(lto_bool_t, ctypes.c_void_p, size_t, c.POINTER[ctypes.c_char])
def lto_module_is_object_file_in_memory_for_target(mem:ctypes.c_void_p, length:size_t, target_triple_prefix:c.POINTER[ctypes.c_char]) -> lto_bool_t: ...
@dll.bind(lto_module_t, c.POINTER[ctypes.c_char])
def lto_module_create(path:c.POINTER[ctypes.c_char]) -> lto_module_t: ...
@dll.bind(lto_module_t, ctypes.c_void_p, size_t)
def lto_module_create_from_memory(mem:ctypes.c_void_p, length:size_t) -> lto_module_t: ...
@dll.bind(lto_module_t, ctypes.c_void_p, size_t, c.POINTER[ctypes.c_char])
def lto_module_create_from_memory_with_path(mem:ctypes.c_void_p, length:size_t, path:c.POINTER[ctypes.c_char]) -> lto_module_t: ...
@dll.bind(lto_module_t, ctypes.c_void_p, size_t, c.POINTER[ctypes.c_char])
def lto_module_create_in_local_context(mem:ctypes.c_void_p, length:size_t, path:c.POINTER[ctypes.c_char]) -> lto_module_t: ...
@dll.bind(lto_module_t, ctypes.c_void_p, size_t, c.POINTER[ctypes.c_char], lto_code_gen_t)
def lto_module_create_in_codegen_context(mem:ctypes.c_void_p, length:size_t, path:c.POINTER[ctypes.c_char], cg:lto_code_gen_t) -> lto_module_t: ...
@dll.bind(lto_module_t, ctypes.c_int32, c.POINTER[ctypes.c_char], size_t)
def lto_module_create_from_fd(fd:int, path:c.POINTER[ctypes.c_char], file_size:size_t) -> lto_module_t: ...
off_t: TypeAlias = ctypes.c_int64
@dll.bind(lto_module_t, ctypes.c_int32, c.POINTER[ctypes.c_char], size_t, size_t, off_t)
def lto_module_create_from_fd_at_offset(fd:int, path:c.POINTER[ctypes.c_char], file_size:size_t, map_size:size_t, offset:off_t) -> lto_module_t: ...
@dll.bind(None, lto_module_t)
def lto_module_dispose(mod:lto_module_t) -> None: ...
@dll.bind(c.POINTER[ctypes.c_char], lto_module_t)
def lto_module_get_target_triple(mod:lto_module_t) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(None, lto_module_t, c.POINTER[ctypes.c_char])
def lto_module_set_target_triple(mod:lto_module_t, triple:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(ctypes.c_uint32, lto_module_t)
def lto_module_get_num_symbols(mod:lto_module_t) -> int: ...
@dll.bind(c.POINTER[ctypes.c_char], lto_module_t, ctypes.c_uint32)
def lto_module_get_symbol_name(mod:lto_module_t, index:int) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(ctypes.c_uint32, lto_module_t, ctypes.c_uint32)
def lto_module_get_symbol_attribute(mod:lto_module_t, index:int) -> ctypes.c_uint32: ...
@dll.bind(c.POINTER[ctypes.c_char], lto_module_t)
def lto_module_get_linkeropts(mod:lto_module_t) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(lto_bool_t, lto_module_t, c.POINTER[ctypes.c_uint32], c.POINTER[ctypes.c_uint32])
def lto_module_get_macho_cputype(mod:lto_module_t, out_cputype:c.POINTER[ctypes.c_uint32], out_cpusubtype:c.POINTER[ctypes.c_uint32]) -> lto_bool_t: ...
@dll.bind(lto_bool_t, lto_module_t)
def lto_module_has_ctor_dtor(mod:lto_module_t) -> lto_bool_t: ...
lto_codegen_diagnostic_severity_t: dict[int, str] = {(LTO_DS_ERROR:=0): 'LTO_DS_ERROR', (LTO_DS_WARNING:=1): 'LTO_DS_WARNING', (LTO_DS_REMARK:=3): 'LTO_DS_REMARK', (LTO_DS_NOTE:=2): 'LTO_DS_NOTE'}
lto_diagnostic_handler_t: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_uint32, c.POINTER[ctypes.c_char], ctypes.c_void_p]]
@dll.bind(None, lto_code_gen_t, lto_diagnostic_handler_t, ctypes.c_void_p)
def lto_codegen_set_diagnostic_handler(_0:lto_code_gen_t, _1:lto_diagnostic_handler_t, _2:ctypes.c_void_p) -> None: ...
@dll.bind(lto_code_gen_t)
def lto_codegen_create() -> lto_code_gen_t: ...
@dll.bind(lto_code_gen_t)
def lto_codegen_create_in_local_context() -> lto_code_gen_t: ...
@dll.bind(None, lto_code_gen_t)
def lto_codegen_dispose(_0:lto_code_gen_t) -> None: ...
@dll.bind(lto_bool_t, lto_code_gen_t, lto_module_t)
def lto_codegen_add_module(cg:lto_code_gen_t, mod:lto_module_t) -> lto_bool_t: ...
@dll.bind(None, lto_code_gen_t, lto_module_t)
def lto_codegen_set_module(cg:lto_code_gen_t, mod:lto_module_t) -> None: ...
@dll.bind(lto_bool_t, lto_code_gen_t, ctypes.c_uint32)
def lto_codegen_set_debug_model(cg:lto_code_gen_t, _1:ctypes.c_uint32) -> lto_bool_t: ...
@dll.bind(lto_bool_t, lto_code_gen_t, ctypes.c_uint32)
def lto_codegen_set_pic_model(cg:lto_code_gen_t, _1:ctypes.c_uint32) -> lto_bool_t: ...
@dll.bind(None, lto_code_gen_t, c.POINTER[ctypes.c_char])
def lto_codegen_set_cpu(cg:lto_code_gen_t, cpu:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(None, lto_code_gen_t, c.POINTER[ctypes.c_char])
def lto_codegen_set_assembler_path(cg:lto_code_gen_t, path:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(None, lto_code_gen_t, c.POINTER[c.POINTER[ctypes.c_char]], ctypes.c_int32)
def lto_codegen_set_assembler_args(cg:lto_code_gen_t, args:c.POINTER[c.POINTER[ctypes.c_char]], nargs:int) -> None: ...
@dll.bind(None, lto_code_gen_t, c.POINTER[ctypes.c_char])
def lto_codegen_add_must_preserve_symbol(cg:lto_code_gen_t, symbol:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(lto_bool_t, lto_code_gen_t, c.POINTER[ctypes.c_char])
def lto_codegen_write_merged_modules(cg:lto_code_gen_t, path:c.POINTER[ctypes.c_char]) -> lto_bool_t: ...
@dll.bind(ctypes.c_void_p, lto_code_gen_t, c.POINTER[size_t])
def lto_codegen_compile(cg:lto_code_gen_t, length:c.POINTER[size_t]) -> ctypes.c_void_p: ...
@dll.bind(lto_bool_t, lto_code_gen_t, c.POINTER[c.POINTER[ctypes.c_char]])
def lto_codegen_compile_to_file(cg:lto_code_gen_t, name:c.POINTER[c.POINTER[ctypes.c_char]]) -> lto_bool_t: ...
@dll.bind(lto_bool_t, lto_code_gen_t)
def lto_codegen_optimize(cg:lto_code_gen_t) -> lto_bool_t: ...
@dll.bind(ctypes.c_void_p, lto_code_gen_t, c.POINTER[size_t])
def lto_codegen_compile_optimized(cg:lto_code_gen_t, length:c.POINTER[size_t]) -> ctypes.c_void_p: ...
@dll.bind(ctypes.c_uint32)
def lto_api_version() -> int: ...
@dll.bind(None, c.POINTER[c.POINTER[ctypes.c_char]], ctypes.c_int32)
def lto_set_debug_options(options:c.POINTER[c.POINTER[ctypes.c_char]], number:int) -> None: ...
@dll.bind(None, lto_code_gen_t, c.POINTER[ctypes.c_char])
def lto_codegen_debug_options(cg:lto_code_gen_t, _1:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(None, lto_code_gen_t, c.POINTER[c.POINTER[ctypes.c_char]], ctypes.c_int32)
def lto_codegen_debug_options_array(cg:lto_code_gen_t, _1:c.POINTER[c.POINTER[ctypes.c_char]], number:int) -> None: ...
@dll.bind(None)
def lto_initialize_disassembler() -> None: ...
@dll.bind(None, lto_code_gen_t, lto_bool_t)
def lto_codegen_set_should_internalize(cg:lto_code_gen_t, ShouldInternalize:lto_bool_t) -> None: ...
@dll.bind(None, lto_code_gen_t, lto_bool_t)
def lto_codegen_set_should_embed_uselists(cg:lto_code_gen_t, ShouldEmbedUselists:lto_bool_t) -> None: ...
class struct_LLVMOpaqueLTOInput(c.Struct): pass
lto_input_t: TypeAlias = c.POINTER[struct_LLVMOpaqueLTOInput]
@dll.bind(lto_input_t, ctypes.c_void_p, size_t, c.POINTER[ctypes.c_char])
def lto_input_create(buffer:ctypes.c_void_p, buffer_size:size_t, path:c.POINTER[ctypes.c_char]) -> lto_input_t: ...
@dll.bind(None, lto_input_t)
def lto_input_dispose(input:lto_input_t) -> None: ...
@dll.bind(ctypes.c_uint32, lto_input_t)
def lto_input_get_num_dependent_libraries(input:lto_input_t) -> int: ...
@dll.bind(c.POINTER[ctypes.c_char], lto_input_t, size_t, c.POINTER[size_t])
def lto_input_get_dependent_library(input:lto_input_t, index:size_t, size:c.POINTER[size_t]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[c.POINTER[ctypes.c_char]], c.POINTER[size_t])
def lto_runtime_lib_symbols_list(size:c.POINTER[size_t]) -> c.POINTER[c.POINTER[ctypes.c_char]]: ...
@c.record
class LTOObjectBuffer(c.Struct):
  SIZE = 16
  Buffer: c.POINTER[ctypes.c_char]
  Size: int
LTOObjectBuffer.register_fields([('Buffer', c.POINTER[ctypes.c_char], 0), ('Size', size_t, 8)])
@dll.bind(thinlto_code_gen_t)
def thinlto_create_codegen() -> thinlto_code_gen_t: ...
@dll.bind(None, thinlto_code_gen_t)
def thinlto_codegen_dispose(cg:thinlto_code_gen_t) -> None: ...
@dll.bind(None, thinlto_code_gen_t, c.POINTER[ctypes.c_char], c.POINTER[ctypes.c_char], ctypes.c_int32)
def thinlto_codegen_add_module(cg:thinlto_code_gen_t, identifier:c.POINTER[ctypes.c_char], data:c.POINTER[ctypes.c_char], length:int) -> None: ...
@dll.bind(None, thinlto_code_gen_t)
def thinlto_codegen_process(cg:thinlto_code_gen_t) -> None: ...
@dll.bind(ctypes.c_uint32, thinlto_code_gen_t)
def thinlto_module_get_num_objects(cg:thinlto_code_gen_t) -> int: ...
@dll.bind(LTOObjectBuffer, thinlto_code_gen_t, ctypes.c_uint32)
def thinlto_module_get_object(cg:thinlto_code_gen_t, index:int) -> LTOObjectBuffer: ...
@dll.bind(ctypes.c_uint32, thinlto_code_gen_t)
def thinlto_module_get_num_object_files(cg:thinlto_code_gen_t) -> int: ...
@dll.bind(c.POINTER[ctypes.c_char], thinlto_code_gen_t, ctypes.c_uint32)
def thinlto_module_get_object_file(cg:thinlto_code_gen_t, index:int) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(lto_bool_t, thinlto_code_gen_t, ctypes.c_uint32)
def thinlto_codegen_set_pic_model(cg:thinlto_code_gen_t, _1:ctypes.c_uint32) -> lto_bool_t: ...
@dll.bind(None, thinlto_code_gen_t, c.POINTER[ctypes.c_char])
def thinlto_codegen_set_savetemps_dir(cg:thinlto_code_gen_t, save_temps_dir:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(None, thinlto_code_gen_t, c.POINTER[ctypes.c_char])
def thinlto_set_generated_objects_dir(cg:thinlto_code_gen_t, save_temps_dir:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(None, thinlto_code_gen_t, c.POINTER[ctypes.c_char])
def thinlto_codegen_set_cpu(cg:thinlto_code_gen_t, cpu:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(None, thinlto_code_gen_t, lto_bool_t)
def thinlto_codegen_disable_codegen(cg:thinlto_code_gen_t, disable:lto_bool_t) -> None: ...
@dll.bind(None, thinlto_code_gen_t, lto_bool_t)
def thinlto_codegen_set_codegen_only(cg:thinlto_code_gen_t, codegen_only:lto_bool_t) -> None: ...
@dll.bind(None, c.POINTER[c.POINTER[ctypes.c_char]], ctypes.c_int32)
def thinlto_debug_options(options:c.POINTER[c.POINTER[ctypes.c_char]], number:int) -> None: ...
@dll.bind(lto_bool_t, lto_module_t)
def lto_module_is_thinlto(mod:lto_module_t) -> lto_bool_t: ...
@dll.bind(None, thinlto_code_gen_t, c.POINTER[ctypes.c_char], ctypes.c_int32)
def thinlto_codegen_add_must_preserve_symbol(cg:thinlto_code_gen_t, name:c.POINTER[ctypes.c_char], length:int) -> None: ...
@dll.bind(None, thinlto_code_gen_t, c.POINTER[ctypes.c_char], ctypes.c_int32)
def thinlto_codegen_add_cross_referenced_symbol(cg:thinlto_code_gen_t, name:c.POINTER[ctypes.c_char], length:int) -> None: ...
@dll.bind(None, thinlto_code_gen_t, c.POINTER[ctypes.c_char])
def thinlto_codegen_set_cache_dir(cg:thinlto_code_gen_t, cache_dir:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(None, thinlto_code_gen_t, ctypes.c_int32)
def thinlto_codegen_set_cache_pruning_interval(cg:thinlto_code_gen_t, interval:int) -> None: ...
@dll.bind(None, thinlto_code_gen_t, ctypes.c_uint32)
def thinlto_codegen_set_final_cache_size_relative_to_available_space(cg:thinlto_code_gen_t, percentage:int) -> None: ...
@dll.bind(None, thinlto_code_gen_t, ctypes.c_uint32)
def thinlto_codegen_set_cache_entry_expiration(cg:thinlto_code_gen_t, expiration:int) -> None: ...
@dll.bind(None, thinlto_code_gen_t, ctypes.c_uint32)
def thinlto_codegen_set_cache_size_bytes(cg:thinlto_code_gen_t, max_size_bytes:int) -> None: ...
@dll.bind(None, thinlto_code_gen_t, ctypes.c_uint32)
def thinlto_codegen_set_cache_size_megabytes(cg:thinlto_code_gen_t, max_size_megabytes:int) -> None: ...
@dll.bind(None, thinlto_code_gen_t, ctypes.c_uint32)
def thinlto_codegen_set_cache_size_files(cg:thinlto_code_gen_t, max_size_files:int) -> None: ...
LLVMDisassembler_Option_UseMarkup = 1
LLVMDisassembler_Option_PrintImmHex = 2
LLVMDisassembler_Option_AsmPrinterVariant = 4
LLVMDisassembler_Option_SetInstrComments = 8
LLVMDisassembler_Option_PrintLatency = 16
LLVMDisassembler_Option_Color = 32
LLVMDisassembler_VariantKind_None = 0
LLVMDisassembler_VariantKind_ARM_HI16 = 1
LLVMDisassembler_VariantKind_ARM_LO16 = 2
LLVMDisassembler_VariantKind_ARM64_PAGE = 1
LLVMDisassembler_VariantKind_ARM64_PAGEOFF = 2
LLVMDisassembler_VariantKind_ARM64_GOTPAGE = 3
LLVMDisassembler_VariantKind_ARM64_GOTPAGEOFF = 4
LLVMDisassembler_VariantKind_ARM64_TLVP = 5
LLVMDisassembler_VariantKind_ARM64_TLVOFF = 6
LLVMDisassembler_ReferenceType_InOut_None = 0
LLVMDisassembler_ReferenceType_In_Branch = 1
LLVMDisassembler_ReferenceType_In_PCrel_Load = 2
LLVMDisassembler_ReferenceType_In_ARM64_ADRP = 0x100000001
LLVMDisassembler_ReferenceType_In_ARM64_ADDXri = 0x100000002
LLVMDisassembler_ReferenceType_In_ARM64_LDRXui = 0x100000003
LLVMDisassembler_ReferenceType_In_ARM64_LDRXl = 0x100000004
LLVMDisassembler_ReferenceType_In_ARM64_ADR = 0x100000005
LLVMDisassembler_ReferenceType_Out_SymbolStub = 1
LLVMDisassembler_ReferenceType_Out_LitPool_SymAddr = 2
LLVMDisassembler_ReferenceType_Out_LitPool_CstrAddr = 3
LLVMDisassembler_ReferenceType_Out_Objc_CFString_Ref = 4
LLVMDisassembler_ReferenceType_Out_Objc_Message = 5
LLVMDisassembler_ReferenceType_Out_Objc_Message_Ref = 6
LLVMDisassembler_ReferenceType_Out_Objc_Selector_Ref = 7
LLVMDisassembler_ReferenceType_Out_Objc_Class_Ref = 8
LLVMDisassembler_ReferenceType_DeMangled_Name = 9
LLVMErrorSuccess = 0
REMARKS_API_VERSION = 1
LLVM_BLAKE3_VERSION_STRING = "1.3.1"
LLVM_BLAKE3_KEY_LEN = 32
LLVM_BLAKE3_OUT_LEN = 32
LLVM_BLAKE3_BLOCK_LEN = 64
LLVM_BLAKE3_CHUNK_LEN = 1024
LLVM_BLAKE3_MAX_DEPTH = 54
LTO_API_VERSION = 29