aboutsummaryrefslogtreecommitdiff
path: root/src/arch/sparc64/Emit.zig
AgeCommit message (Collapse)Author
2025-09-26compiler: move self-hosted backends from src/arch to src/codegenAlex Rønne Petersen
2025-09-21Elf2: create a new linker from scratchJacob Young
This iteration already has significantly better incremental support. Closes #24110
2025-08-11linker: delete plan9 supportAndrew Kelley
This experimental target was never fully completed. The operating system is not that interesting or popular anyway, and the maintainer is no longer around. Not worth the maintenance burden. This code can be resurrected later if it is worth it. In such case it will be subject to greater scrutiny.
2025-05-29Legalize: introduce a new pass before livenessJacob Young
Each target can opt into different sets of legalize features. By performing these transformations before liveness, instructions that become unreferenced will have up-to-date liveness information.
2025-01-15switch to ArrayListUnmanaged for machine codeAndrew Kelley
2024-09-12Replace deprecated default initializations with decl literalsLinus Groh
2024-09-10codegen: implement output to the `.debug_info` sectionJacob Young
2024-08-27compiler,lib,test,langref: migrate `@setCold` to `@branchHint`mlugg
2024-07-07Zcu: introduce `PerThread` and pass to all the functionsJacob Young
2024-07-04Zcu: store `LazySrcLoc` in error messagesmlugg
This change modifies `Zcu.ErrorMsg` to store a `Zcu.LazySrcLoc` rather than a `Zcu.SrcLoc`. Everything else is dominoes. The reason for this change is incremental compilation. If a failed `AnalUnit` is up-to-date on an update, we want to re-use the old error messages. However, the file containing the error location may have been modified, and `SrcLoc` cannot survive such a modification. `LazySrcLoc` is designed to be correct across incremental updates. Therefore, we defer source location resolution until `Compilation` gathers the compile errors into the `ErrorBundle`.
2024-06-22rename src/Module.zig to src/Zcu.zigAndrew Kelley
This patch is a pure rename plus only changing the file path in `@import` sites, so it is expected to not create version control conflicts, even when rebasing.
2024-01-01fix a round of compile errors caused by this branchAndrew Kelley
2023-10-31std.builtin.Endian: make the tags lower caseAndrew Kelley
Let's take this breaking change opportunity to fix the style of this enum.
2023-06-24all: migrate code to new cast builtin syntaxmlugg
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-04-28stage2: sparc64: Implement ASI load/store opsKoakuma
2023-04-28stage2: sparc64: Implement airByteSwapKoakuma
2023-02-18update std lib and compiler sources to new for loop syntaxAndrew Kelley
2022-12-05dwarf: pull out debug line program internals into DeclState helpersJakub Konka
2022-06-24stage2: sparc64: Implement SPARCv9 movrKoakuma
2022-06-24stage2: sparc64: Implement airRem, airMod, and SPARCv9 s/udivxKoakuma
2022-06-24stage2: sparc64: Implement SPARCv9 shiftsKoakuma
2022-06-24stage2: sparc64: Implement airFence + SPARCv9 membarKoakuma
2022-06-24stage2: sparc64: Implement SPARCv9 andKoakuma
2022-06-24stage2: sparc64: Implement airBinOp for and, or, and xorKoakuma
2022-06-24stage2: sparc64: Use official encoding for `not rs2, rs1`Koakuma
2022-06-24stage2: sparc64: Introduce condition_register MCValue typeKoakuma
Introduce condition_register MCValue type for future uses with BPr/MOVr (mostly when needing to compare a signed value with zero)
2022-06-06stage2: sparc64: Implement SPARCv9 xor, xnor, & notKoakuma
2022-06-06stage2: sparc64: Implement airNotKoakuma
2022-06-06stage2: sparc64: Implement SPARCv9 addcc and movccKoakuma
2022-06-06stage2: sparc64: Implement airAddSubOverflowKoakuma
2022-06-06stage2: sparc64: Implement condition code spillingKoakuma
2022-05-27math: make `cast` return optional instead of an errorAli Chraghi
2022-05-26stage2: sparc64: Add cmp and mov synthetic instructionsKoakuma
2022-05-16stage2: sparc64: Implement SPARCv9 mulxKoakuma
2022-05-16stage2: sparc64: Implement airSliceElemValKoakuma
2022-05-16stage2: sparc64: Implement SPARCv9 bprKoakuma
2022-05-16stage2: sparc64: Implement SPARCv9 bpccKoakuma
2022-05-16stage2: sparc64: Implement SPARCv9 subccKoakuma
2022-05-16stage2: sparc64: Implement airIsErr and airIsNonErrKoakuma
2022-05-13target: Rename sparcv9 -> sparc64Koakuma
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)