| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
|
| |
Mostly fcn inits in <clinit>
|
| |
|
|
|
| |
Missing a few risc/arm encodings.
Make private many tests, so they don't escape and the escaped fcn inflate x86 spill numbers
|
| |
|
|
| |
Ignore JIGs. Get test suites more conical, so reg alloc spill counts are comparable
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
A bunch of minor README fixes, missing TOC, grammer cleanup
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
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
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
The ISA shared handlers here are required for a proper compiler, but contain only trivial bit-massaging operations.
|
| |
|
|
| |
Same as the graph viewer, moves a lot of code out of all Nodes
|
| | |
|
| |
|
|
| |
Also a minor reg-alloc improvement for BrainFuck, ported up to ch25
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Integrate with ch15 NewNode creating aliases
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
| |
Helps keep functions alive via ptr only (no calls).
A few RISC 5 TFP encoding fixes.
|
| |
|
|
| |
FIx minor RISC encodings.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
Fix CI build
Backport ch 23 fix to ch 22.
|
| | |
|
| |
|
|
| |
Failed lattice law tests mixing constants and have wide type ints; or mixing wide ints and constant arrays.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
| |
|
|
|
| |
Fast forward/reverse, pick-a-frame.
Shorter type names.
|
| |
|
|
| |
all chapters, a little sharper for int ops
|
| | |
|
| |
|
|
| |
if this works, saves a copy-per-loop. If it fails, next round split as normal
|
| |
|
|
| |
Fix arm BL encodings; ADD/SUB with reversed sign.
|
| |
|
|
| |
Improved spilling
|
| |
|
|
| |
Minor arm encoding fix.
|
| |
|
|
|
|
|
| |
Includes all bug fixes from later chapters, so its at least correct.
Skips a lot of improvement heuristics, these get added in later chapters.
Includes spill-stats, to more easily track improvements.
Includes targeted tests.
|
| | |
|
| |
|
|
|
|
| |
Remove the _anti field.
Remove the isPinned() call.
Add a copyEmpty call.
|
| |
|
|
| |
Unify dominator caching.
|