aboutsummaryrefslogtreecommitdiff
path: root/src/register_manager.zig
AgeCommit message (Expand)Author
2023-11-03x86_64: reduce `RegisterManager` performance regressionJacob Young
2023-10-07x86_64: implement negation and `@abs` for `f80`Jacob Young
2023-06-24all: migrate code to new cast builtin syntaxmlugg
2023-06-19all: zig fmt and rename "@XToY" to "@YFromX"Eric Joldasov
2023-04-20x86_64: rewrite inst trackingJacob Young
2023-03-25x86_64: implement saturating arithmeticJacob Young
2023-03-24x86_64: fix value tracking bugsJacob Young
2023-03-21x86_64: implement atomic and fence opsJacob Young
2023-03-03codegen: move gen logic for typed values, consts and decl ref to common codegenJakub Konka
2023-02-18update std lib and compiler sources to new for loop syntaxAndrew Kelley
2022-07-26std.fmt: require specifier for unwrapping ?T and E!TInKryption
2022-07-24Revert "std.fmt: require specifier for unwrapping ?T and E!T."Andrew Kelley
2022-07-24std.fmt: require specifier for unwrapping ?T and E!T.InKryption
2022-06-07x64: simplify saving registers to stack in prologueJakub Konka
2022-05-26regalloc: use StaticBitSet internallyJakub Konka
2022-05-21regalloc: test allocating from multiple register claasesJakub Konka
2022-05-20regalloc: temporarily nerf back to raw ints until stage2 catches upJakub Konka
2022-05-19regalloc: make register class bitmask non-optionalJakub Konka
2022-05-19x64: use StaticBitSet instead of an integer internally in RegisterManagerJakub Konka
2022-05-19x64: re-enable incremental testsJakub Konka
2022-05-19x64: use register classes mask to select between gp and avxJakub Konka
2022-05-19regalloc: allow for optional selector mask when allocatingJakub Konka
2022-05-19x64: merge general purpose with simd register into one bitsetJakub Konka
2022-05-19x64: add unordered cmp with EFLAGSJakub Konka
2022-05-19x64: load/store to/from AVX registers for f64Jakub Konka
2022-05-07regalloc: refactor locking multiple registers at onceJakub Konka
2022-05-07x64: refactor code to avoid stage1 sema limitationsJakub Konka
2022-05-07regalloc: rename freeze/unfreeze to lock/unlock registersJakub Konka
2022-05-07x64: fix misused register locksJakub Konka
2022-05-07regalloc: ensure we only freeze/unfreeze at the outermost scopeJakub Konka
2022-03-18stage2 regalloc: fix tryAllocRegs for specific situationsjoachimschmidt557
2022-03-11stage2 ARM: implement caller-saved registersjoachimschmidt557
2022-03-11stage2 regalloc: replace Register.allocIndex with generic indexOfRegjoachimschmidt557
2022-02-13stage2 regalloc: track Inst instead of ?Inst in register mappingjoachimschmidt557
2022-02-06stage2 regalloc: Introduce error.OutOfRegistersjoachimschmidt557
2022-02-03stage2: remove the concept of register exceptionsJakub Konka
2022-01-28stage2 regalloc: Fix bug where regs were not marked as allocatedjoachimschmidt557
2022-01-26stage2 regalloc: Add freezeRegs/unfreezeRegs APIjoachimschmidt557
2021-12-30stage2 ARM: implement struct_field_ptr and struct_field_valjoachimschmidt557
2021-11-30allocgate: std Allocator interface refactorLee Cannon
2021-07-20Get register_manager.zig tests to compile - use value '1' as mock Air.Inst.IndexLewis Gaul
2021-07-20stage2: first pass over Module.zig for AIR memory layoutAndrew Kelley
2021-07-20stage2: first pass over codegen.zig for AIR memory layoutAndrew Kelley
2021-07-20stage2: rework AIR memory layoutAndrew Kelley
2021-06-21fix code broken from previous commitJacob G-W
2021-06-21std, src, doc, test: remove unused variablesJacob G-W
2021-05-22stage2: rename ir.zig to air.zigAndrew Kelley
2021-05-14stage2 register manager: clean up API and add more unit testsjoachimschmidt557
2021-05-09stage2 ARM: Overhaul of genArmBinOpjoachimschmidt557
2021-05-08update usage of std.testing in stage2Veikka Tuominen