From 15bdba410a37464f588f0ec1ddde2dfeb9694c16 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sun, 3 Jul 2022 18:41:43 -0700 Subject: [PATCH] update build scripts to LLD and LLVM 14 libraries --- build.zig | 22 +++++++++------------- cmake/Findllvm.cmake | 10 +++++++++- src/codegen/llvm.zig | 12 +++++------- src/config.zig.in | 1 - 4 files changed, 23 insertions(+), 22 deletions(-) diff --git a/build.zig b/build.zig index 0ca2e0d7d7..ac0a16162a 100644 --- a/build.zig +++ b/build.zig @@ -76,11 +76,6 @@ pub fn build(b: *Builder) !void { "llvm-has-csky", "Whether LLVM has the experimental target csky enabled", ) orelse false; - const llvm_has_ve = b.option( - bool, - "llvm-has-ve", - "Whether LLVM has the experimental target ve enabled", - ) orelse false; const llvm_has_arc = b.option( bool, "llvm-has-arc", @@ -172,7 +167,6 @@ pub fn build(b: *Builder) !void { exe_options.addOption(bool, "have_llvm", enable_llvm); exe_options.addOption(bool, "llvm_has_m68k", llvm_has_m68k); exe_options.addOption(bool, "llvm_has_csky", llvm_has_csky); - exe_options.addOption(bool, "llvm_has_ve", llvm_has_ve); exe_options.addOption(bool, "llvm_has_arc", llvm_has_arc); exe_options.addOption(bool, "force_gpa", force_gpa); @@ -396,7 +390,6 @@ pub fn build(b: *Builder) !void { test_cases_options.addOption(bool, "have_llvm", enable_llvm); test_cases_options.addOption(bool, "llvm_has_m68k", llvm_has_m68k); test_cases_options.addOption(bool, "llvm_has_csky", llvm_has_csky); - test_cases_options.addOption(bool, "llvm_has_ve", llvm_has_ve); test_cases_options.addOption(bool, "llvm_has_arc", llvm_has_arc); test_cases_options.addOption(bool, "force_gpa", force_gpa); test_cases_options.addOption(bool, "enable_qemu", b.enable_qemu); @@ -997,15 +990,11 @@ const clang_libs = [_][]const u8{ "clangToolingCore", }; const lld_libs = [_][]const u8{ - "lldDriver", "lldMinGW", "lldELF", "lldCOFF", - "lldMachO", "lldWasm", - "lldReaderWriter", - "lldCore", - "lldYAML", + "lldMachO", "lldCommon", }; // This list can be re-generated with `llvm-config --libfiles` and then @@ -1023,6 +1012,7 @@ const llvm_libs = [_][]const u8{ "LLVMXCoreCodeGen", "LLVMXCoreDesc", "LLVMXCoreInfo", + "LLVMX86TargetMCA", "LLVMX86Disassembler", "LLVMX86AsmParser", "LLVMX86CodeGen", @@ -1034,6 +1024,11 @@ const llvm_libs = [_][]const u8{ "LLVMWebAssemblyDesc", "LLVMWebAssemblyUtils", "LLVMWebAssemblyInfo", + "LLVMVEDisassembler", + "LLVMVEAsmParser", + "LLVMVECodeGen", + "LLVMVEDesc", + "LLVMVEInfo", "LLVMSystemZDisassembler", "LLVMSystemZAsmParser", "LLVMSystemZCodeGen", @@ -1093,6 +1088,7 @@ const llvm_libs = [_][]const u8{ "LLVMARMDesc", "LLVMARMUtils", "LLVMARMInfo", + "LLVMAMDGPUTargetMCA", "LLVMAMDGPUDisassembler", "LLVMAMDGPUAsmParser", "LLVMAMDGPUCodeGen", @@ -1138,7 +1134,6 @@ const llvm_libs = [_][]const u8{ "LLVMMIRParser", "LLVMAsmPrinter", "LLVMDebugInfoMSF", - "LLVMDebugInfoDWARF", "LLVMSelectionDAG", "LLVMCodeGen", "LLVMIRReader", @@ -1154,6 +1149,7 @@ const llvm_libs = [_][]const u8{ "LLVMBitWriter", "LLVMAnalysis", "LLVMProfileData", + "LLVMDebugInfoDWARF", "LLVMObject", "LLVMTextAPI", "LLVMMCParser", diff --git a/cmake/Findllvm.cmake b/cmake/Findllvm.cmake index 39ab79f514..5e4bf09983 100644 --- a/cmake/Findllvm.cmake +++ b/cmake/Findllvm.cmake @@ -126,6 +126,7 @@ elseif(ZIG_USE_LLVM_CONFIG) NEED_TARGET("RISCV") NEED_TARGET("Sparc") NEED_TARGET("SystemZ") + NEED_TARGET("VE") NEED_TARGET("WebAssembly") NEED_TARGET("X86") NEED_TARGET("XCore") @@ -200,6 +201,7 @@ else() FIND_AND_ADD_LLVM_LIB(LLVMXCoreCodeGen) FIND_AND_ADD_LLVM_LIB(LLVMXCoreDesc) FIND_AND_ADD_LLVM_LIB(LLVMXCoreInfo) + FIND_AND_ADD_LLVM_LIB(LLVMX86TargetMCA) FIND_AND_ADD_LLVM_LIB(LLVMX86Disassembler) FIND_AND_ADD_LLVM_LIB(LLVMX86AsmParser) FIND_AND_ADD_LLVM_LIB(LLVMX86CodeGen) @@ -211,6 +213,11 @@ else() FIND_AND_ADD_LLVM_LIB(LLVMWebAssemblyDesc) FIND_AND_ADD_LLVM_LIB(LLVMWebAssemblyUtils) FIND_AND_ADD_LLVM_LIB(LLVMWebAssemblyInfo) + FIND_AND_ADD_LLVM_LIB(LLVMVEDisassembler) + FIND_AND_ADD_LLVM_LIB(LLVMVEAsmParser) + FIND_AND_ADD_LLVM_LIB(LLVMVECodeGen) + FIND_AND_ADD_LLVM_LIB(LLVMVEDesc) + FIND_AND_ADD_LLVM_LIB(LLVMVEInfo) FIND_AND_ADD_LLVM_LIB(LLVMSystemZDisassembler) FIND_AND_ADD_LLVM_LIB(LLVMSystemZAsmParser) FIND_AND_ADD_LLVM_LIB(LLVMSystemZCodeGen) @@ -270,6 +277,7 @@ else() FIND_AND_ADD_LLVM_LIB(LLVMARMDesc) FIND_AND_ADD_LLVM_LIB(LLVMARMUtils) FIND_AND_ADD_LLVM_LIB(LLVMARMInfo) + FIND_AND_ADD_LLVM_LIB(LLVMAMDGPUTargetMCA) FIND_AND_ADD_LLVM_LIB(LLVMAMDGPUDisassembler) FIND_AND_ADD_LLVM_LIB(LLVMAMDGPUAsmParser) FIND_AND_ADD_LLVM_LIB(LLVMAMDGPUCodeGen) @@ -315,7 +323,6 @@ else() FIND_AND_ADD_LLVM_LIB(LLVMMIRParser) FIND_AND_ADD_LLVM_LIB(LLVMAsmPrinter) FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoMSF) - FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoDWARF) FIND_AND_ADD_LLVM_LIB(LLVMSelectionDAG) FIND_AND_ADD_LLVM_LIB(LLVMCodeGen) FIND_AND_ADD_LLVM_LIB(LLVMIRReader) @@ -331,6 +338,7 @@ else() FIND_AND_ADD_LLVM_LIB(LLVMBitWriter) FIND_AND_ADD_LLVM_LIB(LLVMAnalysis) FIND_AND_ADD_LLVM_LIB(LLVMProfileData) + FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoDWARF) FIND_AND_ADD_LLVM_LIB(LLVMObject) FIND_AND_ADD_LLVM_LIB(LLVMTextAPI) FIND_AND_ADD_LLVM_LIB(LLVMMCParser) diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig index 902e4797b8..590cee3d73 100644 --- a/src/codegen/llvm.zig +++ b/src/codegen/llvm.zig @@ -8745,13 +8745,11 @@ fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { } }, .ve => { - if (build_options.llvm_has_ve) { - llvm.LLVMInitializeVETarget(); - llvm.LLVMInitializeVETargetInfo(); - llvm.LLVMInitializeVETargetMC(); - llvm.LLVMInitializeVEAsmPrinter(); - llvm.LLVMInitializeVEAsmParser(); - } + llvm.LLVMInitializeVETarget(); + llvm.LLVMInitializeVETargetInfo(); + llvm.LLVMInitializeVETargetMC(); + llvm.LLVMInitializeVEAsmPrinter(); + llvm.LLVMInitializeVEAsmParser(); }, .arc => { if (build_options.llvm_has_arc) { diff --git a/src/config.zig.in b/src/config.zig.in index 104c3ed8eb..a886b2d28e 100644 --- a/src/config.zig.in +++ b/src/config.zig.in @@ -1,7 +1,6 @@ pub const have_llvm = true; pub const llvm_has_m68k = false; pub const llvm_has_csky = false; -pub const llvm_has_ve = false; pub const llvm_has_arc = false; pub const version: [:0]const u8 = "@ZIG_VERSION@"; pub const semver = @import("std").SemanticVersion.parse(version) catch unreachable;