diff options
| author | Alex Rønne Petersen <alex@alexrp.com> | 2025-04-06 17:36:24 +0200 |
|---|---|---|
| committer | Alex Rønne Petersen <alex@alexrp.com> | 2025-04-09 19:32:57 +0200 |
| commit | ddcf6fcdf3452a4a7d55a27e7112e794447120b6 (patch) | |
| tree | 068232350f7f6f45150feba61092e8b4990a26af /src/codegen | |
| parent | 991560fb499afcbd7717f86edd475338c7d8d2b8 (diff) | |
| download | zig-ddcf6fcdf3452a4a7d55a27e7112e794447120b6.tar.gz zig-ddcf6fcdf3452a4a7d55a27e7112e794447120b6.zip | |
compiler: Allow using LLVM's SPIR-V backend.
Diffstat (limited to 'src/codegen')
| -rw-r--r-- | src/codegen/llvm.zig | 9 | ||||
| -rw-r--r-- | src/codegen/llvm/bindings.zig | 4 |
2 files changed, 10 insertions, 3 deletions
diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig index 6ad4ccc242..3e389ed9c5 100644 --- a/src/codegen/llvm.zig +++ b/src/codegen/llvm.zig @@ -12723,12 +12723,15 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { llvm.LLVMInitializeLoongArchAsmPrinter(); llvm.LLVMInitializeLoongArchAsmParser(); }, - - // We don't currently support using these backends. .spirv, .spirv32, .spirv64, - => {}, + => { + llvm.LLVMInitializeSPIRVTarget(); + llvm.LLVMInitializeSPIRVTargetInfo(); + llvm.LLVMInitializeSPIRVTargetMC(); + llvm.LLVMInitializeSPIRVAsmPrinter(); + }, // LLVM does does not have a backend for these. .kalimba, diff --git a/src/codegen/llvm/bindings.zig b/src/codegen/llvm/bindings.zig index 3c0782397e..44ca599fdc 100644 --- a/src/codegen/llvm/bindings.zig +++ b/src/codegen/llvm/bindings.zig @@ -211,6 +211,7 @@ pub extern fn LLVMInitializeCSKYTargetInfo() void; pub extern fn LLVMInitializeVETargetInfo() void; pub extern fn LLVMInitializeARCTargetInfo() void; pub extern fn LLVMInitializeLoongArchTargetInfo() void; +pub extern fn LLVMInitializeSPIRVTargetInfo() void; pub extern fn LLVMInitializeAArch64Target() void; pub extern fn LLVMInitializeAMDGPUTarget() void; @@ -235,6 +236,7 @@ pub extern fn LLVMInitializeVETarget() void; pub extern fn LLVMInitializeCSKYTarget() void; pub extern fn LLVMInitializeARCTarget() void; pub extern fn LLVMInitializeLoongArchTarget() void; +pub extern fn LLVMInitializeSPIRVTarget() void; pub extern fn LLVMInitializeAArch64TargetMC() void; pub extern fn LLVMInitializeAMDGPUTargetMC() void; @@ -259,6 +261,7 @@ pub extern fn LLVMInitializeCSKYTargetMC() void; pub extern fn LLVMInitializeVETargetMC() void; pub extern fn LLVMInitializeARCTargetMC() void; pub extern fn LLVMInitializeLoongArchTargetMC() void; +pub extern fn LLVMInitializeSPIRVTargetMC() void; pub extern fn LLVMInitializeAArch64AsmPrinter() void; pub extern fn LLVMInitializeAMDGPUAsmPrinter() void; @@ -281,6 +284,7 @@ pub extern fn LLVMInitializeM68kAsmPrinter() void; pub extern fn LLVMInitializeVEAsmPrinter() void; pub extern fn LLVMInitializeARCAsmPrinter() void; pub extern fn LLVMInitializeLoongArchAsmPrinter() void; +pub extern fn LLVMInitializeSPIRVAsmPrinter() void; pub extern fn LLVMInitializeAArch64AsmParser() void; pub extern fn LLVMInitializeAMDGPUAsmParser() void; |
