From 94ec2190f8d8c41d19b668511bf31fae32bcd095 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 23 Oct 2017 21:43:18 -0400 Subject: update to llvm master --- src/target.cpp | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'src/target.cpp') diff --git a/src/target.cpp b/src/target.cpp index de7509f4ae..6d424aaacf 100644 --- a/src/target.cpp +++ b/src/target.cpp @@ -13,6 +13,7 @@ #include static const ArchType arch_list[] = { + {ZigLLVM_arm, ZigLLVM_ARMSubArch_v8_3a}, {ZigLLVM_arm, ZigLLVM_ARMSubArch_v8_2a}, {ZigLLVM_arm, ZigLLVM_ARMSubArch_v8_1a}, {ZigLLVM_arm, ZigLLVM_ARMSubArch_v8}, @@ -33,9 +34,30 @@ static const ArchType arch_list[] = { {ZigLLVM_arm, ZigLLVM_ARMSubArch_v5te}, {ZigLLVM_arm, ZigLLVM_ARMSubArch_v4t}, - {ZigLLVM_armeb, ZigLLVM_NoSubArch}, + {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v8_3a}, + {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v8_2a}, + {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v8_1a}, + {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v8}, + {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v8r}, + {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v8m_baseline}, + {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v8m_mainline}, + {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v7}, + {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v7em}, + {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v7m}, + {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v7s}, + {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v7k}, + {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v7ve}, + {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v6}, + {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v6m}, + {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v6k}, + {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v6t2}, + {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v5}, + {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v5te}, + {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v4t}, + {ZigLLVM_aarch64, ZigLLVM_NoSubArch}, {ZigLLVM_aarch64_be, ZigLLVM_NoSubArch}, + {ZigLLVM_arc, ZigLLVM_NoSubArch}, {ZigLLVM_avr, ZigLLVM_NoSubArch}, {ZigLLVM_bpfel, ZigLLVM_NoSubArch}, {ZigLLVM_bpfeb, ZigLLVM_NoSubArch}, @@ -345,6 +367,7 @@ void resolve_target_object_format(ZigTarget *target) { case ZigLLVM_amdil: case ZigLLVM_amdil64: case ZigLLVM_armeb: + case ZigLLVM_arc: case ZigLLVM_avr: case ZigLLVM_bpfeb: case ZigLLVM_bpfel: @@ -407,6 +430,7 @@ static int get_arch_pointer_bit_width(ZigLLVM_ArchType arch) { case ZigLLVM_msp430: return 16; + case ZigLLVM_arc: case ZigLLVM_arm: case ZigLLVM_armeb: case ZigLLVM_hexagon: -- cgit v1.2.3 From 9a99bd3a71f1b20afd155f440c8dedd69273e8cb Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 24 Oct 2017 02:14:55 -0400 Subject: use llvm named structs for const values when possible normally we want to use llvm types for constants. but union constants (which are found inside enums) when they are initialized with the non-most-aligned-member must be unnamed structs. these bubble up to all aggregate types. if a constant of an aggregate type contains, recursively, a union constant with a non-most-aligned-member initialized, the aggregate typed constant must be unnamed too. this fixes all the asserts that were coming in from llvm master branch. --- src/target.cpp | 1 + src/zig_llvm.hpp | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'src/target.cpp') diff --git a/src/target.cpp b/src/target.cpp index 6d424aaacf..38421a8921 100644 --- a/src/target.cpp +++ b/src/target.cpp @@ -183,6 +183,7 @@ static const ZigLLVM_EnvironmentType environ_list[] = { ZigLLVM_AMDOpenCL, ZigLLVM_CoreCLR, ZigLLVM_OpenCL, + ZigLLVM_Simulator, }; static const ZigLLVM_ObjectFormatType oformat_list[] = { diff --git a/src/zig_llvm.hpp b/src/zig_llvm.hpp index 8c05b60d16..93ae462a28 100644 --- a/src/zig_llvm.hpp +++ b/src/zig_llvm.hpp @@ -339,8 +339,9 @@ enum ZigLLVM_EnvironmentType { ZigLLVM_AMDOpenCL, ZigLLVM_CoreCLR, ZigLLVM_OpenCL, + ZigLLVM_Simulator, // Simulator variants of other systems, e.g., Apple's iOS - ZigLLVM_LastEnvironmentType = ZigLLVM_OpenCL + ZigLLVM_LastEnvironmentType = ZigLLVM_Simulator }; enum ZigLLVM_ObjectFormatType { -- cgit v1.2.3 From 188fd47a51aa735f60169513acee316e6c44f700 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 31 Oct 2017 20:57:49 -0400 Subject: add missing environment --- src/target.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'src/target.cpp') diff --git a/src/target.cpp b/src/target.cpp index 38421a8921..eb14330e22 100644 --- a/src/target.cpp +++ b/src/target.cpp @@ -166,6 +166,7 @@ static const ZigLLVM_EnvironmentType environ_list[] = { ZigLLVM_UnknownEnvironment, ZigLLVM_GNU, + ZigLLVM_GNUABIN32, ZigLLVM_GNUABI64, ZigLLVM_GNUEABI, ZigLLVM_GNUEABIHF, -- cgit v1.2.3