summaryrefslogtreecommitdiff
path: root/docs
Commit message (Collapse)AuthorAgeFilesLines
* Split out incomplete type analysisCliff Click25 hours2-9/+9
|
* Split from ch25, SCCP and interprocedural SCCPCliff Click4 days2-5/+141
|
* Fix a missed int-widening around recursionCliff Click4 days1-1/+14
|
* Turn off Store GVN with explainationCliff Click4 days1-13/+2
|
* Fix memory on Load splitting upCliff Click4 days1-12/+36
|
* Cleanup & backportclinitCliff Click5 days1-1317/+60
| | | | 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.
* Phase cleanup heading into CLInit expansionCliff Click6 days1-2/+14
|
* Check for cyclic class init before we emit codeCliff Click11 days1-1/+18
|
* First cut clinit tracking for cyclesCliff Click13 days1-3/+35
|
* Support putting static data into ELF constant poolCliff Click2026-10-082-73/+67
| | | | Mostly fcn inits in <clinit>
* More test case vs RA cleanupCliff Click2026-10-072-100/+194
| | | | | 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 Click2026-10-072-5/+232
| | | | Ignore JIGs. Get test suites more conical, so reg alloc spill counts are comparable
* flt->int conversionCliff Click2026-10-071-12/+21
|
* RoundF32 actually roundsCliff Click2026-10-071-6/+20
|
* Make RA deterministicCliff Click2026-10-071-0/+19
|
* Pick up japanese transaltionpr262-doc-followupsCliff Click2026-10-072-2/+24
| | | | A bunch of minor README fixes, missing TOC, grammer cleanup
* Small peep to drop simple store-updates out of loopsCliff Click2026-10-055-205/+168
|
* update slidesCliff Click2026-10-052-3/+3
|
* Update slidesCliff Click2026-10-043-9/+9
|
* Slides for 2026 REBASEreadmeCliff Click2026-10-0440-0/+8039
|
* Skills updateCliff Click2026-10-031-12/+14
|
* Chapter renumber, and split ch 17Cliff Click2026-10-031-4/+89
| | | | | | 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
* Graph updates; readme updatesCliff Click2026-10-031-0/+8
|
* First pass README updatesCliff Click2026-10-021-0/+5
|
* Fix some older testsCliff Click2026-10-021-17/+21
|
* Fix bug loop tree depth on inf loopsCliff Click2026-10-021-9/+39
|
* Restore missing anti-dependence walkCliff Click2026-10-011-12/+19
|
* Move much of the ISA support to shared codeCliff Click2026-10-011-0/+35
| | | | The ISA shared handlers here are required for a proper compiler, but contain only trivial bit-massaging operations.
* Move debug printing into shared spaceCliff Click2026-10-011-17/+58
| | | | Same as the graph viewer, moves a lot of code out of all Nodes
* Finish forward-port mem ops thru ch25Cliff Click2026-09-301-13/+73
|
* Forward port mem stuff to ch21Cliff Click2026-09-301-14/+173
| | | | Also a minor reg-alloc improvement for BrainFuck, ported up to ch25
* ch 20 forward port memoryCliff Click2026-09-301-7/+41
|
* Forward port mem changes to ch 19Cliff Click2026-09-301-8/+43
|
* Forward port lazy mem eval to ch18Cliff Click2026-09-291-7/+48
|
* Forward port mem to ch16Cliff Click2026-09-291-9/+38
|
* Bring forward the lazy mem aliasCliff Click2026-09-291-8/+99
| | | | Integrate with ch15 NewNode creating aliases
* forward port lazy memory to ch11Cliff Click2026-09-291-5/+34
|
* Squashed commit of the following:Cliff Click2026-09-291-3/+24
| | | | | | | | | | | | | | | | | | | | | | commit 3ba6686fc991998a0a420709dfb0012bbddf77ab Author: Cliff Click <cliffc@acm.org> Date: Tue Sep 29 12:21:46 2026 -0700 Backport lazy memory splits to ch10, split into ch10a and b commit fa7d56f72455828826d0ab7e1c142ca814e6e2aa Author: Cliff Click <cliffc@acm.org> Date: Tue Sep 29 10:10:53 2026 -0700 Reverse edges commit e1bba17ff54400a34ede0eaacad863420d021119 Author: Cliff Click <cliffc@acm.org> Date: Tue Sep 29 09:44:41 2026 -0700 Split ch10 Basic memory introduction in 10a, then precise aliases in 10b.
* Extend smaller-width C results to full widthCliff Click2026-09-281-9/+10
|
* Backport FunPtrCliff Click2026-09-281-16/+4
| | | | | Helps keep functions alive via ptr only (no calls). A few RISC 5 TFP encoding fixes.
* Support extern C ver direct updatesCliff Click2026-09-281-17/+47
| | | | FIx minor RISC encodings.
* Check un-init not-null constructor fieldsCliff Click2026-09-281-11/+34
| | | | | | | | 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.
* minor fixesCliff Click2026-09-271-6/+1
| | | | | Fix CI build Backport ch 23 fix to ch 22.
* Remove -disablePeepholeCliff Click2026-09-271-16/+3
|
* bug fix widenCliff Click2026-09-261-5/+2
| | | | 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-251-0/+1
| | | | | | | | | | | | | | | * 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>
* Keyboard shortcutsCliff Click2026-09-231-0/+1
| | | | | Fast forward/reverse, pick-a-frame. Shorter type names.
* int fallbacks for int opsCliff Click2026-09-221-0/+1
| | | | all chapters, a little sharper for int ops
* Final reg-alloc across chapters cleanupCliff Click2026-09-201-945/+179
|
* Split self-conflict phis once at a loop headCliff Click2026-09-201-3/+56
| | | | if this works, saves a copy-per-loop. If it fails, next round split as normal