| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Fix memory on Load splitting up | Cliff Click | 3 days | 1 | -2/+3 |
| | | |||||
| * | Cleanup & backportclinit | Cliff Click | 3 days | 17 | -296/+368 |
| | | | | | The phase rework, made new phases explicit and add them to the CodeGen driver. Fix the flag-spilling on X86 and ARM. Fix the GCM conservative anti-deps and backport. | ||||
| * | More test case vs RA cleanup | Cliff Click | 2026-10-07 | 6 | -7/+12 |
| | | | | | | Missing a few risc/arm encodings. Make private many tests, so they don't escape and the escaped fcn inflate x86 spill numbers | ||||
| * | Towrds getting RA spill counts comparable | Cliff Click | 2026-10-07 | 2 | -1/+111 |
| | | | | | Ignore JIGs. Get test suites more conical, so reg alloc spill counts are comparable | ||||
| * | flt->int conversion | Cliff Click | 2026-10-07 | 8 | -0/+92 |
| | | |||||
| * | RoundF32 actually rounds | Cliff Click | 2026-10-07 | 1 | -0/+1 |
| | | |||||
| * | Make RA deterministic | Cliff Click | 2026-10-07 | 1 | -4/+12 |
| | | |||||
| * | Small peep to drop simple store-updates out of loops | Cliff Click | 2026-10-05 | 2 | -0/+45 |
| | | |||||
| * | Require matching types to use algebraic identies | Cliff Click | 2026-10-05 | 9 | -9/+9 |
| | | | | | Fixes some bugs `flit x; return x ^ 0;` should give an error instead of returning the plain `x` | ||||
| * | Slides for 2026 REBASEreadme | Cliff Click | 2026-10-04 | 1 | -3/+4 |
| | | |||||
| * | Chapter renumber, and split ch 17 | Cliff Click | 2026-10-03 | 13 | -80/+152 |
| | | | | | | | Renumber chapters 10a, 10b, 11, 12, 13, 14 -> 10, 11, 13, 12, [11,14]. Split ch 17 into a 17a and 17b; shuffle around im/mutable syntax to be consistent, and present it more slowly. THe new immutable syntax is pushed through all later chapters | ||||
| * | Fix bug loop tree depth on inf loops | Cliff Click | 2026-10-02 | 5 | -9/+29 |
| | | |||||
| * | Restore missing anti-dependence walk | Cliff Click | 2026-10-01 | 1 | -10/+15 |
| | | |||||
| * | Move much of the ISA support to shared code | Cliff Click | 2026-10-01 | 124 | -1350/+360 |
| | | | | | The ISA shared handlers here are required for a proper compiler, but contain only trivial bit-massaging operations. | ||||
| * | Move debug printing into shared space | Cliff Click | 2026-10-01 | 52 | -967/+359 |
| | | | | | Same as the graph viewer, moves a lot of code out of all Nodes | ||||
| * | Finish forward-port mem ops thru ch25 | Cliff Click | 2026-09-30 | 21 | -529/+748 |
| | | |||||
| * | Forward port mem stuff to ch21 | Cliff Click | 2026-09-30 | 1 | -2/+14 |
| | | | | | Also a minor reg-alloc improvement for BrainFuck, ported up to ch25 | ||||
| * | Extend smaller-width C results to full width | Cliff Click | 2026-09-28 | 7 | -1/+115 |
| | | |||||
| * | Backport FunPtr | Cliff Click | 2026-09-28 | 9 | -15/+44 |
| | | | | | | Helps keep functions alive via ptr only (no calls). A few RISC 5 TFP encoding fixes. | ||||
| * | Support extern C ver direct updates | Cliff Click | 2026-09-28 | 1 | -3/+3 |
| | | | | | FIx minor RISC encodings. | ||||
| * | Check un-init not-null constructor fields | Cliff Click | 2026-09-28 | 3 | -3/+4 |
| | | | | | | | | | Propagate BOT inputs; Arith, Load. CallEnd inlining, the FUnPtr dies early. Load asserts when loading against uninit not-null field. Keep not-nill state for storage class. Clean up Node.peep as constant. | ||||
| * | bug fix widen | Cliff Click | 2026-09-26 | 6 | -69/+68 |
| | | | | | Failed lattice law tests mixing constants and have wide type ints; or mixing wide ints and constant arrays. | ||||
| * | Extend and backport SubNode peephole (#254) | Hsiang-Ying Fu | 2026-09-25 | 1 | -4/+15 |
| | | | | | | | | | | | | | | | | * Extend and backport SubNode peephole * Add tests * Restrict subtraction zero peepholes to integer operands Require resolved integer mode in chapter 25 so zero subtraction preserves floating-point signed zero. Keep nonnumeric operands in the graph for subtraction diagnostics. Add signed-zero coverage from chapter 12 and null-subtraction diagnostics from chapter 22. Confirmed the regressions fail on the original PR. Full Make suites pass in chapters 4-25 (5462 tests), including fresh chapter 25 sys.o compilation. --------- Co-authored-by: Cliff Click <cliffc@acm.org> | ||||
| * | Bunch more animation work | Cliff Click | 2026-09-25 | 5 | -3/+20 |
| | | |||||
| * | Bunch better layout options | Cliff Click | 2026-09-24 | 1 | -1/+3 |
| | | |||||
| * | Keyboard shortcuts | Cliff Click | 2026-09-23 | 4 | -4/+20 |
| | | | | | | Fast forward/reverse, pick-a-frame. Shorter type names. | ||||
| * | Graph cleanup | Cliff Click | 2026-09-22 | 2 | -1/+3 |
| | | | | | Phis stay with regions, stop sinks to bottom, | ||||
| * | Tidy up scope display | Cliff Click | 2026-09-22 | 1 | -1/+1 |
| | | |||||
| * | Add shared graph viewer to all chapters | Cliff Click | 2026-09-22 | 30 | -980/+130 |
| | | |||||
| * | move the graph visualizer into shared code | Cliff Click | 2026-09-21 | 2 | -27/+87 |
| | | |||||
| * | Final reg-alloc across chapters cleanup | Cliff Click | 2026-09-20 | 5 | -18/+15 |
| | | |||||
| * | Split self-conflict phis once at a loop head | Cliff Click | 2026-09-20 | 2 | -6/+33 |
| | | | | | if this works, saves a copy-per-loop. If it fails, next round split as normal | ||||
| * | Popular use grouping for RegAlloc | Cliff Click | 2026-09-20 | 4 | -55/+40 |
| | | | | | Fix arm BL encodings; ADD/SUB with reversed sign. | ||||
| * | Forward-port allocator bug fixes and test support through ch25 | Cliff Click | 2026-09-20 | 6 | -48/+59 |
| | | | | | Improved spilling | ||||
| * | Backport TypeFunPtr normalization | Cliff Click | 2026-09-20 | 1 | -1/+18 |
| | | |||||
| * | Unify GCM across chapters | Cliff Click | 2026-09-20 | 6 | -111/+89 |
| | | | | | | | Remove the _anti field. Remove the isPinned() call. Add a copyEmpty call. | ||||
| * | Unify mixed-return checking and results | Cliff Click | 2026-09-19 | 10 | -47/+38 |
| | | | | | Unify dominator caching. | ||||
| * | Use isDead() instead of checking null inputs | Cliff Click | 2026-09-19 | 1 | -1/+1 |
| | | |||||
| * | debug printers no longer call self-optimizing accessors | Cliff Click | 2026-09-19 | 12 | -20/+59 |
| | | |||||
| * | Tighter recursive-struct test | Cliff Click | 2026-09-19 | 1 | -1/+1 |
| | | |||||
| * | Handle double-negation preserving not-null knowledge | Cliff Click | 2026-09-19 | 1 | -2/+59 |
| | | |||||
| * | Backport string escapes and many op-assign | Cliff Click | 2026-09-17 | 1 | -11/+53 |
| | | |||||
| * | Parser fix OR temps | Cliff Click | 2026-09-17 | 1 | -1/+1 |
| | | |||||
| * | Backport x86 Not encoding | Cliff Click | 2026-09-17 | 1 | -10/+7 |
| | | |||||
| * | x86 mul reg reg encoding fix | Cliff Click | 2026-09-17 | 1 | -1/+1 |
| | | |||||
| * | Back point cmpmem encoding | Cliff Click | 2026-09-17 | 1 | -1/+1 |
| | | |||||
| * | Fix stale copy-pasted comment on BoolNode's phiCon call (#249) | Symious | 2026-09-09 | 1 | -3/+3 |
| | | | | | | | | | | | | | | | | | | | The three comment lines above `AddNode.phiCon(this, ...)` in BoolNode were copy-pasted from MulNode and never adapted: they use `*` as the operator and describe the rotated shape `(x * (phi cons)) * con`. For BoolNode neither is right. The operator is a compare, and in chapters 6-9 `rotate` is hard-coded `false`, so the rotated shape is never matched; the shapes actually handled are `(phi cons) cmp con` and `(phi cons) cmp (phi cons)`. Reword the comment accordingly, and in chapters 6-9 add a line noting why rotate is off. Chapters 10-25 pass `this instanceof EQ`, so no such claim is made there. Comment-only change; no code is touched. Co-authored-by: Claude Opus 5 <noreply@anthropic.com> | ||||
| * | Move `addUse()` return statement to `keep()` (#243) | Hsiang-Ying Fu | 2026-07-03 | 1 | -7/+4 |
| | | |||||
| * | minor typoes | Cliff Click | 2026-01-25 | 1 | -1/+1 |
| | | |||||
| * | Missing dep | Cliff Click | 2025-10-11 | 1 | -1/+5 |
| | | |||||
