summaryrefslogtreecommitdiff
path: root/chapter25
Commit message (Collapse)AuthorAgeFilesLines
* Check for cyclic class init before we emit codeclinitCliff Click3 days24-326/+609
|
* First cut clinit tracking for cyclesCliff Click5 days17-124/+786
|
* Support putting static data into ELF constant poolmainCliff Click7 days18-668/+883
| | | | Mostly fcn inits in <clinit>
* More test case vs RA cleanupCliff Click7 days22-86/+115
| | | | | 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 comparableCliff Click8 days36-180/+184
| | | | Ignore JIGs. Get test suites more conical, so reg alloc spill counts are comparable
* flt->int conversionCliff Click8 days16-5/+168
|
* RoundF32 actually roundsCliff Click8 days1-0/+1
|
* Fix CI timeoutCliff Click8 days2-26/+24
|
* Fix CI timeoutCliff Click8 days1-12/+2
|
* Make RA deterministicCliff Click8 days2-5/+18
|
* Pick up japanese transaltionpr262-doc-followupsCliff Click8 days7-279/+362
| | | | A bunch of minor README fixes, missing TOC, grammer cleanup
* docs: add Japanese translations for all chaptersJun Kawasaki9 days10-0/+1046
|
* Small peep to drop simple store-updates out of loopsCliff Click10 days5-5/+53
|
* Require matching types to use algebraic identiesCliff Click10 days8-9/+9
| | | | Fixes some bugs `flit x; return x ^ 0;` should give an error instead of returning the plain `x`
* Chapter renumber, and split ch 17Cliff Click12 days56-897/+1021
| | | | | | 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
* First pass README updatesCliff Click13 days1-0/+3
|
* Fix some older testsCliff Click13 days5-25/+33
|
* Fix bug loop tree depth on inf loopsCliff Click13 days9-50/+167
|
* Restore missing anti-dependence walkCliff Click14 days2-10/+33
|
* Move much of the ISA support to shared codeCliff Click14 days137-2493/+419
| | | | The ISA shared handlers here are required for a proper compiler, but contain only trivial bit-massaging operations.
* Move debug printing into shared spaceCliff Click14 days54-905/+378
| | | | Same as the graph viewer, moves a lot of code out of all Nodes
* Fix CICliff Click14 days3-5/+4
|
* Merge pull request #258: same constant phi merge testCliff Click2026-09-301-0/+15
|\ | | | | | | Preserve the regression across the Chapter 10 split by including it in both chapter10a and chapter10b. Validated Chapter05Test in all 22 affected snapshots (374 tests).
| * Add same constant phi merge testfuhsnn2026-09-291-0/+15
| |
* | Finish forward-port mem ops thru ch25Cliff Click2026-09-3015-195/+383
| |
* | Forward port mem stuff to ch21Cliff Click2026-09-305-4/+56
|/ | | | Also a minor reg-alloc improvement for BrainFuck, ported up to ch25
* Extend smaller-width C results to full widthCliff Click2026-09-2812-13/+238
|
* Backport FunPtrCliff Click2026-09-281-2/+5
| | | | | Helps keep functions alive via ptr only (no calls). A few RISC 5 TFP encoding fixes.
* Support extern C ver direct updatesCliff Click2026-09-2825-61/+314
| | | | FIx minor RISC encodings.
* Check un-init not-null constructor fieldsCliff Click2026-09-2816-80/+132
| | | | | | | | 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.
* Remove -disablePeepholeCliff Click2026-09-278-81/+5
|
* bug fix widenCliff Click2026-09-267-65/+77
| | | | 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 Fu2026-09-254-4/+59
| | | | | | | | | | | | | | | * 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>
* Merge branch 'main' of https://github.com/SeaOfNodes/SimpleCliff Click2026-09-251-1/+1
|\
| * Update test result for sysV (#253)Hsiang-Ying Fu2026-09-251-1/+1
| |
| * Fix ch25 pom.xml (#252)Hsiang-Ying Fu2026-09-251-2/+2
| |
* | Bunch more animation workCliff Click2026-09-256-7/+23
|/
* Bunch better layout optionsCliff Click2026-09-241-1/+3
|
* Keyboard shortcutsCliff Click2026-09-235-5/+33
| | | | | Fast forward/reverse, pick-a-frame. Shorter type names.
* Graph cleanupCliff Click2026-09-222-2/+4
| | | | Phis stay with regions, stop sinks to bottom,
* Tidy up scope displayCliff Click2026-09-221-1/+1
|
* Add shared graph viewer to all chaptersCliff Click2026-09-2230-395/+27
|
* Graph viewer on ch4 and25Cliff Click2026-09-224-370/+18
|
* Switch over to the new ELK driverCliff Click2026-09-217-77/+170
| | | | Interact between compiler & browser now hooks several nbew places.
* Switch over to the ELK rendererCliff Click2026-09-211-337/+4
|
* Change protocol between compiler and browserCliff Click2026-09-212-20/+34
|
* Define a new graph interaction APICliff Click2026-09-213-0/+84
|
* move the graph visualizer into shared codeCliff Click2026-09-217-2293/+125
|
* Final reg-alloc across chapters cleanupCliff Click2026-09-2083-30/+1486
|
* Split self-conflict phis once at a loop headCliff Click2026-09-203-1/+31
| | | | if this works, saves a copy-per-loop. If it fails, next round split as normal