From c3958e34c0de21df52e57e47e4f47ffe6464f138 Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Sat, 3 Oct 2026 09:29:42 -0700 Subject: Graph updates; readme updates --- graph/README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'graph/README.md') diff --git a/graph/README.md b/graph/README.md index f7037548..8d3850e7 100644 --- a/graph/README.md +++ b/graph/README.md @@ -156,6 +156,18 @@ This keeps both graphs side by side in the chapter README. Chapter 10a's [load-after-store example](../chapter10a/README.md#local-memory-optimizations) uses this format to isolate a single rewrite. +Choose how much control to show according to the lesson. Keep it when teaching +control construction, branch elimination, loop nesting, or `break`/`continue`. +For a value rewrite inside an otherwise obvious branch or loop, omit the +routine CFG and its predicate-only computations, while preserving Phi data +inputs and their order. Chapter 5's arithmetic/Phi examples and Chapter 9's +optimization examples use this convention. Detached True/False projections +can identify important gates, including the two Returns in Chapter 9's first +GVN example. Describe omitted context in the caption or surrounding text. +If a snapshot omits a Loop, retain `"backedge": true` on its Phis' backedge +inputs so layout still puts the loop header values above their updates. This +is a documentation layout hint; live snapshots derive it from the Loop node. + The memory diagrams in 10a, 10b, and 11 also use viewer snapshots, with definitions above uses (apart from loop backedges) and arrows from use to definition. They omit control-flow context, including Regions and their Phi bindings, -- cgit v1.2.3