-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
minimal compiler changes so that you can compile to nvptx #1
Commits on Oct 28, 2022
-
Configuration menu - View commit details
-
Copy full SHA for c3b85e4 - Browse repository at this point
Copy the full SHA c3b85e4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6fc7183 - Browse repository at this point
Copy the full SHA 6fc7183View commit details -
Configuration menu - View commit details
-
Copy full SHA for d6943f8 - Browse repository at this point
Copy the full SHA d6943f8View commit details -
std.sign.ecdsa: add support for incremental signatures (ziglang#13332)
Similar to what was done for EdDSA, allow incremental creation and verification of ECDSA signatures. Doing so for ECDSA is trivial, and can be useful for TLS as well as the future package manager.
Configuration menu - View commit details
-
Copy full SHA for f28e4e0 - Browse repository at this point
Copy the full SHA f28e4e0View commit details -
std.mem: Add readPackedInt, writePackedInt, etc.
These utility functions allow reading from (stage2) packed memory at runtime-known offsets.
Configuration menu - View commit details
-
Copy full SHA for c639c22 - Browse repository at this point
Copy the full SHA c639c22View commit details -
stage2: Use mem.readPackedInt etc. for packed bitcasts
Packed memory has a well-defined layout that doesn't require conversion from an integer to read from. Let's use it :-) This change means that for bitcasting to/from a packed value that is N layers deep, we no longer have to create N temporary big-ints and perform N copies. Other miscellaneous improvements: - Adds support for casting to packed enums and vectors - Fixes bitcasting to/from vectors outside of a packed struct - Adds a fast path for bitcasting <= u/i64 - Fixes bug when bitcasting f80 which would clear following fields This also changes the bitcast memory layout of exotic integers on big-endian systems to match what's empirically observed on our targets. Technically, this layout is not guaranteed by LLVM so we should probably ban bitcasts that reveal these padding bits, but for now this is an improvement.
Configuration menu - View commit details
-
Copy full SHA for 3295fee - Browse repository at this point
Copy the full SHA 3295feeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9d0a4b6 - Browse repository at this point
Copy the full SHA 9d0a4b6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 03ed0a5 - Browse repository at this point
Copy the full SHA 03ed0a5View commit details -
Merge pull request ziglang#13322 from Vexu/comptime-reason
Further enhance explanation of why expression is evaluated at comptime
Configuration menu - View commit details
-
Copy full SHA for bd32206 - Browse repository at this point
Copy the full SHA bd32206View commit details -
Configuration menu - View commit details
-
Copy full SHA for 40b7792 - Browse repository at this point
Copy the full SHA 40b7792View commit details -
translate-c: Better support for division in macros
Perform C-style arithmetic conversions on operands to division operator in macros Closes ziglang#13162
Configuration menu - View commit details
-
Copy full SHA for c616141 - Browse repository at this point
Copy the full SHA c616141View commit details -
crypto.sha2: Use intrinsics for SHA-256 on x86-64 and AArch64
There's probably plenty of room to optimize these further in the future, but for the moment this gives ~3x improvement on Intel x86-64 processors, ~5x on AMD, and ~10x on M1 Macs. These extensions are very new - Most processors prior to 2020 do not support them. AVX-512 is a slightly older alternative that we could use on Intel for a much bigger performance bump, but it's been fused off on Intel's latest hybrid architectures and it relies on computing independent SHA hashes in parallel. In contrast, these SHA intrinsics provide the usual single-threaded, single-stream interface, and should continue working on new processors. AArch64 also has SHA-512 intrinsics that we could take advantage of in the future
Configuration menu - View commit details
-
Copy full SHA for 10edb6d - Browse repository at this point
Copy the full SHA 10edb6dView commit details -
std.crypto: SHA-256 Properly gate comptime conditional
This feature detection must be done at comptime so that we avoid generating invalid ASM for the target.
Configuration menu - View commit details
-
Copy full SHA for ee241c4 - Browse repository at this point
Copy the full SHA ee241c4View commit details -
std.crypto: Optimize SHA-256 intrinsics for AMD x86-64
This gets us most of the way back to the performance I had when I was using the LLVM intrinsics: - Intel Intel(R) Core(TM) i7-1068NG7 CPU @ 2.30GHz: 190.67 MB/s (w/o intrinsics) -> 1285.08 MB/s - AMD EPYC 7763 (VM) @ 2.45 GHz: 240.09 MB/s (w/o intrinsics) -> 1360.78 MB/s - Apple M1: 216.96 MB/s (w/o intrinsics) -> 2133.69 MB/s Minor changes to this source can swing performance from 400 MB/s to 1400 MB/s or... 20 MB/s, depending on how it interacts with the optimizer. I have a sneaking suspicion that despite LLVM inheriting GCC's extremely strict inline assembly semantics, its passes are rather skittish around inline assembly (and almost certainly, its instruction cost models can assume nothing)
Configuration menu - View commit details
-
Copy full SHA for 4c1f71e - Browse repository at this point
Copy the full SHA 4c1f71eView commit details -
std.crypto: Add
isComptime
guard around intrinsicsComptime code can't execute assembly code, so we need some way to force comptime code to use the generic path. This should be replaced with whatever is implemented for ziglang#868, when that day comes. I am seeing that the result for the hash is incorrect in stage1 and crashes stage2, so presumably this never worked correctly. I will follow up on that soon.
Configuration menu - View commit details
-
Copy full SHA for f9fe548 - Browse repository at this point
Copy the full SHA f9fe548View commit details -
Configuration menu - View commit details
-
Copy full SHA for 84e0c14 - Browse repository at this point
Copy the full SHA 84e0c14View commit details
Commits on Oct 29, 2022
-
std.crypto: Use
featureSetHas
to gate intrinsicsThis also fixes a bug where the feature gating was not taking effect at comptime due to ziglang#6768
Configuration menu - View commit details
-
Copy full SHA for 67fa326 - Browse repository at this point
Copy the full SHA 67fa326View commit details -
Configuration menu - View commit details
-
Copy full SHA for c66d3f6 - Browse repository at this point
Copy the full SHA c66d3f6View commit details -
Merge pull request ziglang#13221 from topolarity/packed-mem
Introduce `std.mem.readPackedInt` and improve bitcasting of packed memory layouts
Configuration menu - View commit details
-
Copy full SHA for c36eb4e - Browse repository at this point
Copy the full SHA c36eb4eView commit details -
Merge pull request ziglang#13272 from topolarity/sha2-intrinsics
crypto.sha2: Use intrinsics for SHA-256 on x86-64 and AArch64
Configuration menu - View commit details
-
Copy full SHA for 20925b2 - Browse repository at this point
Copy the full SHA 20925b2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 48a2783 - Browse repository at this point
Copy the full SHA 48a2783View commit details -
Configuration menu - View commit details
-
Copy full SHA for 61f5ea4 - Browse repository at this point
Copy the full SHA 61f5ea4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1ea1228 - Browse repository at this point
Copy the full SHA 1ea1228View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9607bd9 - Browse repository at this point
Copy the full SHA 9607bd9View commit details -
Configuration menu - View commit details
-
Copy full SHA for d731455 - Browse repository at this point
Copy the full SHA d731455View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5321afc - Browse repository at this point
Copy the full SHA 5321afcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 278c329 - Browse repository at this point
Copy the full SHA 278c329View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7705a4e - Browse repository at this point
Copy the full SHA 7705a4eView commit details -
glibc: fix race condition when building stubs
Before, the code for building glibc stubs used a special case of the Cache API that did not add any file inputs, and did not use writeManifest(). This is not really how the Cache API is designed to work and it shows because there was a race condition. This commit adds as an input file the abilists file that comes with Zig's installation, which has the added benefit of making glibc stub caching properly detect cache invalidation when the user decides to overwrite their abilists file. This harmonizes with the rest of how Zig works, which intentionally allows you to hack the installation files and have it behave properly with the cache system. Finally, because of having any file inputs, the normal API flow of the Cache system can be used, eliminating the one place that used the Cache API in a special way. In other words, it uses writeManifest() now and properly obeys the cache hit/miss semantics. closes ziglang#13160
Configuration menu - View commit details
-
Copy full SHA for 4cfeb9a - Browse repository at this point
Copy the full SHA 4cfeb9aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3e926d8 - Browse repository at this point
Copy the full SHA 3e926d8View commit details -
Configuration menu - View commit details
-
Copy full SHA for a70c86e - Browse repository at this point
Copy the full SHA a70c86eView commit details -
Merge pull request ziglang#13342 from ziglang/fix-glibc-race
glibc: fix race condition when building stubs
Configuration menu - View commit details
-
Copy full SHA for e036cc4 - Browse repository at this point
Copy the full SHA e036cc4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4364f51 - Browse repository at this point
Copy the full SHA 4364f51View commit details -
Also add some NAME_MAX or equivalent definitions where necessary
Configuration menu - View commit details
-
Copy full SHA for 33fdc43 - Browse repository at this point
Copy the full SHA 33fdc43View commit details -
Windows: Fix iterator name buffer size not handling all possible file…
… name components Each u16 within a file name component can be encoded as up to 3 UTF-8 bytes, so we need to use MAX_NAME_BYTES to account for all possible UTF-8 encoded names. Fixes ziglang#8268
Configuration menu - View commit details
-
Copy full SHA for c6ff1a7 - Browse repository at this point
Copy the full SHA c6ff1a7View commit details -
Configuration menu - View commit details
-
Copy full SHA for dd0962d - Browse repository at this point
Copy the full SHA dd0962dView commit details -
Set wasi MAX_NAME_BYTES to minimum of the rest of the supported platf…
…orms This is a slightly weird situation, because the 'real' value may depend on the host platform that the WASI is being executed on.
Configuration menu - View commit details
-
Copy full SHA for c5d2316 - Browse repository at this point
Copy the full SHA c5d2316View commit details -
Make MAX_NAME_BYTES on WASI equivalent to the max of the other platforms
Make the test use the minimum length and set MAX_NAME_BYTES to the maximum so that: - the test will work on any host platform - *and* the MAX_NAME_BYTES will be able to hold the max file name component on any host platform
Configuration menu - View commit details
-
Copy full SHA for 348f735 - Browse repository at this point
Copy the full SHA 348f735View commit details -
Configuration menu - View commit details
-
Copy full SHA for db80225 - Browse repository at this point
Copy the full SHA db80225View commit details -
Merge pull request ziglang#13082 from g-w1/unnamed-decls-and-relocs-p9
Plan9: Fix The Backend
Configuration menu - View commit details
-
Copy full SHA for 28dc208 - Browse repository at this point
Copy the full SHA 28dc208View commit details -
Configuration menu - View commit details
-
Copy full SHA for 949cca9 - Browse repository at this point
Copy the full SHA 949cca9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 09a96cd - Browse repository at this point
Copy the full SHA 09a96cdView commit details
Commits on Oct 30, 2022
-
Merge pull request ziglang#13093 from jacobly0/backend-fixes
C backend fixes
Configuration menu - View commit details
-
Copy full SHA for 5f5a20e - Browse repository at this point
Copy the full SHA 5f5a20eView commit details -
Merge pull request ziglang#13153 from squeek502/iterator-filename-limits
Windows: Fix Iterator name buffer size not handling all possible file name components
Configuration menu - View commit details
-
Copy full SHA for 209a0d2 - Browse repository at this point
Copy the full SHA 209a0d2View commit details -
Configuration menu - View commit details
-
Copy full SHA for c8f1ea4 - Browse repository at this point
Copy the full SHA c8f1ea4View commit details -
CI: drone: shuffle some tests around
We have to balance the timings to end up below the two hour mark.
Configuration menu - View commit details
-
Copy full SHA for fbd1390 - Browse repository at this point
Copy the full SHA fbd1390View commit details -
It was temporarily disabled due to a self-hosted compiler miscompilation. closes ziglang#12178
Configuration menu - View commit details
-
Copy full SHA for 5339cac - Browse repository at this point
Copy the full SHA 5339cacView commit details -
Configuration menu - View commit details
-
Copy full SHA for 27bcd4e - Browse repository at this point
Copy the full SHA 27bcd4eView commit details -
macho: fix regression in dead strip for x86_64
Correctly handle calculating encompassing atoms for local relocations (`r_extern == 0`).
Configuration menu - View commit details
-
Copy full SHA for 9b0c555 - Browse repository at this point
Copy the full SHA 9b0c555View commit details -
Configuration menu - View commit details
-
Copy full SHA for 17df350 - Browse repository at this point
Copy the full SHA 17df350View commit details -
Merge pull request ziglang#13356 from ziglang/macho-no-dupe
macho: fix performance regression for x86_64 and -dead_strip
Configuration menu - View commit details
-
Copy full SHA for 2b25d3c - Browse repository at this point
Copy the full SHA 2b25d3cView commit details -
autodoc: update to new func zir body structure
this is a hack meant to restore functionality for the upcoming release, a proper analysis of the new zir structure is required to make a robust change.
Configuration menu - View commit details
-
Copy full SHA for d4487b6 - Browse repository at this point
Copy the full SHA d4487b6View commit details -
Merge pull request ziglang#13300 from jcalabro/master
Better Autodoc Src File Links
Configuration menu - View commit details
-
Copy full SHA for 1696434 - Browse repository at this point
Copy the full SHA 1696434View commit details -
change uefi packed structs to new integer backed syntax (ziglang#13173)
* std.os.uefi: integer backed structs, add tests to catch regressions device_path_protocol now uses extern structs with align(1) fields because the transition to integer backed packed struct broke alignment added comptime asserts that device_path_protocol structs do not violate alignment and size specifications
Configuration menu - View commit details
-
Copy full SHA for 40e84a2 - Browse repository at this point
Copy the full SHA 40e84a2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8caed48 - Browse repository at this point
Copy the full SHA 8caed48View commit details -
stage1: Make
x and false
/x or true
comptime-knownWe need to be careful to respect side-effects/branching in these cases, but otherwise this behaves very similarly to multiplication. `lhs and rhs == false` if either lhs or rhs is comptime-known `false`, just like `lhs * rhs == 0` if either lhs or rhs is comptime-known to be zero. Similar reasoning applies to `lhs or rhs`.
Configuration menu - View commit details
-
Copy full SHA for 2f732de - Browse repository at this point
Copy the full SHA 2f732deView commit details -
AstGen: avoid accessing value from inner scope
While continue expressions can access the capture, so ensure that it is unwrapped in an outer scope.
Configuration menu - View commit details
-
Copy full SHA for 5c3a486 - Browse repository at this point
Copy the full SHA 5c3a486View commit details -
stage2: Make
x and false
/x or true
comptime-knownSame as preceding change, but for stage2.
Configuration menu - View commit details
-
Copy full SHA for ca332f5 - Browse repository at this point
Copy the full SHA ca332f5View commit details -
Sema: avoid comptime null unwrap
This avoids a crash analyzing check_comptime_control_flow.
Configuration menu - View commit details
-
Copy full SHA for 01d76d4 - Browse repository at this point
Copy the full SHA 01d76d4View commit details -
Configuration menu - View commit details
-
Copy full SHA for a77d89a - Browse repository at this point
Copy the full SHA a77d89aView commit details -
zig test: forward target CLI args to zig run when using -ofmt=c
Previously, if you used `zig test -ofmt=c -target foobar` then Zig would try to compile the generated C code with the native target instead of "foobar". With this change, `--test-cmd` with e.g. QEMU still won't work, but at least the binary will get compiled for the correct target.
Configuration menu - View commit details
-
Copy full SHA for 9b54c9d - Browse repository at this point
Copy the full SHA 9b54c9dView commit details -
std.heap.PageAllocator: add check for large allocation
Instead of making the memory alignment functions more complicated, I added more API documentation for their existing semantics. closes ziglang#12118 closes ziglang#12135
Configuration menu - View commit details
-
Copy full SHA for 3f30030 - Browse repository at this point
Copy the full SHA 3f30030View commit details -
Configuration menu - View commit details
-
Copy full SHA for a5c96c4 - Browse repository at this point
Copy the full SHA a5c96c4View commit details
Commits on Oct 31, 2022
-
re-apply "Fix C include files not being in
whole
cache (ziglang#11365……)" This reverts commit 06310e3, reapplying commit a430630. I deeply apologize to @moosichu and those affected by this bug. The original fix was actually fine. When I reverted it, I misremembered how the Cache API works. I thought the fix was going to introduce nondeterminism into the hash, but I forgot that the order of files in the manifest doesn't actually matter when checking for a cache hit. Actually, it does matter a little bit. This fix has a subtle downside which is that it does introduce the possibility of false negatives when checking for cache hits of 2+ iterations ago. For example, if the code goes from "foo", to "bar", and then back to "foo", it may look like a cache miss when it should have been a hit because 2 iterations ago the code was the same. However, this is an uncommon use case, and all it does is cause a bit of wasted time and disk space. That said, my suggestion from earlier still applies and would be a nice follow-up enhancement to this fix: The proper solution to this is to, in whole cache mode, append the hash inputs to some data structure, and then after the compilation is complete, do some kind of sorting on the hash inputs so that they will be the same order every time, then apply them in sequence. No lock on the Cache object is needed for this scheme. closes ziglang#11063
Configuration menu - View commit details
-
Copy full SHA for 30b8b29 - Browse repository at this point
Copy the full SHA 30b8b29View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3e12610 - Browse repository at this point
Copy the full SHA 3e12610View commit details -
Merge pull request ziglang#13361 from jacobly0/while-cont-scope
AstGen: avoid access to capture defined in an inner scope from a continue expression
Configuration menu - View commit details
-
Copy full SHA for d4f668b - Browse repository at this point
Copy the full SHA d4f668bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d999ab - Browse repository at this point
Copy the full SHA 6d999abView commit details -
Merge pull request ziglang#13360 from topolarity/comptime-bool-binops
Make `x and false` and `x or true` comptime-known
Configuration menu - View commit details
-
Copy full SHA for ef761c2 - Browse repository at this point
Copy the full SHA ef761c2View commit details -
std.heap: make wasm32 PageAllocator handle large allocation
When a number of bytes to be allocated is so great that alignForward() is not possible, return `error.OutOfMemory`. Companion commit to 3f30030.
Configuration menu - View commit details
-
Copy full SHA for d022426 - Browse repository at this point
Copy the full SHA d022426View commit details -
link/MachO: Avoid depending on host PATH_MAX
Repeat of a4eb221 for the newly-synchronized zld code. Restores ability to compile Zig for WASI.
Configuration menu - View commit details
-
Copy full SHA for 6f2408a - Browse repository at this point
Copy the full SHA 6f2408aView commit details -
stage2: Add explicit type qualifier to workaround ziglang#13366
Depending on how ziglang#13366 is resolved, this code should arguably have been rejected with a compile error in the first place.
Configuration menu - View commit details
-
Copy full SHA for 049e602 - Browse repository at this point
Copy the full SHA 049e602View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0c17017 - Browse repository at this point
Copy the full SHA 0c17017View commit details -
Configuration menu - View commit details
-
Copy full SHA for 841235b - Browse repository at this point
Copy the full SHA 841235bView commit details -
Configuration menu - View commit details
-
Copy full SHA for cbdc91e - Browse repository at this point
Copy the full SHA cbdc91eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0bbb000 - Browse repository at this point
Copy the full SHA 0bbb000View commit details
Commits on Nov 1, 2022
-
cbe: improve support for non-native float types
* Fix _start on aarch64. * Add fallbacks when a float type is unsupported. Fixes ziglang#13357
Configuration menu - View commit details
-
Copy full SHA for b945d3e - Browse repository at this point
Copy the full SHA b945d3eView commit details -
Configuration menu - View commit details
-
Copy full SHA for b35514e - Browse repository at this point
Copy the full SHA b35514eView commit details -
Configuration menu - View commit details
-
Copy full SHA for ff83296 - Browse repository at this point
Copy the full SHA ff83296View commit details -
Ed25519.KeyPair.fromSecretKey() didn't compile after the API changes (z…
…iglang#13386) Fixes ziglang#13378
Configuration menu - View commit details
-
Copy full SHA for 9e44710 - Browse repository at this point
Copy the full SHA 9e44710View commit details -
Configuration menu - View commit details
-
Copy full SHA for ddb9eac - Browse repository at this point
Copy the full SHA ddb9eacView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2943df0 - Browse repository at this point
Copy the full SHA 2943df0View commit details -
llvm: mangle extern Wasm functions
When Wasm extern functions contain the same name, but have a different module name such as `extern "a"` vs `extern "b"` LLVM will currently resolve the two functions to the same symbol. By mangling the name of the symbol, we ensure the functions are resolved seperately. We mangle the name by applying <name>|<module> where module is also known as the library name.
Configuration menu - View commit details
-
Copy full SHA for 66bcc55 - Browse repository at this point
Copy the full SHA 66bcc55View commit details -
test/link: add linker test to verify mangling
This adds a simple linker test to ensure the built library contains an import entry for each extern function call that was mangled.
Configuration menu - View commit details
-
Copy full SHA for ef0df24 - Browse repository at this point
Copy the full SHA ef0df24View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1780d7a - Browse repository at this point
Copy the full SHA 1780d7aView commit details -
std.crypto.onetimeauth.Ghash: make GHASH 2 - 2.5x faster (ziglang#13374)
Rewrite GHASH to use 128-bit multiplication over non-reversed integers, and up to 8 blocks aggregated reduction. lib/std/crypto/benchmark.zig results: Xeon E5: Before: 1604 MiB/s After: 4005 MiB/s Apple M1: Before: 2769 MiB/s After: 6014 MiB/s This also makes AES-GCM faster by the way.
Configuration menu - View commit details
-
Copy full SHA for 0d192ee - Browse repository at this point
Copy the full SHA 0d192eeView commit details -
Configuration menu - View commit details
-
Copy full SHA for d2a5a36 - Browse repository at this point
Copy the full SHA d2a5a36View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3ecec50 - Browse repository at this point
Copy the full SHA 3ecec50View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8a022d9 - Browse repository at this point
Copy the full SHA 8a022d9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4e07798 - Browse repository at this point
Copy the full SHA 4e07798View commit details -
stage2 AArch64: misc fixes, enable printing in test runner
- Fixed missing airRetPtr implementation - Fixed wrong pop_regs order - Fixed wrong source and destination register in store
Configuration menu - View commit details
-
Copy full SHA for 3051fab - Browse repository at this point
Copy the full SHA 3051fabView commit details -
cli: set sysroot when --sysroot option was passed
Fixes regression introduced in ziglang@0b47e69
Configuration menu - View commit details
-
Copy full SHA for ebf9ffd - Browse repository at this point
Copy the full SHA ebf9ffdView commit details
Commits on Nov 2, 2022
-
std: avoid vector usage with the C backend
Vectors are not yet implemented in the C backend, so no reason to prevent code using the standard library from compiling in the meantime.
Configuration menu - View commit details
-
Copy full SHA for 93d60d0 - Browse repository at this point
Copy the full SHA 93d60d0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 757db66 - Browse repository at this point
Copy the full SHA 757db66View commit details -
Configuration menu - View commit details
-
Copy full SHA for 91fe0b8 - Browse repository at this point
Copy the full SHA 91fe0b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for fb8c08d - Browse repository at this point
Copy the full SHA fb8c08dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8e52be1 - Browse repository at this point
Copy the full SHA 8e52be1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 071404f - Browse repository at this point
Copy the full SHA 071404fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0976343 - Browse repository at this point
Copy the full SHA 0976343View commit details -
cbe: incorrectly implement volatile memset
This will have to be replaced with manual volatile stores.
Configuration menu - View commit details
-
Copy full SHA for 4d59409 - Browse repository at this point
Copy the full SHA 4d59409View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9b2db56 - Browse repository at this point
Copy the full SHA 9b2db56View commit details -
Multiple outputs work now, so use that instead of deleting clobbers.
Configuration menu - View commit details
-
Copy full SHA for 771dadc - Browse repository at this point
Copy the full SHA 771dadcView commit details -
Configuration menu - View commit details
-
Copy full SHA for d8635af - Browse repository at this point
Copy the full SHA d8635afView commit details -
Merge pull request ziglang#13404 from joachimschmidt557/stage2-aarch64
stage2 aarch64: enable printing test results in the test runner
Configuration menu - View commit details
-
Copy full SHA for 81c2767 - Browse repository at this point
Copy the full SHA 81c2767View commit details -
Configuration menu - View commit details
-
Copy full SHA for c22f17e - Browse repository at this point
Copy the full SHA c22f17eView commit details -
Can be changed to `!inst_ty.hisRuntimeBitsIgnoreComptime()` when the "result location with inferred type ends up being pointer to comptime_int" test stops producing Air containing a `bitcast(*comptime_int, ...)`. See ziglang#13410
Configuration menu - View commit details
-
Copy full SHA for 5f31070 - Browse repository at this point
Copy the full SHA 5f31070View commit details -
cbe: ignore comptime fields when generating tuple typedefs
This vastly reduces the amount of deduplication state we need to deal with.
Configuration menu - View commit details
-
Copy full SHA for 37c104a - Browse repository at this point
Copy the full SHA 37c104aView commit details -
Merge pull request ziglang#13396 from Luukdegram/fix-12880
llvm: mangle extern function names for Wasm target
Configuration menu - View commit details
-
Copy full SHA for 57dbeb9 - Browse repository at this point
Copy the full SHA 57dbeb9View commit details -
Merge pull request ziglang#13389 from jacobly0/fix-only-c
cbe: enough fixes for `-Donly-c` to be able to produce an executable
Configuration menu - View commit details
-
Copy full SHA for e50789f - Browse repository at this point
Copy the full SHA e50789fView commit details -
stage2: Ensure f128 alignment matches c_longdouble alignment
On platforms where c_longdouble is 128-bits, interop with C code is simplified by making f128 match the alignment of c_longdouble. I intended to make this change as part of ziglang#13257, but I missed this part.
Configuration menu - View commit details
-
Copy full SHA for 98b6099 - Browse repository at this point
Copy the full SHA 98b6099View commit details -
Configuration menu - View commit details
-
Copy full SHA for b40fc70 - Browse repository at this point
Copy the full SHA b40fc70View commit details
Commits on Nov 3, 2022
-
Configuration menu - View commit details
-
Copy full SHA for fa46f9a - Browse repository at this point
Copy the full SHA fa46f9aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4537c1b - Browse repository at this point
Copy the full SHA 4537c1bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 085f6fd - Browse repository at this point
Copy the full SHA 085f6fdView commit details -
Configuration menu - View commit details
-
Copy full SHA for f02b8a9 - Browse repository at this point
Copy the full SHA f02b8a9View commit details -
Merge pull request ziglang#13420 from jacobly0/c-backend
cbe: enough fixes to bootstrap a compiler with a working c backend
Configuration menu - View commit details
-
Copy full SHA for b2f8c1f - Browse repository at this point
Copy the full SHA b2f8c1fView commit details -
Configuration menu - View commit details
-
Copy full SHA for e64eef3 - Browse repository at this point
Copy the full SHA e64eef3View commit details -
std.crypto.pwhash.bcrypt: inline the Feistel network function (ziglan…
…g#13416) std/crypto/benchmark.zig results: * Intel i5 before: 3.144 s/ops after: 1.922 s/ops * Apple M1 before: 2.067 s/ops after: 1.373 s/ops
Configuration menu - View commit details
-
Copy full SHA for 9679353 - Browse repository at this point
Copy the full SHA 9679353View commit details -
Configuration menu - View commit details
-
Copy full SHA for 480c3c4 - Browse repository at this point
Copy the full SHA 480c3c4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3465203 - Browse repository at this point
Copy the full SHA 3465203View commit details -
Merge pull request ziglang#13276 from r00ster91/stem
std.fs.path: add stem()
Configuration menu - View commit details
-
Copy full SHA for 678f3f6 - Browse repository at this point
Copy the full SHA 678f3f6View commit details -
Configuration menu - View commit details
-
Copy full SHA for b19161b - Browse repository at this point
Copy the full SHA b19161bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 577daab - Browse repository at this point
Copy the full SHA 577daabView commit details -
Configuration menu - View commit details
-
Copy full SHA for f5f1f8c - Browse repository at this point
Copy the full SHA f5f1f8cView commit details -
Merge pull request ziglang#13430 from ziglang/stack-probe-msvc
Miscellaneous arm64 windows fixes
Configuration menu - View commit details
-
Copy full SHA for 42755a1 - Browse repository at this point
Copy the full SHA 42755a1View commit details
Commits on Nov 4, 2022
-
Sema: make
InferredErrorSet
deterministicEmpirically, this `AutoHashMapUnmanaged` -> `AutoArrayHashMapUnmanaged` change fixes all non-determinism in `ReleaseFast` build artifacts. Closes ziglang#12183
Configuration menu - View commit details
-
Copy full SHA for cbed6bb - Browse repository at this point
Copy the full SHA cbed6bbView commit details -
Configuration menu - View commit details
-
Copy full SHA for ea54c9a - Browse repository at this point
Copy the full SHA ea54c9aView commit details -
Merge pull request ziglang#13338 from Vexu/stage2-compile-errors
Improve some error messages
Configuration menu - View commit details
-
Copy full SHA for 8c4faa5 - Browse repository at this point
Copy the full SHA 8c4faa5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 986b7ce - Browse repository at this point
Copy the full SHA 986b7ceView commit details -
std.os: Add IGN coverage to sigaction tests
* Should start failing on aarch64 and other word-aligned CPUs.
Configuration menu - View commit details
-
Copy full SHA for 64b3ffd - Browse repository at this point
Copy the full SHA 64b3ffdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7f1f2e6 - Browse repository at this point
Copy the full SHA 7f1f2e6View commit details -
Configuration menu - View commit details
-
Copy full SHA for a68b27c - Browse repository at this point
Copy the full SHA a68b27cView commit details -
Configuration menu - View commit details
-
Copy full SHA for e6b3cb5 - Browse repository at this point
Copy the full SHA e6b3cb5View commit details -
Sema: implement peer type resolution of function pointers and functio…
…n bodies Closes ziglang#13438
Configuration menu - View commit details
-
Copy full SHA for 799a558 - Browse repository at this point
Copy the full SHA 799a558View commit details -
Configuration menu - View commit details
-
Copy full SHA for 35afa3f - Browse repository at this point
Copy the full SHA 35afa3fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 42db468 - Browse repository at this point
Copy the full SHA 42db468View commit details -
Configuration menu - View commit details
-
Copy full SHA for 51b1083 - Browse repository at this point
Copy the full SHA 51b1083View commit details
Commits on Nov 5, 2022
-
CI: add stage3/stage4 determinism check
Makes sure that ziglang#12183 will not regress.
Configuration menu - View commit details
-
Copy full SHA for e9a1249 - Browse repository at this point
Copy the full SHA e9a1249View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1d68045 - Browse repository at this point
Copy the full SHA 1d68045View commit details -
Configuration menu - View commit details
-
Copy full SHA for df0212b - Browse repository at this point
Copy the full SHA df0212bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1fe0b58 - Browse repository at this point
Copy the full SHA 1fe0b58View commit details -
Configuration menu - View commit details
-
Copy full SHA for 62ae365 - Browse repository at this point
Copy the full SHA 62ae365View commit details -
Configuration menu - View commit details
-
Copy full SHA for 53a9661 - Browse repository at this point
Copy the full SHA 53a9661View commit details -
Configuration menu - View commit details
-
Copy full SHA for d80203b - Browse repository at this point
Copy the full SHA d80203bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 205421c - Browse repository at this point
Copy the full SHA 205421cView commit details -
coff: compile and link simple exit program on arm64
* make image base target dependent * fix relocs to imports
Configuration menu - View commit details
-
Copy full SHA for 83d89a0 - Browse repository at this point
Copy the full SHA 83d89a0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9618fdc - Browse repository at this point
Copy the full SHA 9618fdcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 59fa049 - Browse repository at this point
Copy the full SHA 59fa049View commit details -
Configuration menu - View commit details
-
Copy full SHA for 165ae04 - Browse repository at this point
Copy the full SHA 165ae04View commit details -
Configuration menu - View commit details
-
Copy full SHA for f92e7be - Browse repository at this point
Copy the full SHA f92e7beView commit details -
Merge pull request ziglang#13444 from ziglang/arm64-coff
aarch64,coff: lift-off!
Configuration menu - View commit details
-
Copy full SHA for 28288dc - Browse repository at this point
Copy the full SHA 28288dcView commit details -
Configuration menu - View commit details
-
Copy full SHA for f96748e - Browse repository at this point
Copy the full SHA f96748eView commit details -
Configuration menu - View commit details
-
Copy full SHA for ea48f06 - Browse repository at this point
Copy the full SHA ea48f06View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5d28d17 - Browse repository at this point
Copy the full SHA 5d28d17View commit details -
Configuration menu - View commit details
-
Copy full SHA for aea617c - Browse repository at this point
Copy the full SHA aea617cView commit details -
Improve doc comments for two functions (ziglang#13456)
* std.heap: fix function name in doc comment * std.mem: document return value of `replace`
Configuration menu - View commit details
-
Copy full SHA for c8a5ad6 - Browse repository at this point
Copy the full SHA c8a5ad6View commit details -
Configuration menu - View commit details
-
Copy full SHA for aaaa7df - Browse repository at this point
Copy the full SHA aaaa7dfView commit details -
macho: do not zero-out file if there are no nonzerofill sects
If the `__DATA` segment comprises of only zerofill sections, do not accidentally zero out all of file.
Configuration menu - View commit details
-
Copy full SHA for 76fb3e0 - Browse repository at this point
Copy the full SHA 76fb3e0View commit details
Commits on Nov 6, 2022
-
Merge pull request ziglang#13459 from ziglang/issue-13457
macho: do not zero-out file if there are no nonzerofill sects
Configuration menu - View commit details
-
Copy full SHA for 5ef33e7 - Browse repository at this point
Copy the full SHA 5ef33e7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1aeef29 - Browse repository at this point
Copy the full SHA 1aeef29View commit details -
Revert "x86" CPU model (not arch) back to "i386"
PR ziglang#13101 recently renamed the "i386" architecture to "x86", and it seems the specific CPU model got swept up in that. "x86" is an umbrella term that describes a family of CPUs, and the "i386" is the oldest supported model under that umbrella.
Configuration menu - View commit details
-
Copy full SHA for 694d883 - Browse repository at this point
Copy the full SHA 694d883View commit details -
macho: parse weak symbols in tbds
However, we will treat them as standard imports rather than refs to weak imports until I investigate more how it actually works underneath.
Configuration menu - View commit details
-
Copy full SHA for 351031b - Browse repository at this point
Copy the full SHA 351031bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 72769f6 - Browse repository at this point
Copy the full SHA 72769f6View commit details -
std.os.linux.T: translate more MIPS values
This fixes the broken terminal for me and thus fixes ziglang#13198.
Configuration menu - View commit details
-
Copy full SHA for b83e4d9 - Browse repository at this point
Copy the full SHA b83e4d9View commit details -
Merge pull request ziglang#13463 from ziglang/fix-13056
macho: parse weak imports in tbd descriptors
Configuration menu - View commit details
-
Copy full SHA for 4c719ad - Browse repository at this point
Copy the full SHA 4c719adView commit details -
crypto.salsa20: make the number of rounds a comptime parameter (zigla…
…ng#13442) ...instead of hard-coding it to 20. - This is consistent with the ChaCha implementation - NaCl and libsodium, that this API is designed to interop with, also support 8 and 12 round variants. The 12 round variant, in particular, provides the same security level as the 20 round variant, but is obviously faster. - scrypt currently uses its own non optimized version of Salsa, just because it use 8 rounds instead of 20. This will help remove code duplication. No behavior nor public API changes. The Salsa20 and XSalsa20 still represent the 20-round variant.
Configuration menu - View commit details
-
Copy full SHA for 907f3ef - Browse repository at this point
Copy the full SHA 907f3efView commit details
Commits on Nov 7, 2022
-
crypto.core.aes: process 6 block in parallel instead of 8 on aarch64 (z…
…iglang#13473) * crypto.core.aes: process 6 block in parallel instead of 8 on aarch64 At least on Apple Silicon, this is slightly faster than 8 blocks. * AES: add parallel blocks for tigerlake, rocketlake, alderlake, zen3
Configuration menu - View commit details
-
Copy full SHA for 32563e6 - Browse repository at this point
Copy the full SHA 32563e6View commit details -
Configuration menu - View commit details
-
Copy full SHA for dc128f4 - Browse repository at this point
Copy the full SHA dc128f4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 88d2e4f - Browse repository at this point
Copy the full SHA 88d2e4fView commit details -
std.crypto: make ghash faster, esp. for small messages (ziglang#13464)
* std.crypto: make ghash faster, esp. for small messages Aggregated reduction requires 5 additional multiplications (to precompute the powers of H), in order to save 2 multiplications per batch. So, only use large batches when it's actually interesting to do so. For the last blocks, reuse the precomputations in order to perform a single reduction. Also, even in .ReleaseSmall, allow 2-block aggregation. The speedup is worth it, and the code increase is reasonable. And in .ReleaseFast, bump the upper batch size up to 16. Leverage comptime by the way instead of duplicating code. std/crypto/benchmark.zig on Apple M1: Zig 0.10.0: 2769 MiB/s Before: 6014 MiB/s After: 7334 MiB/s Normalize function names by the way. * Change clmul() to accept the half to be processed This avoids a bunch of truncate() calls. * Add more ghash tests to check all code paths
Configuration menu - View commit details
-
Copy full SHA for 7d48cb1 - Browse repository at this point
Copy the full SHA 7d48cb1View commit details
Commits on Nov 8, 2022
-
Configuration menu - View commit details
-
Copy full SHA for cd7cbed - Browse repository at this point
Copy the full SHA cd7cbedView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0de56d1 - Browse repository at this point
Copy the full SHA 0de56d1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 35bd536 - Browse repository at this point
Copy the full SHA 35bd536View commit details -
Configuration menu - View commit details
-
Copy full SHA for a074494 - Browse repository at this point
Copy the full SHA a074494View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0d55687 - Browse repository at this point
Copy the full SHA 0d55687View commit details -
Configuration menu - View commit details
-
Copy full SHA for 45f65c8 - Browse repository at this point
Copy the full SHA 45f65c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 32ad218 - Browse repository at this point
Copy the full SHA 32ad218View commit details -
Configuration menu - View commit details
-
Copy full SHA for 179f169 - Browse repository at this point
Copy the full SHA 179f169View commit details -
Configuration menu - View commit details
-
Copy full SHA for e83590d - Browse repository at this point
Copy the full SHA e83590dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7145064 - Browse repository at this point
Copy the full SHA 7145064View commit details -
crypto.ghash: compatibility with stage1
Defining the selector enum outside the function definition is required for stage1.
Configuration menu - View commit details
-
Copy full SHA for 36e618a - Browse repository at this point
Copy the full SHA 36e618aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9db63d4 - Browse repository at this point
Copy the full SHA 9db63d4View commit details -
This service stopped working two days ago for unknown reasons. Until it is determined how to get it working again, or we switch to a different CI provider for aarch64, this CI test coverage is disabled so that we can continue to use the CI for other targets.
Configuration menu - View commit details
-
Copy full SHA for a65ba6c - Browse repository at this point
Copy the full SHA a65ba6cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 188ad31 - Browse repository at this point
Copy the full SHA 188ad31View commit details
Commits on Nov 9, 2022
-
Merge pull request ziglang#13487 from ziglang/zld-dwarf-string
macho: misc DWARF parser fixes
Configuration menu - View commit details
-
Copy full SHA for a2e6717 - Browse repository at this point
Copy the full SHA a2e6717View commit details -
- the meaning of packed structs changed in zig 0.10. adjust accordingly. Use "extern struct" for the cases that directly map to C structs. - Add new type info kinds, like enum64 and DeclTag - change the Type enum to use the canonical names from libbpf. This is more predictable when comparing with external BPF documentation (than invented synonyms that need to be guessed)
Configuration menu - View commit details
-
Copy full SHA for 95f989a - Browse repository at this point
Copy the full SHA 95f989aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 61842da - Browse repository at this point
Copy the full SHA 61842daView commit details -
Configuration menu - View commit details
-
Copy full SHA for d1e7be0 - Browse repository at this point
Copy the full SHA d1e7be0View commit details -
Merge pull request ziglang#13418 from ryanschneider/signal-alignment-…
…13216 std.os: fix alignment of Sigaction.handler_fn
Configuration menu - View commit details
-
Copy full SHA for 41b7e40 - Browse repository at this point
Copy the full SHA 41b7e40View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7007ecd - Browse repository at this point
Copy the full SHA 7007ecdView commit details -
aarch64: emit DWARF debug info for fn params and locals
We postpone emitting debug info until *after* we generate the function so that we have an idea of the consumed stack space. The stack offsets encoded within DWARF are with respect to the frame pointer `.fp`.
Configuration menu - View commit details
-
Copy full SHA for 0285209 - Browse repository at this point
Copy the full SHA 0285209View commit details -
x86_64: add DWARF encoding for vector registers
Clean up how we handle emitting of DWARF debug info for `x86_64` codegen.
Configuration menu - View commit details
-
Copy full SHA for df09d9c - Browse repository at this point
Copy the full SHA df09d9cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 31e755d - Browse repository at this point
Copy the full SHA 31e755dView commit details -
Merge pull request ziglang#13485 from ziglang/arm64-non-null-actual
aarch64: optionals
Configuration menu - View commit details
-
Copy full SHA for 2d5fbbb - Browse repository at this point
Copy the full SHA 2d5fbbbView commit details
Commits on Nov 10, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 0914e0a - Browse repository at this point
Copy the full SHA 0914e0aView commit details -
Windows: Explicitly pass PDB paths to lld-link
On Windows, lld-link resolves PDB output paths using `/` and embeds the result in the final executable, which breaks some native tooling like WPR/WPA. This commit overrides the default behavior of lld-link by explicitly setting the output PDB filename and binary-embedded path.
Configuration menu - View commit details
-
Copy full SHA for dd8df1c - Browse repository at this point
Copy the full SHA dd8df1cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1357790 - Browse repository at this point
Copy the full SHA 1357790View commit details -
Merge pull request ziglang#13495 from ziglang/macho-dsym
stage2: misc DWARF debug info fixes and additions for x86_64 and aarch64
Configuration menu - View commit details
-
Copy full SHA for 4b36378 - Browse repository at this point
Copy the full SHA 4b36378View commit details -
Configuration menu - View commit details
-
Copy full SHA for 04b8ce5 - Browse repository at this point
Copy the full SHA 04b8ce5View commit details -
crypto.ghash: define aggregate tresholds as blocks, not bytes (ziglan…
…g#13507) These constants were read as a block count in initForBlockCount() but at the same time, as a size in update(). The unit could be blocks or bytes, but we should use the same one everywhere. So, use blocks as intended. Fixes ziglang#13506
Configuration menu - View commit details
-
Copy full SHA for 59af641 - Browse repository at this point
Copy the full SHA 59af641View commit details -
stage2: Fix comptime array initialization
This is a follow-up to 9dc98fb, which made comptime initialization patterns for union/struct more robust, especially when storing to comptime-known pointers (and globals). Resolves ziglang#13063.
Configuration menu - View commit details
-
Copy full SHA for ff69972 - Browse repository at this point
Copy the full SHA ff69972View commit details -
stage2: Be more strict about eliding loads
This change makes any of the `*_val` instructions check whether it's safe to elide copies for by-ref types rather than performing this elision blindly. AIR instructions fixed: - .array_elem_val - .struct_field_val - .unwrap_errunion_payload - .try - .optional_payload These now all respect value semantics, as expected. P.S. Thanks to Andrew for the new way to approach this. Many of the lines here are from his recommended change, which comes with the significant advantage that loads are now as small as the intervening memory access allows. Co-authored by: Andrew Kelley <andrew@ziglang.org>
Configuration menu - View commit details
-
Copy full SHA for 8f38800 - Browse repository at this point
Copy the full SHA 8f38800View commit details -
Adds optimizations for by-ref types to: - .struct_field_val - .slice_elem_val - .ptr_elem_val I would have expected LLVM to be able to optimize away these temporaries since we don't leak pointers to them and they are fed straight from def to use, but empirically it does not. Resolves ziglang#12713 Resolves ziglang#12638
Configuration menu - View commit details
-
Copy full SHA for a2f4de1 - Browse repository at this point
Copy the full SHA a2f4de1View commit details -
Configuration menu - View commit details
-
Copy full SHA for fbda156 - Browse repository at this point
Copy the full SHA fbda156View commit details -
Add test case for ziglang#12043
This bug is already resolved, just want to make sure we don't lose the test case. Closes ziglang#12043
Configuration menu - View commit details
-
Copy full SHA for b135709 - Browse repository at this point
Copy the full SHA b135709View commit details -
stage2: Rename
Value.compare
tocompareAll
, etc.These functions have a very error-prone API. They are essentially `all(cmp(op, ...))` but that's not reflected in the name. This renames these functions to `compareAllAgainstZero...` etc. for clarity and fixes >20 locations where the predicate was incorrect. In the future, the scalar `compare` should probably be split off from the vector comparison. Rank-polymorphic programming is great, but a proper implementation in Zig would decouple comparison and reduction, which then needs a way to fuse ops at comptime.
Configuration menu - View commit details
-
Copy full SHA for 7b978bf - Browse repository at this point
Copy the full SHA 7b978bfView commit details -
Sema: avoid breaking hash contract when instantiating generic functions
* Add tagName to Value which behaves like @TagName. * Add hashUncoerced to Value as an alternative to hash when we want to produce the same hash for value that can coerce to each other. * Hash owner_decl instead of module_fn in Sema.instantiateGenericCall since Module.Decl.Index is not affected by ASLR like *Module.Fn was, and also because GenericCallAdapter.eql was already doing this. * Use Value.hashUncoerced in Sema.instantiateGenericCall because GenericCallAdapter.eql uses Value.eqlAdvanced to compare args, which ignores coersions. * Add revealed missing cases to Value.eqlAdvanced. Without these changes, we were breaking the hash contract for monomorphed_funcs, and were generating different hashes for values that compared equal. This resulted in a 0.2% chance when compiling self-hosted of producing a different output, which depended on fingerprint collisions of hashes that were affected by ASLR. Normally, the different hashes would have resulted in equal checks being skipped, but in the case of a fingerprint collision, the truth would be revealed and the compiler's behavior would diverge.
Configuration menu - View commit details
-
Copy full SHA for e40c38d - Browse repository at this point
Copy the full SHA e40c38dView commit details
Commits on Nov 11, 2022
-
Merge pull request ziglang#13074 from topolarity/stage2-opt
stage2: Miscellaneous fixes to vector arithmetic and copy elision
Configuration menu - View commit details
-
Copy full SHA for 892fb0f - Browse repository at this point
Copy the full SHA 892fb0fView commit details -
cmake: Mark <root>/.git/HEAD as a configure dependency
This ensures that the Zig version will be re-computed when jumping through the source tree, which is especially important if bisecting across AstGen- or other changes that must not use the old cache.
Configuration menu - View commit details
-
Copy full SHA for b605cb2 - Browse repository at this point
Copy the full SHA b605cb2View commit details -
stage2: Support modifiers in inline asm
These are supported using %[ident:mod] syntax. This allows requesting, e.g., the "w" (32-bit) vs. "x" (64-bit) views of AArch64 registers. See https://llvm.org/docs/LangRef.html#asm-template-argument-modifiers
Configuration menu - View commit details
-
Copy full SHA for 2897641 - Browse repository at this point
Copy the full SHA 2897641View commit details -
AstGen: use
condbr_inline
if force_comptime is setThe `finishThenElseBlock` would correctly use `break_inline` which would cause Sema to use `addRuntimeBreak` instead of doing the branch at comptime.
Configuration menu - View commit details
-
Copy full SHA for 89e8bb4 - Browse repository at this point
Copy the full SHA 89e8bb4View commit details -
Configuration menu - View commit details
-
Copy full SHA for cacfb0c - Browse repository at this point
Copy the full SHA cacfb0cView commit details -
Configuration menu - View commit details
-
Copy full SHA for c446555 - Browse repository at this point
Copy the full SHA c446555View commit details -
llvm: correct calculation of index of zero-bit field
If the field comes before any non-zero-bit field then the index of the next field should be returned. Closes ziglang#13363
Configuration menu - View commit details
-
Copy full SHA for d2cc551 - Browse repository at this point
Copy the full SHA d2cc551View commit details -
AstGen: make pointless discard error more strict
The error should only happen as a result of `_ = <expr>` not for an operand of a break expression that is discarded. Closes ziglang#13212
Configuration menu - View commit details
-
Copy full SHA for 0a18819 - Browse repository at this point
Copy the full SHA 0a18819View commit details -
AstGen: emit dbg_stmt before (nearly) all operations that have a safe…
…ty check All implicit casts can also potentially lead to a panic being emitted but adding a dbg_stmt before every instruction is not feasible. This adds 24k new instructions to the ZIR for Sema.zig increasing its size from 3.8MiB to 4.0MiB. Closes ziglang#13488
Configuration menu - View commit details
-
Copy full SHA for 25c8506 - Browse repository at this point
Copy the full SHA 25c8506View commit details -
Sema: make check for namespace lookup of private declarations more st…
…rict Previously sema only checked that the private declaration was in the same file as the lookup but now it also checks that the namespace where the decl was included from was also in the same file. Closes ziglang#13077
Configuration menu - View commit details
-
Copy full SHA for 9b832e7 - Browse repository at this point
Copy the full SHA 9b832e7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 40a2dfc - Browse repository at this point
Copy the full SHA 40a2dfcView commit details -
Sema: check for error unwrap in
condbr_inline
The part of `condbr` that is supposed to be the same as `condbr_inline` already does this.
Configuration menu - View commit details
-
Copy full SHA for 52b8efc - Browse repository at this point
Copy the full SHA 52b8efcView commit details -
Configuration menu - View commit details
-
Copy full SHA for e01ec96 - Browse repository at this point
Copy the full SHA e01ec96View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4f285d4 - Browse repository at this point
Copy the full SHA 4f285d4View commit details -
Configuration menu - View commit details
-
Copy full SHA for df7223c - Browse repository at this point
Copy the full SHA df7223cView commit details
Commits on Nov 12, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 7733246 - Browse repository at this point
Copy the full SHA 7733246View commit details -
Configuration menu - View commit details
-
Copy full SHA for d42f4ab - Browse repository at this point
Copy the full SHA d42f4abView commit details -
Configuration menu - View commit details
-
Copy full SHA for a760ce5 - Browse repository at this point
Copy the full SHA a760ce5View commit details -
llvm: check that tuple fields have runtime bits
Just checking that they aren't comptime isn't enough for `@Type` constructed tuples. Closes ziglang#13531
Configuration menu - View commit details
-
Copy full SHA for 87cf278 - Browse repository at this point
Copy the full SHA 87cf278View commit details -
Configuration menu - View commit details
-
Copy full SHA for fbc4331 - Browse repository at this point
Copy the full SHA fbc4331View commit details -
Configuration menu - View commit details
-
Copy full SHA for 32b97df - Browse repository at this point
Copy the full SHA 32b97dfView commit details -
Make invalidFmtError public and use in place of compileErrors for bad…
… format strings (ziglang#13526) * Export invalidFmtErr To allow consistent use of "invalid format string" compile error response for badly formatted format strings. See ziglang#13489 (comment). * Replace format compile errors with invalidFmtErr - Provides more consistent compile errors. - Gives user info about the type of the badly formated value. * Rename invalidFmtErr as invalidFmtError For consistency. Zig seems to use “Error” more often than “Err”. * std: add invalid format string checks to remaining custom formatters * pass reference-trace to comp when building build file; fix checkobjectstep
Configuration menu - View commit details
-
Copy full SHA for 8a58185 - Browse repository at this point
Copy the full SHA 8a58185View commit details
Commits on Nov 13, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 9961621 - Browse repository at this point
Copy the full SHA 9961621View commit details -
Configuration menu - View commit details
-
Copy full SHA for 81dadbc - Browse repository at this point
Copy the full SHA 81dadbcView commit details -
x/os/Reactor: implement remove function (ziglang#13330)
* x/os/Reactor: implement remove function * x/os/Reactor: update tests
Configuration menu - View commit details
-
Copy full SHA for b2ffe11 - Browse repository at this point
Copy the full SHA b2ffe11View commit details -
Sema: remove
block
andsrc
parameters fromgetBuiltin
These parameters are only ever needed when `std.builtin` is out of sync with the compiler in which case panicking is the only valid operation anyways. Removing them causes a domino effect of functions no longer needing a `src` and/or a `block` parameter resulting in handling compilation errors where they are actually meaningful becoming simpler.
Configuration menu - View commit details
-
Copy full SHA for 0184c8d - Browse repository at this point
Copy the full SHA 0184c8dView commit details -
C backend: improve ergonomics of zig.h a little bit
Partially implements ziglang#13528. Enough to unblock the wasi-bootstrap branch.
Configuration menu - View commit details
-
Copy full SHA for 77e7d97 - Browse repository at this point
Copy the full SHA 77e7d97View commit details -
Configuration menu - View commit details
-
Copy full SHA for 20e8c2d - Browse repository at this point
Copy the full SHA 20e8c2dView commit details
Commits on Nov 14, 2022
-
Merge pull request ziglang#13536 from ziglang/cbe-zig-h
C backend: improve ergonomics of zig.h a little bit
Configuration menu - View commit details
-
Copy full SHA for 0b0292c - Browse repository at this point
Copy the full SHA 0b0292cView commit details -
std.crypto.ghash: fix uninitialized polynomial use (ziglang#13527)
In the process of 'remaining blocks', the length of processed message can be from 1 to 79. The value of 'n-1' is ranged from 0 to 3. So, st.hx[i] must be initialized at least from st.hx[0] to st.hx[3]
Configuration menu - View commit details
-
Copy full SHA for b29057b - Browse repository at this point
Copy the full SHA b29057bView commit details -
Configuration menu - View commit details
-
Copy full SHA for d823680 - Browse repository at this point
Copy the full SHA d823680View commit details -
crypto.bcrypt: fix massive speed regression when using stage2 (ziglan…
…g#13518) state: State -> state: *const State Suggested by @nektro Fixes ziglang#13510
Configuration menu - View commit details
-
Copy full SHA for 7eed028 - Browse repository at this point
Copy the full SHA 7eed028View commit details -
Configuration menu - View commit details
-
Copy full SHA for bbd0775 - Browse repository at this point
Copy the full SHA bbd0775View commit details -
Configuration menu - View commit details
-
Copy full SHA for 37402e4 - Browse repository at this point
Copy the full SHA 37402e4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 27e63bb - Browse repository at this point
Copy the full SHA 27e63bbView commit details -
Configuration menu - View commit details
-
Copy full SHA for e14d135 - Browse repository at this point
Copy the full SHA e14d135View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5d7efa6 - Browse repository at this point
Copy the full SHA 5d7efa6View commit details -
Configuration menu - View commit details
-
Copy full SHA for a50ad04 - Browse repository at this point
Copy the full SHA a50ad04View commit details
Commits on Nov 15, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 1498607 - Browse repository at this point
Copy the full SHA 1498607View commit details -
Configuration menu - View commit details
-
Copy full SHA for ceb9fed - Browse repository at this point
Copy the full SHA ceb9fedView commit details -
Fix error reporting the wrong line for struct field inits (ziglang#13502
Configuration menu - View commit details
-
Copy full SHA for c4f7663 - Browse repository at this point
Copy the full SHA c4f7663View commit details -
This would only fail to compile when building *on* WASI.
Configuration menu - View commit details
-
Copy full SHA for 024bac7 - Browse repository at this point
Copy the full SHA 024bac7View commit details
Commits on Nov 16, 2022
-
Configuration menu - View commit details
-
Copy full SHA for a93fa29 - Browse repository at this point
Copy the full SHA a93fa29View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1bea4f3 - Browse repository at this point
Copy the full SHA 1bea4f3View commit details