| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2022-05-13 | target: Rename sparcv9 -> sparc64 | Koakuma | |
| Rename all references of sparcv9 to sparc64, to make Zig align more with other projects. Also, added new function to convert glibc arch name to Zig arch name, since it refers to the architecture as sparcv9. This is based on the suggestion by @kubkon in PR 11847. (https://github.com/ziglang/zig/pull/11487#pullrequestreview-963761757) | |||
| 2022-05-05 | sparcv9: fix typo in def comment | Jakub Konka | |
| 2022-05-05 | stage2: sparcv9: Update Mir tag doc comments | Koakuma | |
| 2022-05-05 | stage2: sparcv9: Simplify debug info emission, remove unused formats | Koakuma | |
| 2022-05-05 | stage2: sparcv9: Add debug info generation for args | Koakuma | |
| 2022-05-05 | stage2: sparcv9: Remove dbg_arg instruction | Koakuma | |
| 2022-05-05 | stage2: sparcv9: Simplify genLoad/genStore | Koakuma | |
| 2022-05-05 | stage2: sparcv9: Fix stack space accounting | Koakuma | |
| 2022-05-05 | stage2: sparcv9: Pad branch delay slots with nops | Koakuma | |
| 2022-05-05 | stage2: sparcv9: Implement basic stack load/stores | Koakuma | |
| 2022-05-05 | stage2: sparcv9: Implement jmpl lowering | Koakuma | |
| 2022-05-02 | stage2: improve inline asm stage1 compatibility | Andrew Kelley | |
| * outputs can have names and be referenced with template replacements the same as inputs. * fix print_air.zig not decoding correctly. * LLVM backend: use a table for template names for simplicity | |||
| 2022-04-27 | add new builtin function `@tan` | Andrew Kelley | |
| The reason for having `@tan` is that we already have `@sin` and `@cos` because some targets have machine code instructions for them, but in the case that the implementation needs to go into compiler-rt, sin, cos, and tan all share a common dependency which includes a table of data. To avoid duplicating this table of data, we promote tan to become a builtin alongside sin and cos. ZIR: The tag enum is at capacity so this commit moves `field_call_bind_named` to be `extended`. I measured this as one of the least used tags in the zig codebase. Fix libc math suffix for `f32` being wrong in both stage1 and stage2. stage1: add missing libc prefix for float functions. | |||
| 2022-04-20 | stage2: use indexes for Decl objects | Andrew Kelley | |
| Rather than allocating Decl objects with an Allocator, we instead allocate them with a SegmentedList. This provides four advantages: * Stable memory so that one thread can access a Decl object while another thread allocates additional Decl objects from this list. * It allows us to use u32 indexes to reference Decl objects rather than pointers, saving memory in Type, Value, and dependency sets. * Using integers to reference Decl objects rather than pointers makes serialization trivial. * It provides a unique integer to be used for anonymous symbol names, avoiding multi-threaded contention on an atomic counter. | |||
| 2022-04-15 | update self hosted sources to language changes | Veikka Tuominen | |
| 2022-04-14 | stage2: sparcv9: Add cmp_lt_errors_len AIR inst & fix asm parsing | Koakuma | |
| 2022-04-14 | stage2: sparcv9: Fix Tcc encoding | Koakuma | |
| 2022-04-14 | stage2: sparcv9: Use regular structs to encode instructions | Koakuma | |
| Currently packed structs still has endian-dependent behavior, so it results in code that is not portable across platforms (see also issue 10113). | |||
| 2022-04-14 | stage2: sparcv9: Implement enough instruction to compile simple exes | Koakuma | |
| 2022-04-14 | stage2: sparcv9: zig fmt | Koakuma | |
| 2022-04-14 | stage2: sparcv9: Test failure error logging | Flandre Scarlet | |
| 2022-04-14 | stage2: sparcv9: implement basic instruction lowering | Koakuma | |
| 2022-04-14 | stage2: sparcv9: Implement basic asm codegen | Koakuma | |
| 2022-04-14 | stage2: sparcv9: Add breakpoint, ret, and calling mechanism | Koakuma | |
| 2022-04-14 | stage2: sparcv9: Add placeholders to generate a minimal program | Koakuma | |
| 2022-04-14 | stage2: sparcv9: Different formatting for genBody | Koakuma | |
| 2022-04-14 | stage2: sparcv9: implement dbgAdvancePCAndLine | Koakuma | |
| 2022-04-14 | stage2: sparcv9: Adjust RegisterManager settings | Koakuma | |
| 2022-04-14 | stage2: sparcv9: Placeholder for Air instructions in genBody | Koakuma | |
| 2022-04-14 | stage2: sparcv9: Change ordering in Mir Tag | Koakuma | |
| 2022-04-14 | stage2: sparcv9: Implement basic prologue/epilogue Mir emission | Koakuma | |
| 2022-04-14 | stage2: sparcv9: Emit debug inst placeholder | Koakuma | |
| 2022-04-14 | stage2: sparcv9: Mir extraData implementation | Koakuma | |
| 2022-04-14 | stage2: sparcv9: Initial resolveCallingConventionValues implementation | Koakuma | |
| 2022-04-14 | stage2: sparcv9: Add skeleton codegen impl and necessary fields | Koakuma | |
| 2022-04-14 | stage2: sparcv9: Add some initial checks in codegen | Koakuma | |
| 2022-03-19 | stage2 sparcv9: zig fmt | Koakuma | |
| 2022-03-19 | stage2 sparcv9: Fix unused parameter errors in Codegen | Koakuma | |
| 2022-03-19 | stage2 sparcv9: Add placeholder files and generate() function | Koakuma | |
| Add placeholder files for Codegen, Emit, and Mir stages, complete with a placeholder implementation of generate() to make it able to be plugged in to the frontend. At the moment the implementation just panics, it'll be worked on incrementally later. Also, this registers the sparcv9 backend files into CMakeLists.txt. | |||
| 2022-03-17 | stage2 sparcv9: Add param/return regs list | Koakuma | |
| 2022-03-17 | stage2 sparcv9: Add encoder test and packed struct workaround | Koakuma | |
| 2022-03-16 | stage2 sparcv9: Fix branch format asserts | Koakuma | |
| 2022-03-16 | stage2 sparcv9: Add list of preserved regs | Koakuma | |
| 2022-03-16 | stage2 sparcv9: Reorder Format 4 wrappers too | Koakuma | |
| 2022-03-16 | stage2 sparcv9: cc -> ccr | Koakuma | |
| 2022-03-16 | stage2 sparcv9: Reorder wrapper parameters to textual assembly order | Koakuma | |
| 2022-03-16 | stage2 sparcv9: Add Format 3 encoder | Koakuma | |
| 2022-03-16 | stage2 sparcv9: Fix bitcast typos | Koakuma | |
| 2022-03-16 | stage2 sparcv9: Minor parameter type changes | Koakuma | |
| Use the `Condition` type for 2b/2c and signed integer for 4b/4d. | |||
| 2022-03-16 | stage2 sparcv9: Add Format 4 encoder | Flandre Scarlet | |
