mirror of
https://github.com/ziglang/zig.git
synced 2026-01-20 14:25:16 +00:00
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.
This commit is contained in:
parent
70c85b1bf1
commit
243ae3a6cb
@ -47,6 +47,7 @@ pub const Os = struct {
|
||||
tvos,
|
||||
watchos,
|
||||
driverkit,
|
||||
xros,
|
||||
mesa3d,
|
||||
contiki,
|
||||
amdpal,
|
||||
@ -56,6 +57,7 @@ pub const Os = struct {
|
||||
emscripten,
|
||||
shadermodel,
|
||||
liteos,
|
||||
serenity,
|
||||
opencl,
|
||||
glsl450,
|
||||
vulkan,
|
||||
@ -1002,6 +1004,7 @@ pub const Cpu = struct {
|
||||
hsail64,
|
||||
spir,
|
||||
spir64,
|
||||
spirv,
|
||||
spirv32,
|
||||
spirv64,
|
||||
kalimba,
|
||||
@ -1012,8 +1015,6 @@ pub const Cpu = struct {
|
||||
renderscript32,
|
||||
renderscript64,
|
||||
ve,
|
||||
// Stage1 currently assumes that architectures above this comment
|
||||
// map one-to-one with the ZigLLVM_ArchType enum.
|
||||
spu_2,
|
||||
|
||||
pub inline fn isX86(arch: Arch) bool {
|
||||
|
||||
@ -284,8 +284,6 @@ extern fn ZigLLVMWriteArchive(
|
||||
|
||||
pub const OSType = enum(c_int) {
|
||||
UnknownOS,
|
||||
Ananas,
|
||||
CloudABI,
|
||||
Darwin,
|
||||
DragonFly,
|
||||
FreeBSD,
|
||||
@ -302,7 +300,6 @@ pub const OSType = enum(c_int) {
|
||||
Win32,
|
||||
ZOS,
|
||||
Haiku,
|
||||
Minix,
|
||||
RTEMS,
|
||||
NaCl,
|
||||
AIX,
|
||||
@ -315,8 +312,8 @@ pub const OSType = enum(c_int) {
|
||||
TvOS,
|
||||
WatchOS,
|
||||
DriverKit,
|
||||
XROS,
|
||||
Mesa3D,
|
||||
Contiki,
|
||||
AMDPAL,
|
||||
HermitCore,
|
||||
Hurd,
|
||||
@ -324,6 +321,8 @@ pub const OSType = enum(c_int) {
|
||||
Emscripten,
|
||||
ShaderModel,
|
||||
LiteOS,
|
||||
Serenity,
|
||||
Vulkan,
|
||||
};
|
||||
|
||||
pub const ArchType = enum(c_int) {
|
||||
@ -378,6 +377,7 @@ pub const ArchType = enum(c_int) {
|
||||
hsail64,
|
||||
spir,
|
||||
spir64,
|
||||
spirv,
|
||||
spirv32,
|
||||
spirv64,
|
||||
kalimba,
|
||||
|
||||
@ -110,19 +110,19 @@ LLVMTargetMachineRef ZigLLVMCreateTargetMachine(LLVMTargetRef T, const char *Tri
|
||||
bool JIT;
|
||||
std::optional<CodeModel::Model> CM = unwrap(CodeModel, JIT);
|
||||
|
||||
CodeGenOpt::Level OL;
|
||||
CodeGenOptLevel OL;
|
||||
switch (Level) {
|
||||
case LLVMCodeGenLevelNone:
|
||||
OL = CodeGenOpt::None;
|
||||
OL = CodeGenOptLevel::None;
|
||||
break;
|
||||
case LLVMCodeGenLevelLess:
|
||||
OL = CodeGenOpt::Less;
|
||||
OL = CodeGenOptLevel::Less;
|
||||
break;
|
||||
case LLVMCodeGenLevelAggressive:
|
||||
OL = CodeGenOpt::Aggressive;
|
||||
OL = CodeGenOptLevel::Aggressive;
|
||||
break;
|
||||
default:
|
||||
OL = CodeGenOpt::Default;
|
||||
OL = CodeGenOptLevel::Default;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -336,13 +336,13 @@ bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machine_ref, LLVMM
|
||||
createTargetTransformInfoWrapperPass(target_machine.getTargetIRAnalysis()));
|
||||
|
||||
if (dest_bin && !lto) {
|
||||
if (target_machine.addPassesToEmitFile(codegen_pm, *dest_bin, nullptr, CGFT_ObjectFile)) {
|
||||
if (target_machine.addPassesToEmitFile(codegen_pm, *dest_bin, nullptr, CodeGenFileType::ObjectFile)) {
|
||||
*error_message = strdup("TargetMachine can't emit an object file");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (dest_asm) {
|
||||
if (target_machine.addPassesToEmitFile(codegen_pm, *dest_asm, nullptr, CGFT_AssemblyFile)) {
|
||||
if (target_machine.addPassesToEmitFile(codegen_pm, *dest_asm, nullptr, CodeGenFileType::AssemblyFile)) {
|
||||
*error_message = strdup("TargetMachine can't emit an assembly file");
|
||||
return true;
|
||||
}
|
||||
@ -534,7 +534,9 @@ bool ZigLLVMWriteArchive(const char *archive_name, const char **file_names, size
|
||||
if (err) return true;
|
||||
new_members.push_back(std::move(*new_member));
|
||||
}
|
||||
Error err = writeArchive(archive_name, new_members, true, kind, true, false, nullptr);
|
||||
Error err = writeArchive(archive_name, new_members,
|
||||
SymtabWritingMode::NormalSymtab, kind, true, false, nullptr);
|
||||
|
||||
if (err) return true;
|
||||
return false;
|
||||
}
|
||||
@ -620,6 +622,7 @@ static_assert((Triple::ArchType)ZigLLVM_hsail == Triple::hsail, "");
|
||||
static_assert((Triple::ArchType)ZigLLVM_hsail64 == Triple::hsail64, "");
|
||||
static_assert((Triple::ArchType)ZigLLVM_spir == Triple::spir, "");
|
||||
static_assert((Triple::ArchType)ZigLLVM_spir64 == Triple::spir64, "");
|
||||
static_assert((Triple::ArchType)ZigLLVM_spirv == Triple::spirv, "");
|
||||
static_assert((Triple::ArchType)ZigLLVM_spirv32 == Triple::spirv32, "");
|
||||
static_assert((Triple::ArchType)ZigLLVM_spirv64 == Triple::spirv64, "");
|
||||
static_assert((Triple::ArchType)ZigLLVM_kalimba == Triple::kalimba, "");
|
||||
@ -642,7 +645,6 @@ static_assert((Triple::VendorType)ZigLLVM_ImaginationTechnologies == Triple::Ima
|
||||
static_assert((Triple::VendorType)ZigLLVM_MipsTechnologies == Triple::MipsTechnologies, "");
|
||||
static_assert((Triple::VendorType)ZigLLVM_NVIDIA == Triple::NVIDIA, "");
|
||||
static_assert((Triple::VendorType)ZigLLVM_CSR == Triple::CSR, "");
|
||||
static_assert((Triple::VendorType)ZigLLVM_Myriad == Triple::Myriad, "");
|
||||
static_assert((Triple::VendorType)ZigLLVM_AMD == Triple::AMD, "");
|
||||
static_assert((Triple::VendorType)ZigLLVM_Mesa == Triple::Mesa, "");
|
||||
static_assert((Triple::VendorType)ZigLLVM_SUSE == Triple::SUSE, "");
|
||||
@ -650,8 +652,6 @@ static_assert((Triple::VendorType)ZigLLVM_OpenEmbedded == Triple::OpenEmbedded,
|
||||
static_assert((Triple::VendorType)ZigLLVM_LastVendorType == Triple::LastVendorType, "");
|
||||
|
||||
static_assert((Triple::OSType)ZigLLVM_UnknownOS == Triple::UnknownOS, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_Ananas == Triple::Ananas, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_CloudABI == Triple::CloudABI, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_Darwin == Triple::Darwin, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_DragonFly == Triple::DragonFly, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_FreeBSD == Triple::FreeBSD, "");
|
||||
@ -670,7 +670,6 @@ static_assert((Triple::OSType)ZigLLVM_UEFI == Triple::UEFI, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_Win32 == Triple::Win32, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_ZOS == Triple::ZOS, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_Haiku == Triple::Haiku, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_Minix == Triple::Minix, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_RTEMS == Triple::RTEMS, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_NaCl == Triple::NaCl, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_AIX == Triple::AIX, "");
|
||||
@ -681,8 +680,9 @@ static_assert((Triple::OSType)ZigLLVM_PS4 == Triple::PS4, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_ELFIAMCU == Triple::ELFIAMCU, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_TvOS == Triple::TvOS, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_WatchOS == Triple::WatchOS, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_DriverKit == Triple::DriverKit, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_XROS == Triple::XROS, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_Mesa3D == Triple::Mesa3D, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_Contiki == Triple::Contiki, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_AMDPAL == Triple::AMDPAL, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_HermitCore == Triple::HermitCore, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_Hurd == Triple::Hurd, "");
|
||||
@ -690,6 +690,8 @@ static_assert((Triple::OSType)ZigLLVM_WASI == Triple::WASI, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_Emscripten == Triple::Emscripten, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_ShaderModel == Triple::ShaderModel, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_LiteOS == Triple::LiteOS, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_Serenity == Triple::Serenity, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_Vulkan == Triple::Vulkan, "");
|
||||
static_assert((Triple::OSType)ZigLLVM_LastOSType == Triple::LastOSType, "");
|
||||
|
||||
static_assert((Triple::EnvironmentType)ZigLLVM_UnknownEnvironment == Triple::UnknownEnvironment, "");
|
||||
@ -748,12 +750,14 @@ static_assert((CallingConv::ID)ZigLLVM_Fast == llvm::CallingConv::Fast, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_Cold == llvm::CallingConv::Cold, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_GHC == llvm::CallingConv::GHC, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_HiPE == llvm::CallingConv::HiPE, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_WebKit_JS == llvm::CallingConv::WebKit_JS, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_AnyReg == llvm::CallingConv::AnyReg, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_PreserveMost == llvm::CallingConv::PreserveMost, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_PreserveAll == llvm::CallingConv::PreserveAll, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_Swift == llvm::CallingConv::Swift, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_CXX_FAST_TLS == llvm::CallingConv::CXX_FAST_TLS, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_Tail == llvm::CallingConv::Tail, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_CFGuard_Check == llvm::CallingConv::CFGuard_Check, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_SwiftTail == llvm::CallingConv::SwiftTail, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_FirstTargetCC == llvm::CallingConv::FirstTargetCC, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_X86_StdCall == llvm::CallingConv::X86_StdCall, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_X86_FastCall == llvm::CallingConv::X86_FastCall, "");
|
||||
@ -787,4 +791,16 @@ static_assert((CallingConv::ID)ZigLLVM_MSP430_BUILTIN == llvm::CallingConv::MSP4
|
||||
static_assert((CallingConv::ID)ZigLLVM_AMDGPU_LS == llvm::CallingConv::AMDGPU_LS, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_AMDGPU_ES == llvm::CallingConv::AMDGPU_ES, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_AArch64_VectorCall == llvm::CallingConv::AArch64_VectorCall, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_AArch64_SVE_VectorCall == llvm::CallingConv::AArch64_SVE_VectorCall, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_WASM_EmscriptenInvoke == llvm::CallingConv::WASM_EmscriptenInvoke, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_AMDGPU_Gfx == llvm::CallingConv::AMDGPU_Gfx, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_M68k_INTR == llvm::CallingConv::M68k_INTR, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_AArch64_SME_ABI_Support_Routines_PreserveMost_From_X0 == llvm::CallingConv::AArch64_SME_ABI_Support_Routines_PreserveMost_From_X0, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_AArch64_SME_ABI_Support_Routines_PreserveMost_From_X2 == llvm::CallingConv::AArch64_SME_ABI_Support_Routines_PreserveMost_From_X2, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_AMDGPU_CS_Chain == llvm::CallingConv::AMDGPU_CS_Chain, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_AMDGPU_CS_ChainPreserve == llvm::CallingConv::AMDGPU_CS_ChainPreserve, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_M68k_RTD == llvm::CallingConv::M68k_RTD, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_GRAAL == llvm::CallingConv::GRAAL, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_ARM64EC_Thunk_X64 == llvm::CallingConv::ARM64EC_Thunk_X64, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_ARM64EC_Thunk_Native == llvm::CallingConv::ARM64EC_Thunk_Native, "");
|
||||
static_assert((CallingConv::ID)ZigLLVM_MaxID == llvm::CallingConv::MaxID, "");
|
||||
|
||||
@ -60,12 +60,14 @@ enum ZigLLVM_CallingConv {
|
||||
ZigLLVM_Cold = 9,
|
||||
ZigLLVM_GHC = 10,
|
||||
ZigLLVM_HiPE = 11,
|
||||
ZigLLVM_WebKit_JS = 12,
|
||||
ZigLLVM_AnyReg = 13,
|
||||
ZigLLVM_PreserveMost = 14,
|
||||
ZigLLVM_PreserveAll = 15,
|
||||
ZigLLVM_Swift = 16,
|
||||
ZigLLVM_CXX_FAST_TLS = 17,
|
||||
ZigLLVM_Tail = 18,
|
||||
ZigLLVM_CFGuard_Check = 19,
|
||||
ZigLLVM_SwiftTail = 20,
|
||||
ZigLLVM_FirstTargetCC = 64,
|
||||
ZigLLVM_X86_StdCall = 64,
|
||||
ZigLLVM_X86_FastCall = 65,
|
||||
@ -99,6 +101,18 @@ enum ZigLLVM_CallingConv {
|
||||
ZigLLVM_AMDGPU_LS = 95,
|
||||
ZigLLVM_AMDGPU_ES = 96,
|
||||
ZigLLVM_AArch64_VectorCall = 97,
|
||||
ZigLLVM_AArch64_SVE_VectorCall = 98,
|
||||
ZigLLVM_WASM_EmscriptenInvoke = 99,
|
||||
ZigLLVM_AMDGPU_Gfx = 100,
|
||||
ZigLLVM_M68k_INTR = 101,
|
||||
ZigLLVM_AArch64_SME_ABI_Support_Routines_PreserveMost_From_X0 = 102,
|
||||
ZigLLVM_AArch64_SME_ABI_Support_Routines_PreserveMost_From_X2 = 103,
|
||||
ZigLLVM_AMDGPU_CS_Chain = 104,
|
||||
ZigLLVM_AMDGPU_CS_ChainPreserve = 105,
|
||||
ZigLLVM_M68k_RTD = 106,
|
||||
ZigLLVM_GRAAL = 107,
|
||||
ZigLLVM_ARM64EC_Thunk_X64 = 108,
|
||||
ZigLLVM_ARM64EC_Thunk_Native = 109,
|
||||
ZigLLVM_MaxID = 1023,
|
||||
};
|
||||
|
||||
@ -164,6 +178,7 @@ enum ZigLLVM_ArchType {
|
||||
ZigLLVM_hsail64, // AMD HSAIL with 64-bit pointers
|
||||
ZigLLVM_spir, // SPIR: standard portable IR for OpenCL 32-bit version
|
||||
ZigLLVM_spir64, // SPIR: standard portable IR for OpenCL 64-bit version
|
||||
ZigLLVM_spirv, // SPIR-V with logical memory layout.
|
||||
ZigLLVM_spirv32, // SPIR-V with 32-bit pointers
|
||||
ZigLLVM_spirv64, // SPIR-V with 64-bit pointers
|
||||
ZigLLVM_kalimba, // Kalimba: generic kalimba
|
||||
@ -189,7 +204,6 @@ enum ZigLLVM_VendorType {
|
||||
ZigLLVM_MipsTechnologies,
|
||||
ZigLLVM_NVIDIA,
|
||||
ZigLLVM_CSR,
|
||||
ZigLLVM_Myriad,
|
||||
ZigLLVM_AMD,
|
||||
ZigLLVM_Mesa,
|
||||
ZigLLVM_SUSE,
|
||||
@ -204,8 +218,6 @@ enum ZigLLVM_VendorType {
|
||||
enum ZigLLVM_OSType {
|
||||
ZigLLVM_UnknownOS,
|
||||
|
||||
ZigLLVM_Ananas,
|
||||
ZigLLVM_CloudABI,
|
||||
ZigLLVM_Darwin,
|
||||
ZigLLVM_DragonFly,
|
||||
ZigLLVM_FreeBSD,
|
||||
@ -222,7 +234,6 @@ enum ZigLLVM_OSType {
|
||||
ZigLLVM_Win32,
|
||||
ZigLLVM_ZOS,
|
||||
ZigLLVM_Haiku,
|
||||
ZigLLVM_Minix,
|
||||
ZigLLVM_RTEMS,
|
||||
ZigLLVM_NaCl, // Native Client
|
||||
ZigLLVM_AIX,
|
||||
@ -235,8 +246,8 @@ enum ZigLLVM_OSType {
|
||||
ZigLLVM_TvOS, // Apple tvOS
|
||||
ZigLLVM_WatchOS, // Apple watchOS
|
||||
ZigLLVM_DriverKit, // Apple DriverKit
|
||||
ZigLLVM_XROS, // Apple XROS
|
||||
ZigLLVM_Mesa3D,
|
||||
ZigLLVM_Contiki,
|
||||
ZigLLVM_AMDPAL, // AMD PAL Runtime
|
||||
ZigLLVM_HermitCore, // HermitCore Unikernel/Multikernel
|
||||
ZigLLVM_Hurd, // GNU/Hurd
|
||||
@ -244,7 +255,9 @@ enum ZigLLVM_OSType {
|
||||
ZigLLVM_Emscripten,
|
||||
ZigLLVM_ShaderModel, // DirectX ShaderModel
|
||||
ZigLLVM_LiteOS,
|
||||
ZigLLVM_LastOSType = ZigLLVM_LiteOS
|
||||
ZigLLVM_Serenity,
|
||||
ZigLLVM_Vulkan, // Vulkan SPIR-V
|
||||
ZigLLVM_LastOSType = ZigLLVM_Vulkan
|
||||
};
|
||||
|
||||
// Synchronize with target.cpp::abi_list
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user