diff options
| author | Cliff Click <cliffc@acm.org> | 2026-10-18 22:09:58 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2026-10-18 22:09:58 -0700 |
| commit | 300d2a9c3672acacc8bdd8d5370a424651a00571 (patch) | |
| tree | f33d895f6ec4e08692efa4c090c681257553097d /chapter10 | |
| parent | 0be52f8dd82f70d4c557fe916d47dc425401f848 (diff) | |
| download | Simple-300d2a9c3672acacc8bdd8d5370a424651a00571.tar.gz Simple-300d2a9c3672acacc8bdd8d5370a424651a00571.zip | |
Cleanup & backportclinit
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.
Diffstat (limited to 'chapter10')
| -rw-r--r-- | chapter10/README.md | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/chapter10/README.md b/chapter10/README.md index e55d1057..db72c4cb 100644 --- a/chapter10/README.md +++ b/chapter10/README.md @@ -385,6 +385,14 @@ The single memory chain is correct but conservative. A store to `y` can prevent forwarding an earlier store to `x`, even when the objects are identical. This is a missed optimization and it motivates the next chapter. +## Checking the optimized graph + +Memory accesses can expose type errors only after their pointer types settle. +The post-parse pipeline therefore adds `TypeCheck` after iterative peepholes. +It walks the surviving graph and reports node errors; dead control has already +been removed. Here `StopNode.iterate()` runs both steps. Chapter 18 introduces +the `CodeGen` driver and explicit phase entry points. + ## Executing the graph The evaluator includes a small late scheduler. A load must execute before a |
