authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-04-25 15:41:11-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-05-08 19:37:28-07:00
log243ae3a6cb56b3da4d84b368f2af3cbb451233b9
tree2d50d4cb6699bc23009382c67c60dbc58e8cfe08
parent70c85b1bf1c07db4420e8431c3322bfeb87688ee

update for LLVM 18 new target data

New OSs: * XROS * Serenity * Vulkan Removed OSs: * Ananas * CloudABI * Minix * Contiki New CPUs: * spirv The removed stuff is removed from LLVM but not Zig.

4 files changed, 57 insertions(+), 27 deletions(-)

lib/std/Target.zig+3-2
...@@ -47,6 +47,7 @@ pub const Os = struct {...@@ -47,6 +47,7 @@ pub const Os = struct {
47 tvos,47 tvos,
48 watchos,48 watchos,
49 driverkit,49 driverkit,
50 xros,
50 mesa3d,51 mesa3d,
51 contiki,52 contiki,
52 amdpal,53 amdpal,
...@@ -56,6 +57,7 @@ pub const Os = struct {...@@ -56,6 +57,7 @@ pub const Os = struct {
56 emscripten,57 emscripten,
57 shadermodel,58 shadermodel,
58 liteos,59 liteos,
60 serenity,
59 opencl,61 opencl,
60 glsl450,62 glsl450,
61 vulkan,63 vulkan,
...@@ -1002,6 +1004,7 @@ pub const Cpu = struct {...@@ -1002,6 +1004,7 @@ pub const Cpu = struct {
1002 hsail64,1004 hsail64,
1003 spir,1005 spir,
1004 spir64,1006 spir64,
1007 spirv,
1005 spirv32,1008 spirv32,
1006 spirv64,1009 spirv64,
1007 kalimba,1010 kalimba,
...@@ -1012,8 +1015,6 @@ pub const Cpu = struct {...@@ -1012,8 +1015,6 @@ pub const Cpu = struct {
1012 renderscript32,1015 renderscript32,
1013 renderscript64,1016 renderscript64,
1014 ve,1017 ve,
1015 // Stage1 currently assumes that architectures above this comment
1016 // map one-to-one with the ZigLLVM_ArchType enum.
1017 spu_2,1018 spu_2,
10181019
1019 pub inline fn isX86(arch: Arch) bool {1020 pub inline fn isX86(arch: Arch) bool {
src/codegen/llvm/bindings.zig+4-4
...@@ -284,8 +284,6 @@ extern fn ZigLLVMWriteArchive(...@@ -284,8 +284,6 @@ extern fn ZigLLVMWriteArchive(
284284
285pub const OSType = enum(c_int) {285pub const OSType = enum(c_int) {
286 UnknownOS,286 UnknownOS,
287 Ananas,
288 CloudABI,
289 Darwin,287 Darwin,
290 DragonFly,288 DragonFly,
291 FreeBSD,289 FreeBSD,
...@@ -302,7 +300,6 @@ pub const OSType = enum(c_int) {...@@ -302,7 +300,6 @@ pub const OSType = enum(c_int) {
302 Win32,300 Win32,
303 ZOS,301 ZOS,
304 Haiku,302 Haiku,
305 Minix,
306 RTEMS,303 RTEMS,
307 NaCl,304 NaCl,
308 AIX,305 AIX,
...@@ -315,8 +312,8 @@ pub const OSType = enum(c_int) {...@@ -315,8 +312,8 @@ pub const OSType = enum(c_int) {
315 TvOS,312 TvOS,
316 WatchOS,313 WatchOS,
317 DriverKit,314 DriverKit,
315 XROS,
318 Mesa3D,316 Mesa3D,
319 Contiki,
320 AMDPAL,317 AMDPAL,
321 HermitCore,318 HermitCore,
322 Hurd,319 Hurd,
...@@ -324,6 +321,8 @@ pub const OSType = enum(c_int) {...@@ -324,6 +321,8 @@ pub const OSType = enum(c_int) {
324 Emscripten,321 Emscripten,
325 ShaderModel,322 ShaderModel,
326 LiteOS,323 LiteOS,
324 Serenity,
325 Vulkan,
327};326};
328327
329pub const ArchType = enum(c_int) {328pub const ArchType = enum(c_int) {
...@@ -378,6 +377,7 @@ pub const ArchType = enum(c_int) {...@@ -378,6 +377,7 @@ pub const ArchType = enum(c_int) {
378 hsail64,377 hsail64,
379 spir,378 spir,
380 spir64,379 spir64,
380 spirv,
381 spirv32,381 spirv32,
382 spirv64,382 spirv64,
383 kalimba,383 kalimba,
src/zig_llvm.cpp+30-14
...@@ -110,19 +110,19 @@ LLVMTargetMachineRef ZigLLVMCreateTargetMachine(LLVMTargetRef T, const char *Tri...@@ -110,19 +110,19 @@ LLVMTargetMachineRef ZigLLVMCreateTargetMachine(LLVMTargetRef T, const char *Tri
110 bool JIT;110 bool JIT;
111 std::optional<CodeModel::Model> CM = unwrap(CodeModel, JIT);111 std::optional<CodeModel::Model> CM = unwrap(CodeModel, JIT);
112112
113 CodeGenOpt::Level OL;113 CodeGenOptLevel OL;
114 switch (Level) {114 switch (Level) {
115 case LLVMCodeGenLevelNone:115 case LLVMCodeGenLevelNone:
116 OL = CodeGenOpt::None;116 OL = CodeGenOptLevel::None;
117 break;117 break;
118 case LLVMCodeGenLevelLess:118 case LLVMCodeGenLevelLess:
119 OL = CodeGenOpt::Less;119 OL = CodeGenOptLevel::Less;
120 break;120 break;
121 case LLVMCodeGenLevelAggressive:121 case LLVMCodeGenLevelAggressive:
122 OL = CodeGenOpt::Aggressive;122 OL = CodeGenOptLevel::Aggressive;
123 break;123 break;
124 default:124 default:
125 OL = CodeGenOpt::Default;125 OL = CodeGenOptLevel::Default;
126 break;126 break;
127 }127 }
128128
...@@ -336,13 +336,13 @@ bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machine_ref, LLVMM...@@ -336,13 +336,13 @@ bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machine_ref, LLVMM
336 createTargetTransformInfoWrapperPass(target_machine.getTargetIRAnalysis()));336 createTargetTransformInfoWrapperPass(target_machine.getTargetIRAnalysis()));
337337
338 if (dest_bin && !lto) {338 if (dest_bin && !lto) {
339 if (target_machine.addPassesToEmitFile(codegen_pm, *dest_bin, nullptr, CGFT_ObjectFile)) {339 if (target_machine.addPassesToEmitFile(codegen_pm, *dest_bin, nullptr, CodeGenFileType::ObjectFile)) {
340 *error_message = strdup("TargetMachine can't emit an object file");340 *error_message = strdup("TargetMachine can't emit an object file");
341 return true;341 return true;
342 }342 }
343 }343 }
344 if (dest_asm) {344 if (dest_asm) {
345 if (target_machine.addPassesToEmitFile(codegen_pm, *dest_asm, nullptr, CGFT_AssemblyFile)) {345 if (target_machine.addPassesToEmitFile(codegen_pm, *dest_asm, nullptr, CodeGenFileType::AssemblyFile)) {
346 *error_message = strdup("TargetMachine can't emit an assembly file");346 *error_message = strdup("TargetMachine can't emit an assembly file");
347 return true;347 return true;
348 }348 }
...@@ -534,7 +534,9 @@ bool ZigLLVMWriteArchive(const char *archive_name, const char **file_names, size...@@ -534,7 +534,9 @@ bool ZigLLVMWriteArchive(const char *archive_name, const char **file_names, size
534 if (err) return true;534 if (err) return true;
535 new_members.push_back(std::move(*new_member));535 new_members.push_back(std::move(*new_member));
536 }536 }
537 Error err = writeArchive(archive_name, new_members, true, kind, true, false, nullptr);537 Error err = writeArchive(archive_name, new_members,
538 SymtabWritingMode::NormalSymtab, kind, true, false, nullptr);
539
538 if (err) return true;540 if (err) return true;
539 return false;541 return false;
540}542}
...@@ -620,6 +622,7 @@ static_assert((Triple::ArchType)ZigLLVM_hsail == Triple::hsail, "");...@@ -620,6 +622,7 @@ static_assert((Triple::ArchType)ZigLLVM_hsail == Triple::hsail, "");
620static_assert((Triple::ArchType)ZigLLVM_hsail64 == Triple::hsail64, "");622static_assert((Triple::ArchType)ZigLLVM_hsail64 == Triple::hsail64, "");
621static_assert((Triple::ArchType)ZigLLVM_spir == Triple::spir, "");623static_assert((Triple::ArchType)ZigLLVM_spir == Triple::spir, "");
622static_assert((Triple::ArchType)ZigLLVM_spir64 == Triple::spir64, "");624static_assert((Triple::ArchType)ZigLLVM_spir64 == Triple::spir64, "");
625static_assert((Triple::ArchType)ZigLLVM_spirv == Triple::spirv, "");
623static_assert((Triple::ArchType)ZigLLVM_spirv32 == Triple::spirv32, "");626static_assert((Triple::ArchType)ZigLLVM_spirv32 == Triple::spirv32, "");
624static_assert((Triple::ArchType)ZigLLVM_spirv64 == Triple::spirv64, "");627static_assert((Triple::ArchType)ZigLLVM_spirv64 == Triple::spirv64, "");
625static_assert((Triple::ArchType)ZigLLVM_kalimba == Triple::kalimba, "");628static_assert((Triple::ArchType)ZigLLVM_kalimba == Triple::kalimba, "");
...@@ -642,7 +645,6 @@ static_assert((Triple::VendorType)ZigLLVM_ImaginationTechnologies == Triple::Ima...@@ -642,7 +645,6 @@ static_assert((Triple::VendorType)ZigLLVM_ImaginationTechnologies == Triple::Ima
642static_assert((Triple::VendorType)ZigLLVM_MipsTechnologies == Triple::MipsTechnologies, "");645static_assert((Triple::VendorType)ZigLLVM_MipsTechnologies == Triple::MipsTechnologies, "");
643static_assert((Triple::VendorType)ZigLLVM_NVIDIA == Triple::NVIDIA, "");646static_assert((Triple::VendorType)ZigLLVM_NVIDIA == Triple::NVIDIA, "");
644static_assert((Triple::VendorType)ZigLLVM_CSR == Triple::CSR, "");647static_assert((Triple::VendorType)ZigLLVM_CSR == Triple::CSR, "");
645static_assert((Triple::VendorType)ZigLLVM_Myriad == Triple::Myriad, "");
646static_assert((Triple::VendorType)ZigLLVM_AMD == Triple::AMD, "");648static_assert((Triple::VendorType)ZigLLVM_AMD == Triple::AMD, "");
647static_assert((Triple::VendorType)ZigLLVM_Mesa == Triple::Mesa, "");649static_assert((Triple::VendorType)ZigLLVM_Mesa == Triple::Mesa, "");
648static_assert((Triple::VendorType)ZigLLVM_SUSE == Triple::SUSE, "");650static_assert((Triple::VendorType)ZigLLVM_SUSE == Triple::SUSE, "");
...@@ -650,8 +652,6 @@ static_assert((Triple::VendorType)ZigLLVM_OpenEmbedded == Triple::OpenEmbedded,...@@ -650,8 +652,6 @@ static_assert((Triple::VendorType)ZigLLVM_OpenEmbedded == Triple::OpenEmbedded,
650static_assert((Triple::VendorType)ZigLLVM_LastVendorType == Triple::LastVendorType, "");652static_assert((Triple::VendorType)ZigLLVM_LastVendorType == Triple::LastVendorType, "");
651653
652static_assert((Triple::OSType)ZigLLVM_UnknownOS == Triple::UnknownOS, "");654static_assert((Triple::OSType)ZigLLVM_UnknownOS == Triple::UnknownOS, "");
653static_assert((Triple::OSType)ZigLLVM_Ananas == Triple::Ananas, "");
654static_assert((Triple::OSType)ZigLLVM_CloudABI == Triple::CloudABI, "");
655static_assert((Triple::OSType)ZigLLVM_Darwin == Triple::Darwin, "");655static_assert((Triple::OSType)ZigLLVM_Darwin == Triple::Darwin, "");
656static_assert((Triple::OSType)ZigLLVM_DragonFly == Triple::DragonFly, "");656static_assert((Triple::OSType)ZigLLVM_DragonFly == Triple::DragonFly, "");
657static_assert((Triple::OSType)ZigLLVM_FreeBSD == Triple::FreeBSD, "");657static_assert((Triple::OSType)ZigLLVM_FreeBSD == Triple::FreeBSD, "");
...@@ -670,7 +670,6 @@ static_assert((Triple::OSType)ZigLLVM_UEFI == Triple::UEFI, "");...@@ -670,7 +670,6 @@ static_assert((Triple::OSType)ZigLLVM_UEFI == Triple::UEFI, "");
670static_assert((Triple::OSType)ZigLLVM_Win32 == Triple::Win32, "");670static_assert((Triple::OSType)ZigLLVM_Win32 == Triple::Win32, "");
671static_assert((Triple::OSType)ZigLLVM_ZOS == Triple::ZOS, "");671static_assert((Triple::OSType)ZigLLVM_ZOS == Triple::ZOS, "");
672static_assert((Triple::OSType)ZigLLVM_Haiku == Triple::Haiku, "");672static_assert((Triple::OSType)ZigLLVM_Haiku == Triple::Haiku, "");
673static_assert((Triple::OSType)ZigLLVM_Minix == Triple::Minix, "");
674static_assert((Triple::OSType)ZigLLVM_RTEMS == Triple::RTEMS, "");673static_assert((Triple::OSType)ZigLLVM_RTEMS == Triple::RTEMS, "");
675static_assert((Triple::OSType)ZigLLVM_NaCl == Triple::NaCl, "");674static_assert((Triple::OSType)ZigLLVM_NaCl == Triple::NaCl, "");
676static_assert((Triple::OSType)ZigLLVM_AIX == Triple::AIX, "");675static_assert((Triple::OSType)ZigLLVM_AIX == Triple::AIX, "");
...@@ -681,8 +680,9 @@ static_assert((Triple::OSType)ZigLLVM_PS4 == Triple::PS4, "");...@@ -681,8 +680,9 @@ static_assert((Triple::OSType)ZigLLVM_PS4 == Triple::PS4, "");
681static_assert((Triple::OSType)ZigLLVM_ELFIAMCU == Triple::ELFIAMCU, "");680static_assert((Triple::OSType)ZigLLVM_ELFIAMCU == Triple::ELFIAMCU, "");
682static_assert((Triple::OSType)ZigLLVM_TvOS == Triple::TvOS, "");681static_assert((Triple::OSType)ZigLLVM_TvOS == Triple::TvOS, "");
683static_assert((Triple::OSType)ZigLLVM_WatchOS == Triple::WatchOS, "");682static_assert((Triple::OSType)ZigLLVM_WatchOS == Triple::WatchOS, "");
683static_assert((Triple::OSType)ZigLLVM_DriverKit == Triple::DriverKit, "");
684static_assert((Triple::OSType)ZigLLVM_XROS == Triple::XROS, "");
684static_assert((Triple::OSType)ZigLLVM_Mesa3D == Triple::Mesa3D, "");685static_assert((Triple::OSType)ZigLLVM_Mesa3D == Triple::Mesa3D, "");
685static_assert((Triple::OSType)ZigLLVM_Contiki == Triple::Contiki, "");
686static_assert((Triple::OSType)ZigLLVM_AMDPAL == Triple::AMDPAL, "");686static_assert((Triple::OSType)ZigLLVM_AMDPAL == Triple::AMDPAL, "");
687static_assert((Triple::OSType)ZigLLVM_HermitCore == Triple::HermitCore, "");687static_assert((Triple::OSType)ZigLLVM_HermitCore == Triple::HermitCore, "");
688static_assert((Triple::OSType)ZigLLVM_Hurd == Triple::Hurd, "");688static_assert((Triple::OSType)ZigLLVM_Hurd == Triple::Hurd, "");
...@@ -690,6 +690,8 @@ static_assert((Triple::OSType)ZigLLVM_WASI == Triple::WASI, "");...@@ -690,6 +690,8 @@ static_assert((Triple::OSType)ZigLLVM_WASI == Triple::WASI, "");
690static_assert((Triple::OSType)ZigLLVM_Emscripten == Triple::Emscripten, "");690static_assert((Triple::OSType)ZigLLVM_Emscripten == Triple::Emscripten, "");
691static_assert((Triple::OSType)ZigLLVM_ShaderModel == Triple::ShaderModel, "");691static_assert((Triple::OSType)ZigLLVM_ShaderModel == Triple::ShaderModel, "");
692static_assert((Triple::OSType)ZigLLVM_LiteOS == Triple::LiteOS, "");692static_assert((Triple::OSType)ZigLLVM_LiteOS == Triple::LiteOS, "");
693static_assert((Triple::OSType)ZigLLVM_Serenity == Triple::Serenity, "");
694static_assert((Triple::OSType)ZigLLVM_Vulkan == Triple::Vulkan, "");
693static_assert((Triple::OSType)ZigLLVM_LastOSType == Triple::LastOSType, "");695static_assert((Triple::OSType)ZigLLVM_LastOSType == Triple::LastOSType, "");
694696
695static_assert((Triple::EnvironmentType)ZigLLVM_UnknownEnvironment == Triple::UnknownEnvironment, "");697static_assert((Triple::EnvironmentType)ZigLLVM_UnknownEnvironment == Triple::UnknownEnvironment, "");
...@@ -748,12 +750,14 @@ static_assert((CallingConv::ID)ZigLLVM_Fast == llvm::CallingConv::Fast, "");...@@ -748,12 +750,14 @@ static_assert((CallingConv::ID)ZigLLVM_Fast == llvm::CallingConv::Fast, "");
748static_assert((CallingConv::ID)ZigLLVM_Cold == llvm::CallingConv::Cold, "");750static_assert((CallingConv::ID)ZigLLVM_Cold == llvm::CallingConv::Cold, "");
749static_assert((CallingConv::ID)ZigLLVM_GHC == llvm::CallingConv::GHC, "");751static_assert((CallingConv::ID)ZigLLVM_GHC == llvm::CallingConv::GHC, "");
750static_assert((CallingConv::ID)ZigLLVM_HiPE == llvm::CallingConv::HiPE, "");752static_assert((CallingConv::ID)ZigLLVM_HiPE == llvm::CallingConv::HiPE, "");
751static_assert((CallingConv::ID)ZigLLVM_WebKit_JS == llvm::CallingConv::WebKit_JS, "");
752static_assert((CallingConv::ID)ZigLLVM_AnyReg == llvm::CallingConv::AnyReg, "");753static_assert((CallingConv::ID)ZigLLVM_AnyReg == llvm::CallingConv::AnyReg, "");
753static_assert((CallingConv::ID)ZigLLVM_PreserveMost == llvm::CallingConv::PreserveMost, "");754static_assert((CallingConv::ID)ZigLLVM_PreserveMost == llvm::CallingConv::PreserveMost, "");
754static_assert((CallingConv::ID)ZigLLVM_PreserveAll == llvm::CallingConv::PreserveAll, "");755static_assert((CallingConv::ID)ZigLLVM_PreserveAll == llvm::CallingConv::PreserveAll, "");
755static_assert((CallingConv::ID)ZigLLVM_Swift == llvm::CallingConv::Swift, "");756static_assert((CallingConv::ID)ZigLLVM_Swift == llvm::CallingConv::Swift, "");
756static_assert((CallingConv::ID)ZigLLVM_CXX_FAST_TLS == llvm::CallingConv::CXX_FAST_TLS, "");757static_assert((CallingConv::ID)ZigLLVM_CXX_FAST_TLS == llvm::CallingConv::CXX_FAST_TLS, "");
758static_assert((CallingConv::ID)ZigLLVM_Tail == llvm::CallingConv::Tail, "");
759static_assert((CallingConv::ID)ZigLLVM_CFGuard_Check == llvm::CallingConv::CFGuard_Check, "");
760static_assert((CallingConv::ID)ZigLLVM_SwiftTail == llvm::CallingConv::SwiftTail, "");
757static_assert((CallingConv::ID)ZigLLVM_FirstTargetCC == llvm::CallingConv::FirstTargetCC, "");761static_assert((CallingConv::ID)ZigLLVM_FirstTargetCC == llvm::CallingConv::FirstTargetCC, "");
758static_assert((CallingConv::ID)ZigLLVM_X86_StdCall == llvm::CallingConv::X86_StdCall, "");762static_assert((CallingConv::ID)ZigLLVM_X86_StdCall == llvm::CallingConv::X86_StdCall, "");
759static_assert((CallingConv::ID)ZigLLVM_X86_FastCall == llvm::CallingConv::X86_FastCall, "");763static_assert((CallingConv::ID)ZigLLVM_X86_FastCall == llvm::CallingConv::X86_FastCall, "");
...@@ -787,4 +791,16 @@ static_assert((CallingConv::ID)ZigLLVM_MSP430_BUILTIN == llvm::CallingConv::MSP4...@@ -787,4 +791,16 @@ static_assert((CallingConv::ID)ZigLLVM_MSP430_BUILTIN == llvm::CallingConv::MSP4
787static_assert((CallingConv::ID)ZigLLVM_AMDGPU_LS == llvm::CallingConv::AMDGPU_LS, "");791static_assert((CallingConv::ID)ZigLLVM_AMDGPU_LS == llvm::CallingConv::AMDGPU_LS, "");
788static_assert((CallingConv::ID)ZigLLVM_AMDGPU_ES == llvm::CallingConv::AMDGPU_ES, "");792static_assert((CallingConv::ID)ZigLLVM_AMDGPU_ES == llvm::CallingConv::AMDGPU_ES, "");
789static_assert((CallingConv::ID)ZigLLVM_AArch64_VectorCall == llvm::CallingConv::AArch64_VectorCall, "");793static_assert((CallingConv::ID)ZigLLVM_AArch64_VectorCall == llvm::CallingConv::AArch64_VectorCall, "");
794static_assert((CallingConv::ID)ZigLLVM_AArch64_SVE_VectorCall == llvm::CallingConv::AArch64_SVE_VectorCall, "");
795static_assert((CallingConv::ID)ZigLLVM_WASM_EmscriptenInvoke == llvm::CallingConv::WASM_EmscriptenInvoke, "");
796static_assert((CallingConv::ID)ZigLLVM_AMDGPU_Gfx == llvm::CallingConv::AMDGPU_Gfx, "");
797static_assert((CallingConv::ID)ZigLLVM_M68k_INTR == llvm::CallingConv::M68k_INTR, "");
798static_assert((CallingConv::ID)ZigLLVM_AArch64_SME_ABI_Support_Routines_PreserveMost_From_X0 == llvm::CallingConv::AArch64_SME_ABI_Support_Routines_PreserveMost_From_X0, "");
799static_assert((CallingConv::ID)ZigLLVM_AArch64_SME_ABI_Support_Routines_PreserveMost_From_X2 == llvm::CallingConv::AArch64_SME_ABI_Support_Routines_PreserveMost_From_X2, "");
800static_assert((CallingConv::ID)ZigLLVM_AMDGPU_CS_Chain == llvm::CallingConv::AMDGPU_CS_Chain, "");
801static_assert((CallingConv::ID)ZigLLVM_AMDGPU_CS_ChainPreserve == llvm::CallingConv::AMDGPU_CS_ChainPreserve, "");
802static_assert((CallingConv::ID)ZigLLVM_M68k_RTD == llvm::CallingConv::M68k_RTD, "");
803static_assert((CallingConv::ID)ZigLLVM_GRAAL == llvm::CallingConv::GRAAL, "");
804static_assert((CallingConv::ID)ZigLLVM_ARM64EC_Thunk_X64 == llvm::CallingConv::ARM64EC_Thunk_X64, "");
805static_assert((CallingConv::ID)ZigLLVM_ARM64EC_Thunk_Native == llvm::CallingConv::ARM64EC_Thunk_Native, "");
790static_assert((CallingConv::ID)ZigLLVM_MaxID == llvm::CallingConv::MaxID, "");806static_assert((CallingConv::ID)ZigLLVM_MaxID == llvm::CallingConv::MaxID, "");
src/zig_llvm.h+20-7
...@@ -60,12 +60,14 @@ enum ZigLLVM_CallingConv {...@@ -60,12 +60,14 @@ enum ZigLLVM_CallingConv {
60 ZigLLVM_Cold = 9,60 ZigLLVM_Cold = 9,
61 ZigLLVM_GHC = 10,61 ZigLLVM_GHC = 10,
62 ZigLLVM_HiPE = 11,62 ZigLLVM_HiPE = 11,
63 ZigLLVM_WebKit_JS = 12,
64 ZigLLVM_AnyReg = 13,63 ZigLLVM_AnyReg = 13,
65 ZigLLVM_PreserveMost = 14,64 ZigLLVM_PreserveMost = 14,
66 ZigLLVM_PreserveAll = 15,65 ZigLLVM_PreserveAll = 15,
67 ZigLLVM_Swift = 16,66 ZigLLVM_Swift = 16,
68 ZigLLVM_CXX_FAST_TLS = 17,67 ZigLLVM_CXX_FAST_TLS = 17,
68 ZigLLVM_Tail = 18,
69 ZigLLVM_CFGuard_Check = 19,
70 ZigLLVM_SwiftTail = 20,
69 ZigLLVM_FirstTargetCC = 64,71 ZigLLVM_FirstTargetCC = 64,
70 ZigLLVM_X86_StdCall = 64,72 ZigLLVM_X86_StdCall = 64,
71 ZigLLVM_X86_FastCall = 65,73 ZigLLVM_X86_FastCall = 65,
...@@ -99,6 +101,18 @@ enum ZigLLVM_CallingConv {...@@ -99,6 +101,18 @@ enum ZigLLVM_CallingConv {
99 ZigLLVM_AMDGPU_LS = 95,101 ZigLLVM_AMDGPU_LS = 95,
100 ZigLLVM_AMDGPU_ES = 96,102 ZigLLVM_AMDGPU_ES = 96,
101 ZigLLVM_AArch64_VectorCall = 97,103 ZigLLVM_AArch64_VectorCall = 97,
104 ZigLLVM_AArch64_SVE_VectorCall = 98,
105 ZigLLVM_WASM_EmscriptenInvoke = 99,
106 ZigLLVM_AMDGPU_Gfx = 100,
107 ZigLLVM_M68k_INTR = 101,
108 ZigLLVM_AArch64_SME_ABI_Support_Routines_PreserveMost_From_X0 = 102,
109 ZigLLVM_AArch64_SME_ABI_Support_Routines_PreserveMost_From_X2 = 103,
110 ZigLLVM_AMDGPU_CS_Chain = 104,
111 ZigLLVM_AMDGPU_CS_ChainPreserve = 105,
112 ZigLLVM_M68k_RTD = 106,
113 ZigLLVM_GRAAL = 107,
114 ZigLLVM_ARM64EC_Thunk_X64 = 108,
115 ZigLLVM_ARM64EC_Thunk_Native = 109,
102 ZigLLVM_MaxID = 1023,116 ZigLLVM_MaxID = 1023,
103};117};
104118
...@@ -164,6 +178,7 @@ enum ZigLLVM_ArchType {...@@ -164,6 +178,7 @@ enum ZigLLVM_ArchType {
164 ZigLLVM_hsail64, // AMD HSAIL with 64-bit pointers178 ZigLLVM_hsail64, // AMD HSAIL with 64-bit pointers
165 ZigLLVM_spir, // SPIR: standard portable IR for OpenCL 32-bit version179 ZigLLVM_spir, // SPIR: standard portable IR for OpenCL 32-bit version
166 ZigLLVM_spir64, // SPIR: standard portable IR for OpenCL 64-bit version180 ZigLLVM_spir64, // SPIR: standard portable IR for OpenCL 64-bit version
181 ZigLLVM_spirv, // SPIR-V with logical memory layout.
167 ZigLLVM_spirv32, // SPIR-V with 32-bit pointers182 ZigLLVM_spirv32, // SPIR-V with 32-bit pointers
168 ZigLLVM_spirv64, // SPIR-V with 64-bit pointers183 ZigLLVM_spirv64, // SPIR-V with 64-bit pointers
169 ZigLLVM_kalimba, // Kalimba: generic kalimba184 ZigLLVM_kalimba, // Kalimba: generic kalimba
...@@ -189,7 +204,6 @@ enum ZigLLVM_VendorType {...@@ -189,7 +204,6 @@ enum ZigLLVM_VendorType {
189 ZigLLVM_MipsTechnologies,204 ZigLLVM_MipsTechnologies,
190 ZigLLVM_NVIDIA,205 ZigLLVM_NVIDIA,
191 ZigLLVM_CSR,206 ZigLLVM_CSR,
192 ZigLLVM_Myriad,
193 ZigLLVM_AMD,207 ZigLLVM_AMD,
194 ZigLLVM_Mesa,208 ZigLLVM_Mesa,
195 ZigLLVM_SUSE,209 ZigLLVM_SUSE,
...@@ -204,8 +218,6 @@ enum ZigLLVM_VendorType {...@@ -204,8 +218,6 @@ enum ZigLLVM_VendorType {
204enum ZigLLVM_OSType {218enum ZigLLVM_OSType {
205 ZigLLVM_UnknownOS,219 ZigLLVM_UnknownOS,
206220
207 ZigLLVM_Ananas,
208 ZigLLVM_CloudABI,
209 ZigLLVM_Darwin,221 ZigLLVM_Darwin,
210 ZigLLVM_DragonFly,222 ZigLLVM_DragonFly,
211 ZigLLVM_FreeBSD,223 ZigLLVM_FreeBSD,
...@@ -222,7 +234,6 @@ enum ZigLLVM_OSType {...@@ -222,7 +234,6 @@ enum ZigLLVM_OSType {
222 ZigLLVM_Win32,234 ZigLLVM_Win32,
223 ZigLLVM_ZOS,235 ZigLLVM_ZOS,
224 ZigLLVM_Haiku,236 ZigLLVM_Haiku,
225 ZigLLVM_Minix,
226 ZigLLVM_RTEMS,237 ZigLLVM_RTEMS,
227 ZigLLVM_NaCl, // Native Client238 ZigLLVM_NaCl, // Native Client
228 ZigLLVM_AIX,239 ZigLLVM_AIX,
...@@ -235,8 +246,8 @@ enum ZigLLVM_OSType {...@@ -235,8 +246,8 @@ enum ZigLLVM_OSType {
235 ZigLLVM_TvOS, // Apple tvOS246 ZigLLVM_TvOS, // Apple tvOS
236 ZigLLVM_WatchOS, // Apple watchOS247 ZigLLVM_WatchOS, // Apple watchOS
237 ZigLLVM_DriverKit, // Apple DriverKit248 ZigLLVM_DriverKit, // Apple DriverKit
249 ZigLLVM_XROS, // Apple XROS
238 ZigLLVM_Mesa3D,250 ZigLLVM_Mesa3D,
239 ZigLLVM_Contiki,
240 ZigLLVM_AMDPAL, // AMD PAL Runtime251 ZigLLVM_AMDPAL, // AMD PAL Runtime
241 ZigLLVM_HermitCore, // HermitCore Unikernel/Multikernel252 ZigLLVM_HermitCore, // HermitCore Unikernel/Multikernel
242 ZigLLVM_Hurd, // GNU/Hurd253 ZigLLVM_Hurd, // GNU/Hurd
...@@ -244,7 +255,9 @@ enum ZigLLVM_OSType {...@@ -244,7 +255,9 @@ enum ZigLLVM_OSType {
244 ZigLLVM_Emscripten,255 ZigLLVM_Emscripten,
245 ZigLLVM_ShaderModel, // DirectX ShaderModel256 ZigLLVM_ShaderModel, // DirectX ShaderModel
246 ZigLLVM_LiteOS,257 ZigLLVM_LiteOS,
247 ZigLLVM_LastOSType = ZigLLVM_LiteOS258 ZigLLVM_Serenity,
259 ZigLLVM_Vulkan, // Vulkan SPIR-V
260 ZigLLVM_LastOSType = ZigLLVM_Vulkan
248};261};
249262
250// Synchronize with target.cpp::abi_list263// Synchronize with target.cpp::abi_list