| author | |
| committer | |
| log | 61fbdebd61678465f72319d93c69e64e2ed3d0a2 |
| tree | 3514d4f1b69582c37fab48e0aa7b7792c4d0f5d5 |
| parent | 468b976f63b0938f2a799261b536167959c059b4 |
| parent | 746f20d21fcd6a0a9ccbf662cd381f16c5064cd6 |
| signature | Signed by PGP key B5690EEEBB952194 |
`llvm`: Fix hasLlvmSupport() for dxil, spirv[32,64], and kalimba.2 files changed, 20 insertions(+), 11 deletions(-)
src/codegen/llvm.zig+9-5| ... | ... | @@ -81,12 +81,14 @@ pub fn targetTriple(allocator: Allocator, target: std.Target) ![]const u8 { |
| 81 | 81 | .spirv => "spirv", |
| 82 | 82 | .spirv32 => "spirv32", |
| 83 | 83 | .spirv64 => "spirv64", |
| 84 | .kalimba => "kalimba", | |
| 85 | 84 | .lanai => "lanai", |
| 86 | 85 | .wasm32 => "wasm32", |
| 87 | 86 | .wasm64 => "wasm64", |
| 88 | 87 | .ve => "ve", |
| 89 | .spu_2 => return error.@"LLVM backend does not support SPU Mark II", | |
| 88 | ||
| 89 | .kalimba, | |
| 90 | .spu_2, | |
| 91 | => unreachable, // Gated by hasLlvmSupport(). | |
| 90 | 92 | }; |
| 91 | 93 | try llvm_triple.appendSlice(llvm_arch); |
| 92 | 94 | try llvm_triple.appendSlice("-unknown-"); |
| ... | ... | @@ -12083,14 +12085,16 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { |
| 12083 | 12085 | llvm.LLVMInitializeLoongArchAsmParser(); |
| 12084 | 12086 | }, |
| 12085 | 12087 | |
| 12086 | // LLVM backends that have no initialization functions. | |
| 12088 | // We don't currently support using these backends. | |
| 12087 | 12089 | .spirv, |
| 12088 | 12090 | .spirv32, |
| 12089 | 12091 | .spirv64, |
| 12090 | .kalimba, | |
| 12091 | 12092 | .dxil, |
| 12092 | 12093 | => {}, |
| 12093 | 12094 | |
| 12094 | .spu_2 => unreachable, // LLVM does not support this backend | |
| 12095 | // LLVM does does not have a backend for these. | |
| 12096 | .kalimba, | |
| 12097 | .spu_2, | |
| 12098 | => unreachable, | |
| 12095 | 12099 | } |
| 12096 | 12100 | } |
src/target.zig+11-6| ... | ... | @@ -119,7 +119,6 @@ pub fn hasLlvmSupport(target: std.Target, ofmt: std.Target.ObjectFormat) bool { |
| 119 | 119 | .bpfel, |
| 120 | 120 | .bpfeb, |
| 121 | 121 | .csky, |
| 122 | .dxil, | |
| 123 | 122 | .hexagon, |
| 124 | 123 | .loongarch32, |
| 125 | 124 | .loongarch64, |
| ... | ... | @@ -147,17 +146,23 @@ pub fn hasLlvmSupport(target: std.Target, ofmt: std.Target.ObjectFormat) bool { |
| 147 | 146 | .xtensa, |
| 148 | 147 | .nvptx, |
| 149 | 148 | .nvptx64, |
| 150 | .spirv, | |
| 151 | .spirv32, | |
| 152 | .spirv64, | |
| 153 | .kalimba, | |
| 154 | 149 | .lanai, |
| 155 | 150 | .wasm32, |
| 156 | 151 | .wasm64, |
| 157 | 152 | .ve, |
| 158 | 153 | => true, |
| 159 | 154 | |
| 160 | .spu_2 => false, | |
| 155 | // An LLVM backend exists but we don't currently support using it. | |
| 156 | .dxil, | |
| 157 | .spirv, | |
| 158 | .spirv32, | |
| 159 | .spirv64, | |
| 160 | => false, | |
| 161 | ||
| 162 | // No LLVM backend exists. | |
| 163 | .kalimba, | |
| 164 | .spu_2, | |
| 165 | => false, | |
| 161 | 166 | }; |
| 162 | 167 | } |
| 163 | 168 |