authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-07-16 22:23:48-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-07-16 22:23:48-04:00
log8f92a49dfde5e8690525da028844cb7c1188d397
tree6974ac66da2a301b8a845bb9008de02ecc4ed39e
parentc0b4121ff2d31b2ef37e480eec18f0bd063d7a2d
signaturelock-open Commit is signed but in an unrecognized format.

update to llvm9 trunk


8 files changed, 59 insertions(+), 34 deletions(-)

README.md+5-5
...@@ -26,14 +26,14 @@ Note that you can...@@ -26,14 +26,14 @@ Note that you can
2626
27 * cmake >= 2.8.527 * cmake >= 2.8.5
28 * gcc >= 5.0.0 or clang >= 3.6.028 * gcc >= 5.0.0 or clang >= 3.6.0
29 * LLVM, Clang, LLD development libraries == 8.x, compiled with the same gcc or clang version above29 * LLVM, Clang, LLD development libraries == 9.x, compiled with the same gcc or clang version above
30 - Use the system package manager, or [build from source](https://github.com/ziglang/zig/wiki/How-to-build-LLVM,-libclang,-and-liblld-from-source#posix).30 - Use the system package manager, or [build from source](https://github.com/ziglang/zig/wiki/How-to-build-LLVM,-libclang,-and-liblld-from-source#posix).
3131
32##### Windows32##### Windows
3333
34 * cmake >= 2.8.534 * cmake >= 2.8.5
35 * Microsoft Visual Studio 2017 (version 15.8)35 * Microsoft Visual Studio 2017 (version 15.8)
36 * LLVM, Clang, LLD development libraries == 8.x, compiled with the same MSVC version above36 * LLVM, Clang, LLD development libraries == 9.x, compiled with the same MSVC version above
37 - Use the [pre-built binaries](https://github.com/ziglang/zig/wiki/How-to-build-LLVM,-libclang,-and-liblld-from-source#pre-built-binaries) or [build from source](https://github.com/ziglang/zig/wiki/How-to-build-LLVM,-libclang,-and-liblld-from-source#windows).37 - Use the [pre-built binaries](https://github.com/ziglang/zig/wiki/How-to-build-LLVM,-libclang,-and-liblld-from-source#pre-built-binaries) or [build from source](https://github.com/ziglang/zig/wiki/How-to-build-LLVM,-libclang,-and-liblld-from-source#windows).
3838
39#### Instructions39#### Instructions
...@@ -50,11 +50,11 @@ make install...@@ -50,11 +50,11 @@ make install
50##### MacOS50##### MacOS
5151
52```52```
53brew install cmake llvm@853brew install cmake llvm@9
54brew outdated llvm@8 || brew upgrade llvm@854brew outdated llvm@9 || brew upgrade llvm@9
55mkdir build55mkdir build
56cd build56cd build
57cmake .. -DCMAKE_PREFIX_PATH=/usr/local/Cellar/llvm/8.0.0_157cmake .. -DCMAKE_PREFIX_PATH=/usr/local/Cellar/llvm/9.0.0
58make install58make install
59```59```
6060
cmake/Findclang.cmake+8-8
...@@ -38,10 +38,10 @@ if(MSVC)...@@ -38,10 +38,10 @@ if(MSVC)
38else()38else()
39 find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h39 find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h
40 PATHS40 PATHS
41 /usr/lib/llvm/8/include41 /usr/lib/llvm/9/include
42 /usr/lib/llvm-8/include42 /usr/lib/llvm-9/include
43 /usr/lib/llvm-8.0/include43 /usr/lib/llvm-9.0/include
44 /usr/local/llvm80/include44 /usr/local/llvm90/include
45 /mingw64/include)45 /mingw64/include)
4646
47 macro(FIND_AND_ADD_CLANG_LIB _libname_)47 macro(FIND_AND_ADD_CLANG_LIB _libname_)
...@@ -49,10 +49,10 @@ else()...@@ -49,10 +49,10 @@ else()
49 find_library(CLANG_${_prettylibname_}_LIB NAMES ${_libname_}49 find_library(CLANG_${_prettylibname_}_LIB NAMES ${_libname_}
50 PATHS50 PATHS
51 ${CLANG_LIBDIRS}51 ${CLANG_LIBDIRS}
52 /usr/lib/llvm/8/lib52 /usr/lib/llvm/9/lib
53 /usr/lib/llvm-8/lib53 /usr/lib/llvm-9/lib
54 /usr/lib/llvm-8.0/lib54 /usr/lib/llvm-9.0/lib
55 /usr/local/llvm80/lib55 /usr/local/llvm90/lib
56 /mingw64/lib56 /mingw64/lib
57 /c/msys64/mingw64/lib57 /c/msys64/mingw64/lib
58 c:\\msys64\\mingw64\\lib)58 c:\\msys64\\mingw64\\lib)
cmake/Findlld.cmake+7-7
...@@ -8,14 +8,14 @@...@@ -8,14 +8,14 @@
88
9find_path(LLD_INCLUDE_DIRS NAMES lld/Common/Driver.h9find_path(LLD_INCLUDE_DIRS NAMES lld/Common/Driver.h
10 PATHS10 PATHS
11 /usr/lib/llvm-8.0/include11 /usr/lib/llvm-9.0/include
12 /usr/local/llvm80/include12 /usr/local/llvm90/include
13 /mingw64/include)13 /mingw64/include)
1414
15find_library(LLD_LIBRARY NAMES lld-8.0 lld80 lld15find_library(LLD_LIBRARY NAMES lld-9.0 lld90 lld
16 PATHS16 PATHS
17 /usr/lib/llvm-8.0/lib17 /usr/lib/llvm-9.0/lib
18 /usr/local/llvm80/lib18 /usr/local/llvm90/lib
19)19)
20if(EXISTS ${LLD_LIBRARY})20if(EXISTS ${LLD_LIBRARY})
21 set(LLD_LIBRARIES ${LLD_LIBRARY})21 set(LLD_LIBRARIES ${LLD_LIBRARY})
...@@ -24,8 +24,8 @@ else()...@@ -24,8 +24,8 @@ else()
24 string(TOUPPER ${_libname_} _prettylibname_)24 string(TOUPPER ${_libname_} _prettylibname_)
25 find_library(LLD_${_prettylibname_}_LIB NAMES ${_libname_}25 find_library(LLD_${_prettylibname_}_LIB NAMES ${_libname_}
26 PATHS26 PATHS
27 /usr/lib/llvm-8.0/lib27 /usr/lib/llvm-9.0/lib
28 /usr/local/llvm80/lib28 /usr/local/llvm90/lib
29 /mingw64/lib29 /mingw64/lib
30 /c/msys64/mingw64/lib30 /c/msys64/mingw64/lib
31 c:/msys64/mingw64/lib)31 c:/msys64/mingw64/lib)
cmake/Findllvm.cmake+9-9
...@@ -8,12 +8,12 @@...@@ -8,12 +8,12 @@
8# LLVM_LIBDIRS8# LLVM_LIBDIRS
99
10find_program(LLVM_CONFIG_EXE10find_program(LLVM_CONFIG_EXE
11 NAMES llvm-config-8 llvm-config-8.0 llvm-config80 llvm-config11 NAMES llvm-config-9 llvm-config-9.0 llvm-config90 llvm-config
12 PATHS12 PATHS
13 "/mingw64/bin"13 "/mingw64/bin"
14 "/c/msys64/mingw64/bin"14 "/c/msys64/mingw64/bin"
15 "c:/msys64/mingw64/bin"15 "c:/msys64/mingw64/bin"
16 "C:/Libraries/llvm-8.0.0/bin")16 "C:/Libraries/llvm-9.0.0/bin")
1717
18if ("${LLVM_CONFIG_EXE}" STREQUAL "LLVM_CONFIG_EXE-NOTFOUND")18if ("${LLVM_CONFIG_EXE}" STREQUAL "LLVM_CONFIG_EXE-NOTFOUND")
19 message(FATAL_ERROR "unable to find llvm-config")19 message(FATAL_ERROR "unable to find llvm-config")
...@@ -28,14 +28,14 @@ execute_process(...@@ -28,14 +28,14 @@ execute_process(
28 OUTPUT_VARIABLE LLVM_CONFIG_VERSION28 OUTPUT_VARIABLE LLVM_CONFIG_VERSION
29 OUTPUT_STRIP_TRAILING_WHITESPACE)29 OUTPUT_STRIP_TRAILING_WHITESPACE)
3030
31if("${LLVM_CONFIG_VERSION}" VERSION_LESS 8)31if("${LLVM_CONFIG_VERSION}" VERSION_LESS 9)
32 message(FATAL_ERROR "expected LLVM 8.x but found ${LLVM_CONFIG_VERSION}")32 message(FATAL_ERROR "expected LLVM 9.x but found ${LLVM_CONFIG_VERSION}")
33endif()33endif()
34if("${LLVM_CONFIG_VERSION}" VERSION_EQUAL 9)34if("${LLVM_CONFIG_VERSION}" VERSION_EQUAL 10)
35 message(FATAL_ERROR "expected LLVM 8.x but found ${LLVM_CONFIG_VERSION}")35 message(FATAL_ERROR "expected LLVM 9.x but found ${LLVM_CONFIG_VERSION}")
36endif()36endif()
37if("${LLVM_CONFIG_VERSION}" VERSION_GREATER 9)37if("${LLVM_CONFIG_VERSION}" VERSION_GREATER 10)
38 message(FATAL_ERROR "expected LLVM 8.x but found ${LLVM_CONFIG_VERSION}")38 message(FATAL_ERROR "expected LLVM 9.x but found ${LLVM_CONFIG_VERSION}")
39endif()39endif()
4040
41execute_process(41execute_process(
...@@ -112,7 +112,7 @@ execute_process(...@@ -112,7 +112,7 @@ execute_process(
112set(LLVM_LIBRARIES ${LLVM_LIBRARIES} ${LLVM_SYSTEM_LIBS})112set(LLVM_LIBRARIES ${LLVM_LIBRARIES} ${LLVM_SYSTEM_LIBS})
113113
114if(NOT LLVM_LIBRARIES)114if(NOT LLVM_LIBRARIES)
115 find_library(LLVM_LIBRARIES NAMES LLVM LLVM-8 LLVM-8.0)115 find_library(LLVM_LIBRARIES NAMES LLVM LLVM-9 LLVM-9.0)
116endif()116endif()
117117
118link_directories("${CMAKE_PREFIX_PATH}/lib")118link_directories("${CMAKE_PREFIX_PATH}/lib")
src/target.cpp+7
...@@ -33,6 +33,7 @@ static const ZigLLVM_SubArchType subarch_list_arm32[] = {...@@ -33,6 +33,7 @@ static const ZigLLVM_SubArchType subarch_list_arm32[] = {
33 ZigLLVM_ARMSubArch_v8r,33 ZigLLVM_ARMSubArch_v8r,
34 ZigLLVM_ARMSubArch_v8m_baseline,34 ZigLLVM_ARMSubArch_v8m_baseline,
35 ZigLLVM_ARMSubArch_v8m_mainline,35 ZigLLVM_ARMSubArch_v8m_mainline,
36 ZigLLVM_ARMSubArch_v8_1m_mainline,
36 ZigLLVM_ARMSubArch_v7,37 ZigLLVM_ARMSubArch_v7,
37 ZigLLVM_ARMSubArch_v7em,38 ZigLLVM_ARMSubArch_v7em,
38 ZigLLVM_ARMSubArch_v7m,39 ZigLLVM_ARMSubArch_v7m,
...@@ -76,6 +77,7 @@ static const ZigLLVM_ArchType arch_list[] = {...@@ -76,6 +77,7 @@ static const ZigLLVM_ArchType arch_list[] = {
76 ZigLLVM_armeb, // ARM (big endian): armeb77 ZigLLVM_armeb, // ARM (big endian): armeb
77 ZigLLVM_aarch64, // AArch64 (little endian): aarch6478 ZigLLVM_aarch64, // AArch64 (little endian): aarch64
78 ZigLLVM_aarch64_be, // AArch64 (big endian): aarch64_be79 ZigLLVM_aarch64_be, // AArch64 (big endian): aarch64_be
80 ZigLLVM_aarch64_32, // AArch64 (little endian) ILP32: aarch64_32
79 ZigLLVM_arc, // ARC: Synopsys ARC81 ZigLLVM_arc, // ARC: Synopsys ARC
80 ZigLLVM_avr, // AVR: Atmel AVR microcontroller82 ZigLLVM_avr, // AVR: Atmel AVR microcontroller
81 ZigLLVM_bpfel, // eBPF or extended BPF or 64-bit BPF (little endian)83 ZigLLVM_bpfel, // eBPF or extended BPF or 64-bit BPF (little endian)
...@@ -176,6 +178,7 @@ static const Os os_list[] = {...@@ -176,6 +178,7 @@ static const Os os_list[] = {
176 OsHermitCore,178 OsHermitCore,
177 OsHurd,179 OsHurd,
178 OsWASI,180 OsWASI,
181 OsEmscripten,
179 OsZen,182 OsZen,
180 OsUefi,183 OsUefi,
181};184};
...@@ -193,15 +196,19 @@ static const ZigLLVM_EnvironmentType abi_list[] = {...@@ -193,15 +196,19 @@ static const ZigLLVM_EnvironmentType abi_list[] = {
193 ZigLLVM_CODE16,196 ZigLLVM_CODE16,
194 ZigLLVM_EABI,197 ZigLLVM_EABI,
195 ZigLLVM_EABIHF,198 ZigLLVM_EABIHF,
199 ZigLLVM_ELFv1,
200 ZigLLVM_ELFv2,
196 ZigLLVM_Android,201 ZigLLVM_Android,
197 ZigLLVM_Musl,202 ZigLLVM_Musl,
198 ZigLLVM_MuslEABI,203 ZigLLVM_MuslEABI,
199 ZigLLVM_MuslEABIHF,204 ZigLLVM_MuslEABIHF,
205
200 ZigLLVM_MSVC,206 ZigLLVM_MSVC,
201 ZigLLVM_Itanium,207 ZigLLVM_Itanium,
202 ZigLLVM_Cygnus,208 ZigLLVM_Cygnus,
203 ZigLLVM_CoreCLR,209 ZigLLVM_CoreCLR,
204 ZigLLVM_Simulator,210 ZigLLVM_Simulator,
211 ZigLLVM_MacABI,
205};212};
206213
207static const ZigLLVM_ObjectFormatType oformat_list[] = {214static const ZigLLVM_ObjectFormatType oformat_list[] = {
src/target.hpp+1
...@@ -48,6 +48,7 @@ enum Os {...@@ -48,6 +48,7 @@ enum Os {
48 OsHermitCore,48 OsHermitCore,
49 OsHurd,49 OsHurd,
50 OsWASI,50 OsWASI,
51 OsEmscripten,
51 OsZen,52 OsZen,
52 OsUefi,53 OsUefi,
53};54};
src/zig_llvm.cpp+11-1
...@@ -176,7 +176,6 @@ bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machine_ref, LLVMM...@@ -176,7 +176,6 @@ bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machine_ref, LLVMM
176 PMBuilder->SizeLevel = is_small ? 2 : 0;176 PMBuilder->SizeLevel = is_small ? 2 : 0;
177177
178 PMBuilder->DisableTailCalls = is_debug;178 PMBuilder->DisableTailCalls = is_debug;
179 PMBuilder->DisableUnitAtATime = is_debug;
180 PMBuilder->DisableUnrollLoops = is_debug;179 PMBuilder->DisableUnrollLoops = is_debug;
181 PMBuilder->SLPVectorize = !is_debug;180 PMBuilder->SLPVectorize = !is_debug;
182 PMBuilder->LoopVectorize = !is_debug;181 PMBuilder->LoopVectorize = !is_debug;
...@@ -805,6 +804,8 @@ const char *ZigLLVMGetSubArchTypeName(ZigLLVM_SubArchType sub_arch) {...@@ -805,6 +804,8 @@ const char *ZigLLVMGetSubArchTypeName(ZigLLVM_SubArchType sub_arch) {
805 return "v8m_baseline";804 return "v8m_baseline";
806 case ZigLLVM_ARMSubArch_v8m_mainline:805 case ZigLLVM_ARMSubArch_v8m_mainline:
807 return "v8m_mainline";806 return "v8m_mainline";
807 case ZigLLVM_ARMSubArch_v8_1m_mainline:
808 return "v8_1m_mainline";
808 case ZigLLVM_ARMSubArch_v7:809 case ZigLLVM_ARMSubArch_v7:
809 return "v7";810 return "v7";
810 case ZigLLVM_ARMSubArch_v7em:811 case ZigLLVM_ARMSubArch_v7em:
...@@ -964,6 +965,7 @@ bool ZigLLDLink(ZigLLVM_ObjectFormatType oformat, const char **args, size_t arg_...@@ -964,6 +965,7 @@ bool ZigLLDLink(ZigLLVM_ObjectFormatType oformat, const char **args, size_t arg_
964965
965 switch (oformat) {966 switch (oformat) {
966 case ZigLLVM_UnknownObjectFormat:967 case ZigLLVM_UnknownObjectFormat:
968 case ZigLLVM_XCOFF:
967 assert(false); // unreachable969 assert(false); // unreachable
968970
969 case ZigLLVM_COFF:971 case ZigLLVM_COFF:
...@@ -1043,6 +1045,7 @@ static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v8 == Triple::ARMSubArch_v...@@ -1043,6 +1045,7 @@ static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v8 == Triple::ARMSubArch_v
1043static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v8r == Triple::ARMSubArch_v8r, "");1045static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v8r == Triple::ARMSubArch_v8r, "");
1044static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v8m_baseline == Triple::ARMSubArch_v8m_baseline, "");1046static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v8m_baseline == Triple::ARMSubArch_v8m_baseline, "");
1045static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v8m_mainline == Triple::ARMSubArch_v8m_mainline, "");1047static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v8m_mainline == Triple::ARMSubArch_v8m_mainline, "");
1048static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v8_1m_mainline == Triple::ARMSubArch_v8_1m_mainline, "");
1046static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v7 == Triple::ARMSubArch_v7, "");1049static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v7 == Triple::ARMSubArch_v7, "");
1047static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v7em == Triple::ARMSubArch_v7em, "");1050static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v7em == Triple::ARMSubArch_v7em, "");
1048static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v7m == Triple::ARMSubArch_v7m, "");1051static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v7m == Triple::ARMSubArch_v7m, "");
...@@ -1115,6 +1118,10 @@ static_assert((Triple::OSType)ZigLLVM_WatchOS == Triple::WatchOS, "");...@@ -1115,6 +1118,10 @@ static_assert((Triple::OSType)ZigLLVM_WatchOS == Triple::WatchOS, "");
1115static_assert((Triple::OSType)ZigLLVM_Mesa3D == Triple::Mesa3D, "");1118static_assert((Triple::OSType)ZigLLVM_Mesa3D == Triple::Mesa3D, "");
1116static_assert((Triple::OSType)ZigLLVM_Contiki == Triple::Contiki, "");1119static_assert((Triple::OSType)ZigLLVM_Contiki == Triple::Contiki, "");
1117static_assert((Triple::OSType)ZigLLVM_AMDPAL == Triple::AMDPAL, "");1120static_assert((Triple::OSType)ZigLLVM_AMDPAL == Triple::AMDPAL, "");
1121static_assert((Triple::OSType)ZigLLVM_HermitCore == Triple::HermitCore, "");
1122static_assert((Triple::OSType)ZigLLVM_Hurd == Triple::Hurd, "");
1123static_assert((Triple::OSType)ZigLLVM_WASI == Triple::WASI, "");
1124static_assert((Triple::OSType)ZigLLVM_Emscripten == Triple::Emscripten, "");
1118static_assert((Triple::OSType)ZigLLVM_LastOSType == Triple::LastOSType, "");1125static_assert((Triple::OSType)ZigLLVM_LastOSType == Triple::LastOSType, "");
11191126
1120static_assert((Triple::EnvironmentType)ZigLLVM_UnknownEnvironment == Triple::UnknownEnvironment, "");1127static_assert((Triple::EnvironmentType)ZigLLVM_UnknownEnvironment == Triple::UnknownEnvironment, "");
...@@ -1127,6 +1134,8 @@ static_assert((Triple::EnvironmentType)ZigLLVM_GNUX32 == Triple::GNUX32, "");...@@ -1127,6 +1134,8 @@ static_assert((Triple::EnvironmentType)ZigLLVM_GNUX32 == Triple::GNUX32, "");
1127static_assert((Triple::EnvironmentType)ZigLLVM_CODE16 == Triple::CODE16, "");1134static_assert((Triple::EnvironmentType)ZigLLVM_CODE16 == Triple::CODE16, "");
1128static_assert((Triple::EnvironmentType)ZigLLVM_EABI == Triple::EABI, "");1135static_assert((Triple::EnvironmentType)ZigLLVM_EABI == Triple::EABI, "");
1129static_assert((Triple::EnvironmentType)ZigLLVM_EABIHF == Triple::EABIHF, "");1136static_assert((Triple::EnvironmentType)ZigLLVM_EABIHF == Triple::EABIHF, "");
1137static_assert((Triple::EnvironmentType)ZigLLVM_ELFv1 == Triple::ELFv1, "");
1138static_assert((Triple::EnvironmentType)ZigLLVM_ELFv2 == Triple::ELFv2, "");
1130static_assert((Triple::EnvironmentType)ZigLLVM_Android == Triple::Android, "");1139static_assert((Triple::EnvironmentType)ZigLLVM_Android == Triple::Android, "");
1131static_assert((Triple::EnvironmentType)ZigLLVM_Musl == Triple::Musl, "");1140static_assert((Triple::EnvironmentType)ZigLLVM_Musl == Triple::Musl, "");
1132static_assert((Triple::EnvironmentType)ZigLLVM_MuslEABI == Triple::MuslEABI, "");1141static_assert((Triple::EnvironmentType)ZigLLVM_MuslEABI == Triple::MuslEABI, "");
...@@ -1143,3 +1152,4 @@ static_assert((Triple::ObjectFormatType)ZigLLVM_COFF == Triple::COFF, "");...@@ -1143,3 +1152,4 @@ static_assert((Triple::ObjectFormatType)ZigLLVM_COFF == Triple::COFF, "");
1143static_assert((Triple::ObjectFormatType)ZigLLVM_ELF == Triple::ELF, "");1152static_assert((Triple::ObjectFormatType)ZigLLVM_ELF == Triple::ELF, "");
1144static_assert((Triple::ObjectFormatType)ZigLLVM_MachO == Triple::MachO, "");1153static_assert((Triple::ObjectFormatType)ZigLLVM_MachO == Triple::MachO, "");
1145static_assert((Triple::ObjectFormatType)ZigLLVM_Wasm == Triple::Wasm, "");1154static_assert((Triple::ObjectFormatType)ZigLLVM_Wasm == Triple::Wasm, "");
1155static_assert((Triple::ObjectFormatType)ZigLLVM_XCOFF == Triple::XCOFF, "");
src/zig_llvm.h+11-4
...@@ -227,6 +227,7 @@ enum ZigLLVM_ArchType {...@@ -227,6 +227,7 @@ enum ZigLLVM_ArchType {
227 ZigLLVM_armeb, // ARM (big endian): armeb227 ZigLLVM_armeb, // ARM (big endian): armeb
228 ZigLLVM_aarch64, // AArch64 (little endian): aarch64228 ZigLLVM_aarch64, // AArch64 (little endian): aarch64
229 ZigLLVM_aarch64_be, // AArch64 (big endian): aarch64_be229 ZigLLVM_aarch64_be, // AArch64 (big endian): aarch64_be
230 ZigLLVM_aarch64_32, // AArch64 (little endian) ILP32: aarch64_32
230 ZigLLVM_arc, // ARC: Synopsys ARC231 ZigLLVM_arc, // ARC: Synopsys ARC
231 ZigLLVM_avr, // AVR: Atmel AVR microcontroller232 ZigLLVM_avr, // AVR: Atmel AVR microcontroller
232 ZigLLVM_bpfel, // eBPF or extended BPF or 64-bit BPF (little endian)233 ZigLLVM_bpfel, // eBPF or extended BPF or 64-bit BPF (little endian)
...@@ -289,6 +290,7 @@ enum ZigLLVM_SubArchType {...@@ -289,6 +290,7 @@ enum ZigLLVM_SubArchType {
289 ZigLLVM_ARMSubArch_v8r,290 ZigLLVM_ARMSubArch_v8r,
290 ZigLLVM_ARMSubArch_v8m_baseline,291 ZigLLVM_ARMSubArch_v8m_baseline,
291 ZigLLVM_ARMSubArch_v8m_mainline,292 ZigLLVM_ARMSubArch_v8m_mainline,
293 ZigLLVM_ARMSubArch_v8_1m_mainline,
292 ZigLLVM_ARMSubArch_v7,294 ZigLLVM_ARMSubArch_v7,
293 ZigLLVM_ARMSubArch_v7em,295 ZigLLVM_ARMSubArch_v7em,
294 ZigLLVM_ARMSubArch_v7m,296 ZigLLVM_ARMSubArch_v7m,
...@@ -370,11 +372,12 @@ enum ZigLLVM_OSType {...@@ -370,11 +372,12 @@ enum ZigLLVM_OSType {
370 ZigLLVM_HermitCore, // HermitCore Unikernel/Multikernel372 ZigLLVM_HermitCore, // HermitCore Unikernel/Multikernel
371 ZigLLVM_Hurd, // GNU/Hurd373 ZigLLVM_Hurd, // GNU/Hurd
372 ZigLLVM_WASI, // Experimental WebAssembly OS374 ZigLLVM_WASI, // Experimental WebAssembly OS
375 ZigLLVM_Emscripten,
373376
374 ZigLLVM_LastOSType = ZigLLVM_WASI377 ZigLLVM_LastOSType = ZigLLVM_Emscripten
375};378};
376379
377// Synchronize with target.cpp::environ_list380// Synchronize with target.cpp::abi_list
378enum ZigLLVM_EnvironmentType {381enum ZigLLVM_EnvironmentType {
379 ZigLLVM_UnknownEnvironment,382 ZigLLVM_UnknownEnvironment,
380383
...@@ -387,6 +390,8 @@ enum ZigLLVM_EnvironmentType {...@@ -387,6 +390,8 @@ enum ZigLLVM_EnvironmentType {
387 ZigLLVM_CODE16,390 ZigLLVM_CODE16,
388 ZigLLVM_EABI,391 ZigLLVM_EABI,
389 ZigLLVM_EABIHF,392 ZigLLVM_EABIHF,
393 ZigLLVM_ELFv1,
394 ZigLLVM_ELFv2,
390 ZigLLVM_Android,395 ZigLLVM_Android,
391 ZigLLVM_Musl,396 ZigLLVM_Musl,
392 ZigLLVM_MuslEABI,397 ZigLLVM_MuslEABI,
...@@ -396,9 +401,10 @@ enum ZigLLVM_EnvironmentType {...@@ -396,9 +401,10 @@ enum ZigLLVM_EnvironmentType {
396 ZigLLVM_Itanium,401 ZigLLVM_Itanium,
397 ZigLLVM_Cygnus,402 ZigLLVM_Cygnus,
398 ZigLLVM_CoreCLR,403 ZigLLVM_CoreCLR,
399 ZigLLVM_Simulator,404 ZigLLVM_Simulator, // Simulator variants of other systems, e.g., Apple's iOS
405 ZigLLVM_MacABI, // Mac Catalyst variant of Apple's iOS deployment target.
400406
401 ZigLLVM_LastEnvironmentType = ZigLLVM_Simulator407 ZigLLVM_LastEnvironmentType = ZigLLVM_MacABI
402};408};
403409
404enum ZigLLVM_ObjectFormatType {410enum ZigLLVM_ObjectFormatType {
...@@ -408,6 +414,7 @@ enum ZigLLVM_ObjectFormatType {...@@ -408,6 +414,7 @@ enum ZigLLVM_ObjectFormatType {
408 ZigLLVM_ELF,414 ZigLLVM_ELF,
409 ZigLLVM_MachO,415 ZigLLVM_MachO,
410 ZigLLVM_Wasm,416 ZigLLVM_Wasm,
417 ZigLLVM_XCOFF,
411};418};
412419
413#define ZigLLVM_DIFlags_Zero 0U420#define ZigLLVM_DIFlags_Zero 0U