about summary refs log tree commit diff
path: root/src/llvm.pry
diff options
context:
space:
mode:
authorBaitinq <[email protected]>2025-07-15 17:34:39 +0200
committerBaitinq <[email protected]>2025-07-15 18:00:31 +0200
commitcc56ed42486c2636af50bae451825ad90cfd4b6c (patch)
tree2307d6ced51f427405e4152b4ff1493e245a6b30 /src/llvm.pry
parentBoostrap: Support generating LLVM IR file (diff)
downloadpry-lang-cc56ed42486c2636af50bae451825ad90cfd4b6c.tar.gz
pry-lang-cc56ed42486c2636af50bae451825ad90cfd4b6c.tar.bz2
pry-lang-cc56ed42486c2636af50bae451825ad90cfd4b6c.zip
Finish bootstrapping :^)
Diffstat (limited to 'src/llvm.pry')
-rw-r--r--src/llvm.pry353
1 files changed, 353 insertions, 0 deletions
diff --git a/src/llvm.pry b/src/llvm.pry
new file mode 100644
index 0000000..2feb815
--- /dev/null
+++ b/src/llvm.pry
@@ -0,0 +1,353 @@
+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 LLVMConstNull = (LLVMTypeRef) => 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 LLVMPrintModuleToFile = (LLVMModuleRef, *i8, **i8) => i64;
+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;
+