Commit Graph

37962 Commits

Author SHA1 Message Date
Jacob Young 79cc29e238 std: experiment with using restricted function pointers in vtables 2026-04-24 11:48:37 -04:00
Jacob Young 221fb30b3c llvm: implement restricted type optimizations 2026-04-24 11:48:37 -04:00
Jacob Young 53373c4c71 stage1: update zig1.wasm 2026-04-24 11:36:02 -04:00
Jacob Young 57a8af2272 Sema: more restricted type support 2026-04-24 11:08:01 -04:00
Jacob Young 20e7929f6d Sema: get restricted function pointers working 2026-04-24 11:08:01 -04:00
Jacob Young 453df509b8 change runtime representation of restricted values 2026-04-24 11:08:01 -04:00
Jacob Young 24bf438708 remove pointer restriction from restricted types 2026-04-24 11:08:01 -04:00
Jacob Young da85c089b8 implement llvm backend support for restricted type safety check 2026-04-24 11:08:01 -04:00
Jacob Young 14ae0638ff implement linker and c backend support for restricted type safety check 2026-04-24 11:08:00 -04:00
Jacob Young a8428b777c start implementing restricted types 2026-04-24 11:08:00 -04:00
Alex Rønne Petersen ec3f362ae9 ci: update tarballs to 0.17.0-dev.161+8bf8610a6 2026-04-22 15:45:45 +02:00
Alex Rønne Petersen f5debf4a0e stage1: update zig1.wasm
Signed-off-by: Alex Rønne Petersen <alex@alexrp.com>
2026-04-22 15:37:23 +02:00
Alex Rønne Petersen 45ef6804ce Revert "test: disable hexagon-linux-musl C ABI tests for now"
This reverts commit fce7878a91.

The bug was fixed in LLVM 22.
2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 3feb0d391f Revert "std.zig.system: disable vector support on s390x for now"
This reverts commit 1cd913a0ec.

The bug was fixed in LLVM 22.
2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 7ca4489fdc Revert "std.mem: work around LoongArch inline asm bug in doNotOptimizeAway()"
This reverts commit e7f1624e6e.

The bug was fixed in LLVM 22.
2026-04-22 15:31:57 +02:00
Alex Rønne Petersen fa03fd5248 Revert "test: skip alternative constraints behavior test on LoongArch"
This reverts commit f90548e740.

The bug was fixed in LLVM 22.
2026-04-22 15:31:57 +02:00
Alex Rønne Petersen b01cc264e1 Revert "std.math.modf: disable vector test on LoongArch with LSX"
This reverts commit 35d2b1e99a.

The bug was fixed in LLVM 22.
2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 96bbe31cda Revert "test: disable some vector ctz/clz behavior tests on LoongArch with LSX"
This reverts commit beb25b0430.

The bug was fixed in LLVM 22.
2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 7d3aee4bae Revert "std.zig.system: Force soft_float feature on for MIPS soft float targets."
This reverts commit 71a237e764.

The bug was fixed in LLVM 22.
2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 804642b8fe std.zig.system.x86: improve AVX10 detection 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 3641dfcd1d std.zig.system.x86: require OS APX save support for APX features 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 8e15618d18 std.zig.system.x86: detect more APX features 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen adc3e6001e std.zig.system.x86: detect Diamonds Rapids, Wildcat Lake, and Nova Lake 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen ec0d6201c2 std.zig.system.x86: fix prefetchi detection on AMD 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen e0d56643d3 std.zig.system.arm: add detection for a bunch more cores 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 0cd5490f08 std.zig.system.windows: update aarch64 CPU feature detection 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 961e5b9f76 std.os.windows: update PF feature flags from winnt.h 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen f009c76f53 test: disable switch on pointer type behavior test with LLVM
See: https://github.com/llvm/llvm-project/issues/176634

ref https://github.com/ziglang/zig/issues/23509
2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 826b46d7bc compiler: fix and simplify DllMainCRTStartup handling
See: https://github.com/llvm/llvm-project/pull/171680
2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 76332b6b4d compiler: let LLVM set the 64bit feature from the target triple on powerpc targets 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 07ba7fdb05 compiler: let LLVM set the x32 feature from the target triple on x86 targets 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen e88307dc40 llvm: wire up the xtensa backend
As of LLVM 22, it can produce assembly and object files. No LLD support,
however, so using it is still a bit of a pain.
2026-04-22 15:31:57 +02:00
Alex Rønne Petersen cb8817473a llvm: switch to wasip<n> for preview wasi versions in triples 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen f8f3b948e3 llvm: switch most targets to using half and fp128 IR types
As of LLVM 22, most backends can (finally) handle legalization of these types as
necessary, so we don't need to do it ourselves anymore.

closes https://github.com/ziglang/zig/issues/23674
2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 9627d35990 compiler-rt: additionally export __trunctfhf2 as __trunckfhf2 on powerpc
This is the name LLVM 22 expects.
2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 2e64f348f1 llvm: update data layout strings to LLVM 22 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen b1d1e108b7 zig cc: update options data to LLVM 22 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 5110fadf3a std.Target: update CPU and feature data to LLVM 22 2026-04-22 15:31:57 +02:00
Alex Rønne Petersen d629b4c98b libtsan: backport llvm/llvm-project#183411
https://github.com/llvm/llvm-project/pull/183411
2026-04-22 15:31:57 +02:00
Alex Rønne Petersen 3df246905f libtsan: update to LLVM 22 2026-04-22 15:31:56 +02:00
Alex Rønne Petersen 20f08ad09c libunwind: update to LLVM 22 2026-04-22 15:31:56 +02:00
Alex Rønne Petersen 78591e1d98 libcxx: update to LLVM 22 2026-04-22 15:31:56 +02:00
Alex Rønne Petersen c32618eed0 libcxxabi: update to LLVM 22 2026-04-22 15:31:56 +02:00
Alex Rønne Petersen c81170dcd6 zig cc: update intrinsic headers to LLVM 22 2026-04-22 15:31:56 +02:00
Alex Rønne Petersen 1b7ec080c9 zig cc: update driver files to LLVM 22 2026-04-22 15:31:56 +02:00
Alex Rønne Petersen 3e7678a761 cmake: update to LLVM 22
closes https://codeberg.org/ziglang/zig/issues/30558
2026-04-22 15:31:56 +02:00
Alex Rønne Petersen 692bd03489 std.zig.llvm.Builder: fix writing u64 max constant for type bit_count > 64 2026-04-22 15:31:56 +02:00
Alex Rønne Petersen 022fcc5869 std.Target: fuchsia supports arm/thumb now 2026-04-22 15:31:56 +02:00
Alex Rønne Petersen 0c796adb87 zig cc: define __CRT__NO_INLINE for MinGW-w64 targets
See added comment for why.
2026-04-22 15:31:56 +02:00
Matthew Lugg 2f7fd0dd42 Compilation: fix writeDepFile with no file system inputs 2026-04-22 15:13:06 +02:00