summaryrefslogtreecommitdiff
path: root/chapter11/src/main/java/com
Commit message (Collapse)AuthorAgeFilesLines
* Restrict subtraction zero peepholes to integer operandspr254-fixesCliff Click2026-09-251-5/+5
| | | | | | 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.
* Extend and backport SubNode peepholefuhsnn2026-09-251-4/+15
|
* Keyboard shortcutsCliff Click2026-09-233-1/+13
| | | | | Fast forward/reverse, pick-a-frame. Shorter type names.
* int fallbacks for int opsCliff Click2026-09-227-17/+37
| | | | all chapters, a little sharper for int ops
* Graph cleanupCliff Click2026-09-222-1/+3
| | | | 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-2218-337/+138
|
* Unify GCM across chaptersCliff Click2026-09-207-74/+88
| | | | | | Remove the _anti field. Remove the isPinned() call. Add a copyEmpty call.
* Unify mixed-return checking and resultsCliff Click2026-09-195-14/+20
| | | | Unify dominator caching.
* Use isDead() instead of checking null inputsCliff Click2026-09-191-2/+2
|
* debug printers no longer call self-optimizing accessorsCliff Click2026-09-191-5/+27
|
* Handle double-negation preserving not-null knowledgeCliff Click2026-09-191-0/+7
|
* Fix stale copy-pasted comment on BoolNode's phiCon call (#249)Symious2026-09-091-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>
* Backport renaming of `Type::_print()` in Chapter13 to earlier chapters (#244)Hsiang-Ying Fu2026-07-038-16/+16
|
* Move `addUse()` return statement to `keep()` (#243)Hsiang-Ying Fu2026-07-031-6/+3
|
* Cleanup (#162)RobertObkircher2025-02-162-6/+6
| | | | | | | | | * remove unused method lazyFRef * remove unused method copyF(Node, Node) * make TypeMemPtr constants final * make ConstantNode value final
* remove peephole from ProjNode::idealize that is already handled by computeRobert Obkircher2024-09-161-10/+7
|
* move x-x check up frontCliff Click2024-09-131-3/+4
|
* x-x==0Cliff Click2024-09-132-5/+9
| | | | | | Move x-x==0 to compute. Add x/1 ==> x All chapters
* Fix GCM of CSE storesCliff Click2024-09-125-13/+9
| | | | | Stop CSE of stores. Backports to ch11,12,13,14
* Backport empty statement fixCliff Click2024-09-071-0/+1
| | | | | Split Ch13 tests from Chapter12Test.java Handle forward refs never defined.
* Fix grammar and forward-port minor changes (#91)Thalia Archibald2024-07-011-1/+1
| | | | | | | | | | | | | | | * Backport test exception handling to chapter 1 * Add unary ! to chapter 10 and 11 grammars * Lex { } ! as punctuation * Forward-port format whitespace * Forward-port test organization * Forward-port replace build-graphs.sh with Makefile * Add chapter title to chapter 11
* #80 #85 apply bug fixes from chapter10 (#89)Dibyendu Majumdar2024-06-3017-137/+152
| | | | | | | | | | | | | * #80 #85 apply bug fixes from chapter10 * #85 #80 more detail regarding anti-dependency * Remove Util.eq Was enforced interning of strings, not needed here. --------- Co-authored-by: Cliff Click <cliffc@acm.org>
* Cliff's GCM implementation for chapter 11 (#88)Dibyendu Majumdar2024-06-3042-0/+5217