| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2025-07-22 | aarch64: add new from scratch self-hosted backend | Jacob Young | |
| 2025-06-16 | rename spirv backend name | Ali Cheraghi | |
| `stage2_spirv64` -> `stage2_spirv` | |||
| 2025-03-24 | test: add a behavior test for 0-length loop fix | David Rubin | |
| 2025-02-24 | test: skip failing tests with spirv-vulkan | Ali Cheraghi | |
| 2024-07-26 | riscv: update tests and fix reuse bug | David Rubin | |
| 2024-07-26 | riscv: airAsm rewrite | David Rubin | |
| with this rewrite we can call functions inside of inline assembly, enabling us to use the default start.zig logic all that's left is to implement lr/sc loops for atomically manipulating 1 and 2 byte values, after which we can use the segfault handler logic. | |||
| 2024-07-26 | riscv: implement more operators | David Rubin | |
| we can run `std.debug.print` now, with both run-time strings and integers! | |||
| 2024-06-13 | riscv: rewrite "binOp" | David Rubin | |
| Reorganize how the binOp and genBinOp functions work. I've spent quite a while here reading exactly through the spec and so many tests are enabled because of several critical issues the old design had. There are some regressions that will take a long time to figure out individually so I will ignore them for now, and pray they get fixed by themselves. When we're closer to 100% passing is when I will start diving into them one-by-one. | |||
| 2024-06-13 | riscv: add `airAggregateInit` for arrays | David Rubin | |
| 2024-06-13 | riscv: `std.fmt.format` running | David Rubin | |
| - implements `airSlice`, `airBitAnd`, `airBitOr`, `airShr`. - got a basic design going for the `airErrorName` but for some reason it simply returns empty bytes. will investigate further. - only generating `.got.zig` entries when not compiling an object or shared library - reduced the total amount of ops a mnemonic can have to 3, simplifying the logic | |||
| 2024-06-13 | riscv: arbitrary sized arrays | David Rubin | |
| 2024-05-11 | riscv: math progress | David Rubin | |
| 2024-05-11 | riscv: add stage2_riscv to test matrix and bypass failing tests | David Rubin | |
| 2024-04-06 | spirv: implement `@mulWithOverflow` | Ali Chraghi | |
| 2024-02-04 | spirv: update tests | Robin Voetter | |
| 2024-01-06 | categorize `behavior/bugs/<issueno>.zig` tests | Veikka Tuominen | |
| 2023-11-29 | Remove all usages of `std.mem.copy` and remove `std.mem.set` (#18143) | David Rubin | |
| 2023-11-19 | test: update behavior to silence 'var is never mutated' errors | mlugg | |
| 2023-10-15 | spirv: update failing / passing tests | Robin Voetter | |
| Some tests are now failing due to debug info changes, some tests now pass due to improved compiler functionality. | |||
| 2023-10-15 | spirv: fix incorrect repr of some optional operations | Robin Voetter | |
| 2023-10-15 | spirv: make bitcasts between the same spirv type a no-op | Robin Voetter | |
| 2023-09-23 | spirv: enable passing tests | Robin Voetter | |
| 2023-07-26 | AstGen: fix missing deferred ref | Jacob Young | |
| Closes #16524 | |||
| 2023-06-24 | all: migrate code to new cast builtin syntax | mlugg | |
| Most of this migration was performed automatically with `zig fmt`. There were a few exceptions which I had to manually fix: * `@alignCast` and `@addrSpaceCast` cannot be automatically rewritten * `@truncate`'s fixup is incorrect for vectors * Test cases are not formatted, and their error locations change | |||
| 2023-06-14 | Sema: allow indexing tuple and vector pointers | mlugg | |
| Resolves: #13852 Resolves: #14705 | |||
| 2023-06-13 | all: replace `comptime try` with `try comptime` | Eric Joldasov | |
| Signed-off-by: Eric Joldasov <bratishkaerik@getgoogleoff.me> | |||
| 2023-05-20 | spirv: ptr_elem_val | Robin Voetter | |
| Implements the ptr_elem_val air tag. Implementation is unified with ptr_elem_ptr. | |||
| 2023-05-20 | spirv: more passing tests | Robin Voetter | |
| 2023-05-11 | setup spirv backend in behavior tests | Ali Chraghi | |
| 2023-05-03 | x86_64: implement slice elem ptr for more MCValue tags | Jacob Young | |
| 2023-04-20 | x86_64: rewrite inst tracking | Jacob Young | |
| 2023-04-07 | Liveness: defer deaths of externally-scoped instructions in loop bodies | mlugg | |
| 2023-03-24 | x86_64: fix value tracking bugs | Jacob Young | |
| 2023-03-15 | behavior: enable passing behavior tests on stage2_x86_64 | Jacob Young | |
| 2023-02-18 | Sema: add missing coercion when checking for loop len | Andrew Kelley | |
| 2023-02-18 | implement error for unbounded for loops | Andrew Kelley | |
| 2023-02-18 | omit safety checks for element access in for loops | Andrew Kelley | |
| One of the main points of for loops is that you can safety check the length once, before entering the loop, and then safely assume that every element inside the loop is in bounds. In master branch, the safety checks are incorrectly intact even inside for loops. This commit fixes it. It's especially nice with multi-object loops because the number of elided checks is N * M where N is how many iterations and M is how many objects. | |||
| 2023-02-18 | AstGen: add error for discard of unbounded counter | Andrew Kelley | |
| 2023-02-18 | disable failing x86_64 backend tests | Andrew Kelley | |
| 2023-02-18 | add passing for loop test: two counters | Andrew Kelley | |
| 2023-02-18 | Sema: fix for loops with comptime-known int ranges | Andrew Kelley | |
| 2023-02-18 | update existing behavior tests and std lib to new for loop semantics | Andrew Kelley | |
| 2022-12-29 | add tests for fixed stage1 bugs | Veikka Tuominen | |
| Closes #1957 Closes #1994 Closes #2140 Closes #2746 Closes #2802 Closes #2855 Closes #2895 Closes #2981 Closes #3054 Closes #3158 Closes #3234 Closes #3259 Closes #3371 Closes #3376 Closes #3387 Closes #3529 Closes #3653 Closes #3750 Closes #3778 Closes #3882 Closes #3915 Closes #3929 Closes #3961 Closes #3988 Closes #4123 Closes #7448 | |||
| 2022-12-10 | stage2: sparc64: Skip unimplemented tests | Koakuma | |
| 2022-10-25 | cbe: canonicalize types that have the same C type when emitting typedefs | Jacob Young | |
| 2022-09-09 | stage2 ARM: implement basic array_elem_val | joachimschmidt557 | |
| 2022-09-09 | stage2 ARM: implement struct_field_val for registers | joachimschmidt557 | |
| 2022-07-13 | AstGen: fix loop control flow applying to wrong loop | Andrew Kelley | |
| In the case of 'continue' or 'break' inside the 'else' block of a 'while' or 'for' loop. Closes #12109 | |||
| 2022-03-29 | CBE: fix C output after PR #11302, reenable tests | Daniele Cocca | |
| Commit 052079c99455d01312d377d72fa1b8b5c0b22aad surfaced two issues with the generated C code: - renderInt128() contained a seemingly unnecessary assertion to verify that the high 64 bits of the number were nonzero, dating back to 9bf1681990fe87a6b2e5fc644a89f1aece304579. I removed it. - renderValue() didn't have any special handling for undefined structs, falling back to printing "{}" which generated invalid expressions such as "return {}" for functions returning structs, whereas "return (S){}" is the correct form. I changed it accordingly. At the same time I'm reenabling the relevant tests. | |||
| 2022-03-27 | stage2: runtime safety check integer cast truncating bits | Mitchell Hashimoto | |
