extern LLVMInitializeAArch64TargetInfo = () => void; extern LLVMInitializeAMDGPUTargetInfo = () => void; extern LLVMInitializeARMTargetInfo = () => void; extern LLVMInitializeAVRTargetInfo = () => void; extern LLVMInitializeBPFTargetInfo = () => void; extern LLVMInitializeHexagonTargetInfo = () => void; extern LLVMInitializeLanaiTargetInfo = () => void; extern LLVMInitializeLoongArchTargetInfo = () => void; extern LLVMInitializeMipsTargetInfo = () => void; extern LLVMInitializeMSP430TargetInfo = () => void; extern LLVMInitializeNVPTXTargetInfo = () => void; extern LLVMInitializePowerPCTargetInfo = () => void; extern LLVMInitializeRISCVTargetInfo = () => void; extern LLVMInitializeSparcTargetInfo = () => void; extern LLVMInitializeSystemZTargetInfo = () => void; extern LLVMInitializeVETargetInfo = () => void; extern LLVMInitializeWebAssemblyTargetInfo = () => void; extern LLVMInitializeX86TargetInfo = () => void; extern LLVMInitializeXCoreTargetInfo = () => void; let LLVMInitializeAllTargetInfos = () => void { LLVMInitializeAArch64TargetInfo(); LLVMInitializeAMDGPUTargetInfo(); LLVMInitializeARMTargetInfo(); LLVMInitializeAVRTargetInfo(); LLVMInitializeBPFTargetInfo(); LLVMInitializeHexagonTargetInfo(); LLVMInitializeLanaiTargetInfo(); LLVMInitializeLoongArchTargetInfo(); LLVMInitializeMipsTargetInfo(); LLVMInitializeMSP430TargetInfo(); LLVMInitializeNVPTXTargetInfo(); LLVMInitializePowerPCTargetInfo(); LLVMInitializeRISCVTargetInfo(); LLVMInitializeSparcTargetInfo(); LLVMInitializeSystemZTargetInfo(); LLVMInitializeVETargetInfo(); LLVMInitializeWebAssemblyTargetInfo(); LLVMInitializeX86TargetInfo(); LLVMInitializeXCoreTargetInfo(); return; }; extern LLVMInitializeAArch64Target = () => void; extern LLVMInitializeAMDGPUTarget = () => void; extern LLVMInitializeARMTarget = () => void; extern LLVMInitializeAVRTarget = () => void; extern LLVMInitializeBPFTarget = () => void; extern LLVMInitializeHexagonTarget = () => void; extern LLVMInitializeLanaiTarget = () => void; extern LLVMInitializeLoongArchTarget = () => void; extern LLVMInitializeMipsTarget = () => void; extern LLVMInitializeMSP430Target = () => void; extern LLVMInitializeNVPTXTarget = () => void; extern LLVMInitializePowerPCTarget = () => void; extern LLVMInitializeRISCVTarget = () => void; extern LLVMInitializeSparcTarget = () => void; extern LLVMInitializeSystemZTarget = () => void; extern LLVMInitializeVETarget = () => void; extern LLVMInitializeWebAssemblyTarget = () => void; extern LLVMInitializeX86Target = () => void; extern LLVMInitializeXCoreTarget = () => void; let LLVMInitializeAllTargets = () => void { LLVMInitializeAArch64Target(); LLVMInitializeAMDGPUTarget(); LLVMInitializeARMTarget(); LLVMInitializeAVRTarget(); LLVMInitializeBPFTarget(); LLVMInitializeHexagonTarget(); LLVMInitializeLanaiTarget(); LLVMInitializeLoongArchTarget(); LLVMInitializeMipsTarget(); LLVMInitializeMSP430Target(); LLVMInitializeNVPTXTarget(); LLVMInitializePowerPCTarget(); LLVMInitializeRISCVTarget(); LLVMInitializeSparcTarget(); LLVMInitializeSystemZTarget(); LLVMInitializeVETarget(); LLVMInitializeWebAssemblyTarget(); LLVMInitializeX86Target(); LLVMInitializeXCoreTarget(); return; }; extern LLVMInitializeAArch64TargetMC = () => void; extern LLVMInitializeAMDGPUTargetMC = () => void; extern LLVMInitializeARMTargetMC = () => void; extern LLVMInitializeAVRTargetMC = () => void; extern LLVMInitializeBPFTargetMC = () => void; extern LLVMInitializeHexagonTargetMC = () => void; extern LLVMInitializeLanaiTargetMC = () => void; extern LLVMInitializeLoongArchTargetMC = () => void; extern LLVMInitializeMipsTargetMC = () => void; extern LLVMInitializeMSP430TargetMC = () => void; extern LLVMInitializeNVPTXTargetMC = () => void; extern LLVMInitializePowerPCTargetMC = () => void; extern LLVMInitializeRISCVTargetMC = () => void; extern LLVMInitializeSparcTargetMC = () => void; extern LLVMInitializeSystemZTargetMC = () => void; extern LLVMInitializeVETargetMC = () => void; extern LLVMInitializeWebAssemblyTargetMC = () => void; extern LLVMInitializeX86TargetMC = () => void; extern LLVMInitializeXCoreTargetMC = () => void; let LLVMInitializeAllTargetMCs = () => void { LLVMInitializeAArch64TargetMC(); LLVMInitializeAMDGPUTargetMC(); LLVMInitializeARMTargetMC(); LLVMInitializeAVRTargetMC(); LLVMInitializeBPFTargetMC(); LLVMInitializeHexagonTargetMC(); LLVMInitializeLanaiTargetMC(); LLVMInitializeLoongArchTargetMC(); LLVMInitializeMipsTargetMC(); LLVMInitializeMSP430TargetMC(); LLVMInitializeNVPTXTargetMC(); LLVMInitializePowerPCTargetMC(); LLVMInitializeRISCVTargetMC(); LLVMInitializeSparcTargetMC(); LLVMInitializeSystemZTargetMC(); LLVMInitializeVETargetMC(); LLVMInitializeWebAssemblyTargetMC(); LLVMInitializeX86TargetMC(); LLVMInitializeXCoreTargetMC(); return; }; extern LLVMInitializeAArch64AsmPrinter = () => void; extern LLVMInitializeAMDGPUAsmPrinter = () => void; extern LLVMInitializeARMAsmPrinter = () => void; extern LLVMInitializeAVRAsmPrinter = () => void; extern LLVMInitializeBPFAsmPrinter = () => void; extern LLVMInitializeHexagonAsmPrinter = () => void; extern LLVMInitializeLanaiAsmPrinter = () => void; extern LLVMInitializeLoongArchAsmPrinter = () => void; extern LLVMInitializeMipsAsmPrinter = () => void; extern LLVMInitializeMSP430AsmPrinter = () => void; extern LLVMInitializeNVPTXAsmPrinter = () => void; extern LLVMInitializePowerPCAsmPrinter = () => void; extern LLVMInitializeRISCVAsmPrinter = () => void; extern LLVMInitializeSparcAsmPrinter = () => void; extern LLVMInitializeSystemZAsmPrinter = () => void; extern LLVMInitializeVEAsmPrinter = () => void; extern LLVMInitializeWebAssemblyAsmPrinter = () => void; extern LLVMInitializeX86AsmPrinter = () => void; extern LLVMInitializeXCoreAsmPrinter = () => void; let LLVMInitializeAllAsmPrinters = () => void { LLVMInitializeAArch64AsmPrinter(); LLVMInitializeAMDGPUAsmPrinter(); LLVMInitializeARMAsmPrinter(); LLVMInitializeAVRAsmPrinter(); LLVMInitializeBPFAsmPrinter(); LLVMInitializeHexagonAsmPrinter(); LLVMInitializeLanaiAsmPrinter(); LLVMInitializeLoongArchAsmPrinter(); LLVMInitializeMipsAsmPrinter(); LLVMInitializeMSP430AsmPrinter(); LLVMInitializeNVPTXAsmPrinter(); LLVMInitializePowerPCAsmPrinter(); LLVMInitializeRISCVAsmPrinter(); LLVMInitializeSparcAsmPrinter(); LLVMInitializeSystemZAsmPrinter(); LLVMInitializeVEAsmPrinter(); LLVMInitializeWebAssemblyAsmPrinter(); LLVMInitializeX86AsmPrinter(); LLVMInitializeXCoreAsmPrinter(); return; }; extern LLVMInitializeAArch64AsmParser = () => void; extern LLVMInitializeAMDGPUAsmParser = () => void; extern LLVMInitializeARMAsmParser = () => void; extern LLVMInitializeAVRAsmParser = () => void; extern LLVMInitializeBPFAsmParser = () => void; extern LLVMInitializeHexagonAsmParser = () => void; extern LLVMInitializeLanaiAsmParser = () => void; extern LLVMInitializeLoongArchAsmParser = () => void; extern LLVMInitializeMipsAsmParser = () => void; extern LLVMInitializeMSP430AsmParser = () => void; extern LLVMInitializePowerPCAsmParser = () => void; extern LLVMInitializeRISCVAsmParser = () => void; extern LLVMInitializeSparcAsmParser = () => void; extern LLVMInitializeSystemZAsmParser = () => void; extern LLVMInitializeVEAsmParser = () => void; extern LLVMInitializeWebAssemblyAsmParser = () => void; extern LLVMInitializeX86AsmParser = () => void; let LLVMInitializeAllAsmParsers = () => void { LLVMInitializeAArch64AsmParser(); LLVMInitializeAMDGPUAsmParser(); LLVMInitializeARMAsmParser(); LLVMInitializeAVRAsmParser(); LLVMInitializeBPFAsmParser(); LLVMInitializeHexagonAsmParser(); LLVMInitializeLanaiAsmParser(); LLVMInitializeLoongArchAsmParser(); LLVMInitializeMipsAsmParser(); LLVMInitializeMSP430AsmParser(); LLVMInitializePowerPCAsmParser(); LLVMInitializeRISCVAsmParser(); LLVMInitializeSparcAsmParser(); LLVMInitializeSystemZAsmParser(); LLVMInitializeVEAsmParser(); LLVMInitializeWebAssemblyAsmParser(); LLVMInitializeX86AsmParser(); return; }; extern LLVMInitializeAArch64Disassembler = () => void; extern LLVMInitializeAMDGPUDisassembler = () => void; extern LLVMInitializeARMDisassembler = () => void; extern LLVMInitializeAVRDisassembler = () => void; extern LLVMInitializeBPFDisassembler = () => void; extern LLVMInitializeHexagonDisassembler = () => void; extern LLVMInitializeLanaiDisassembler = () => void; extern LLVMInitializeLoongArchDisassembler = () => void; extern LLVMInitializeMipsDisassembler = () => void; extern LLVMInitializeMSP430Disassembler = () => void; extern LLVMInitializePowerPCDisassembler = () => void; extern LLVMInitializeRISCVDisassembler = () => void; extern LLVMInitializeSparcDisassembler = () => void; extern LLVMInitializeSystemZDisassembler = () => void; extern LLVMInitializeVEDisassembler = () => void; extern LLVMInitializeWebAssemblyDisassembler = () => void; extern LLVMInitializeX86Disassembler = () => void; extern LLVMInitializeXCoreDisassembler = () => void; let LLVMInitializeAllDisassemblers = () => void { LLVMInitializeAArch64Disassembler(); LLVMInitializeAMDGPUDisassembler(); LLVMInitializeARMDisassembler(); LLVMInitializeAVRDisassembler(); LLVMInitializeBPFDisassembler(); LLVMInitializeHexagonDisassembler(); LLVMInitializeLanaiDisassembler(); LLVMInitializeLoongArchDisassembler(); LLVMInitializeMipsDisassembler(); LLVMInitializeMSP430Disassembler(); LLVMInitializePowerPCDisassembler(); LLVMInitializeRISCVDisassembler(); LLVMInitializeSparcDisassembler(); LLVMInitializeSystemZDisassembler(); LLVMInitializeVEDisassembler(); LLVMInitializeWebAssemblyDisassembler(); LLVMInitializeX86Disassembler(); LLVMInitializeXCoreDisassembler(); return; }; let LLVMBuilderRef = newtype *void; let LLVMModuleRef = newtype *void; let LLVMTargetDataRef = newtype *void; let LLVMTargetMachineRef = newtype *void; let LLVMContextRef = newtype *void; let LLVMTargetRef = newtype *void; let LLVMIntPredicate = newtype i64; let LLVMValueRef = newtype *void; let LLVMValueKind = newtype i64; let LLVMTypeRef = newtype *void; let LLVMBasicBlockRef = newtype *void; extern LLVMGetModuleDataLayout = (LLVMModuleRef) => LLVMTargetDataRef; extern LLVMConstInt = (LLVMTypeRef, i64, i64) => LLVMValueRef; extern LLVMInt64Type = () => LLVMTypeRef; extern LLVMInt32Type = () => LLVMTypeRef; extern LLVMInt1Type = () => LLVMTypeRef; extern LLVMInt8Type = () => LLVMTypeRef; extern LLVMVoidType = () => LLVMTypeRef; extern LLVMModuleCreateWithName = (*i8) => LLVMModuleRef; extern LLVMGetGlobalContext = () => LLVMContextRef; extern LLVMCreateBuilder = () => LLVMBuilderRef; extern LLVMDisposeModule = (LLVMModuleRef) => void; extern LLVMShutdown = () => void; extern LLVMDisposeBuilder = (LLVMBuilderRef) => void; extern LLVMGetInsertBlock = (LLVMBuilderRef) => LLVMBasicBlockRef; extern LLVMDumpModule = (LLVMModuleRef) => void; extern LLVMGetDefaultTargetTriple = () => *i8; extern LLVMGetTargetFromTriple = (*i8, *LLVMTargetRef, **i8) => i64; extern LLVMDisposeMessage = (*i8) => void; extern LLVMCreateTargetMachine = (LLVMTargetRef, *i8, *i8, *i8, i64, i64, i64) => LLVMTargetMachineRef; extern LLVMDisposeTargetMachine = (LLVMTargetMachineRef) => void; let LLVMCodeGenLevelDefault = 2; let LLVMRelocDefault = 0; let LLVMCodeModelDefault = 0; extern LLVMVerifyModule = (LLVMModuleRef, i64, **i8) => i64; let LLVMAbortProcessAction = 0; extern LLVMTargetMachineEmitToFile = (LLVMTargetMachineRef, LLVMModuleRef, *i8, i64, **i8) => i64; let LLVMObjectFile = 1; extern LLVMFunctionType = (LLVMTypeRef, *LLVMTypeRef, i64, i64) => LLVMTypeRef; extern LLVMAddFunction = (LLVMModuleRef, *i8, LLVMTypeRef) => LLVMValueRef; extern LLVMAppendBasicBlock = (LLVMValueRef, *i8) => LLVMBasicBlockRef; extern LLVMPositionBuilderAtEnd = (LLVMBuilderRef, LLVMBasicBlockRef) => void; extern LLVMGetParams = (LLVMValueRef, *LLVMValueRef) => void; extern LLVMBuildRetVoid = (LLVMBuilderRef) => void; extern LLVMBuildRet = (LLVMBuilderRef, LLVMValueRef) => void; extern LLVMPointerType = (LLVMTypeRef, i64) => LLVMTypeRef; extern LLVMBuildCall2 = (LLVMBuilderRef, LLVMTypeRef, LLVMValueRef, *LLVMValueRef, i64, *i8) => LLVMValueRef; extern LLVMBuildGlobalStringPtr = (LLVMBuilderRef, *i8, *i8) => LLVMValueRef; extern LLVMBuildAlloca = (LLVMBuilderRef, LLVMTypeRef, *i8) => LLVMValueRef; extern LLVMBuildStore = (LLVMBuilderRef, LLVMValueRef, LLVMValueRef) => LLVMValueRef; extern LLVMBuildLoad2 = (LLVMBuilderRef, LLVMTypeRef, LLVMValueRef, *i8) => LLVMValueRef; extern LLVMGetLastInstruction = (LLVMBasicBlockRef) => LLVMValueRef; extern LLVMBuildBr = (LLVMBuilderRef, LLVMBasicBlockRef) => LLVMValueRef; extern LLVMIsATerminatorInst = (LLVMValueRef) => LLVMValueRef; extern LLVMBuildCondBr = (LLVMBuilderRef, LLVMValueRef, LLVMBasicBlockRef, LLVMBasicBlockRef) => LLVMValueRef; extern LLVMBuildICmp = (LLVMBuilderRef, LLVMIntPredicate, LLVMValueRef, LLVMValueRef, *i8) => LLVMValueRef; extern LLVMBuildNeg = (LLVMBuilderRef, LLVMValueRef, *i8) => LLVMValueRef; extern LLVMBuildSub = (LLVMBuilderRef, LLVMValueRef, LLVMValueRef, *i8) => LLVMValueRef; extern LLVMBuildAdd = (LLVMBuilderRef, LLVMValueRef, LLVMValueRef, *i8) => LLVMValueRef; extern LLVMBuildMul = (LLVMBuilderRef, LLVMValueRef, LLVMValueRef, *i8) => LLVMValueRef; extern LLVMBuildSDiv = (LLVMBuilderRef, LLVMValueRef, LLVMValueRef, *i8) => LLVMValueRef; extern LLVMBuildSRem = (LLVMBuilderRef, LLVMValueRef, LLVMValueRef, *i8) => LLVMValueRef; extern LLVMBuildGEP2 = (LLVMBuilderRef, LLVMTypeRef, LLVMValueRef, *LLVMValueRef, i64, *i8) => LLVMValueRef; extern LLVMAddGlobal = (LLVMModuleRef, LLVMTypeRef, *i8) => LLVMValueRef; extern LLVMSetInitializer = (LLVMValueRef, LLVMValueRef) => void; extern LLVMGetValueKind = (LLVMValueRef) => LLVMValueKind; let LLVMFunctionValueKind = cast(LLVMValueKind, 5); let LLVMIntEQ = 32; let LLVMIntNE = 33; let LLVMIntUGT = 34; let LLVMIntUGE = 35; let LLVMIntULT = 36; let LLVMIntULE = 37; let LLVMIntSGT = 38; let LLVMIntSGE = 39; let LLVMIntSLT = 40; let LLVMIntSLE = 41; extern LLVMStoreSizeOfType = (LLVMTargetDataRef, LLVMTypeRef) => i64; extern LLVMStructCreateNamed = (LLVMContextRef, *i8) => LLVMTypeRef; extern LLVMStructSetBody = (LLVMTypeRef, *LLVMTypeRef, i64, i64) => void;