diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2024-04-25 15:41:11 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2024-05-08 19:37:28 -0700 |
| commit | 243ae3a6cb56b3da4d84b368f2af3cbb451233b9 (patch) | |
| tree | 2d50d4cb6699bc23009382c67c60dbc58e8cfe08 /src/zig_llvm.cpp | |
| parent | 70c85b1bf1c07db4420e8431c3322bfeb87688ee (diff) | |
| download | zig-243ae3a6cb56b3da4d84b368f2af3cbb451233b9.tar.gz zig-243ae3a6cb56b3da4d84b368f2af3cbb451233b9.zip | |
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.
Diffstat (limited to 'src/zig_llvm.cpp')
| -rw-r--r-- | src/zig_llvm.cpp | 44 |
1 files changed, 30 insertions, 14 deletions
diff --git a/src/zig_llvm.cpp b/src/zig_llvm.cpp index ae1f02422b..72f1026617 100644 --- a/src/zig_llvm.cpp +++ b/src/zig_llvm.cpp @@ -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, ""); |
