diff options
| author | Cliff Click <cliffc@acm.org> | 2026-10-27 14:50:02 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2026-10-27 14:50:02 -0700 |
| commit | 01f87c30c97c12237cc7b63d620e204a5fc79d41 (patch) | |
| tree | 533399d6c3a475d5beca84b9f93f19306cb94acb /docs/roadmap.md | |
| parent | f78d97c60047627164012fb10053c75ccf0ca7dd (diff) | |
| download | Simple-01f87c30c97c12237cc7b63d620e204a5fc79d41.tar.gz Simple-01f87c30c97c12237cc7b63d620e204a5fc79d41.zip | |
Remove several instances of extra whole-graph walks
Diffstat (limited to 'docs/roadmap.md')
| -rw-r--r-- | docs/roadmap.md | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/docs/roadmap.md b/docs/roadmap.md index 29bc77de..14cf563f 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -32,6 +32,30 @@ signed and unsigned fields and compare ideal evaluation with generated code. ## Compilation and optimization +### Phase ordering and incremental analysis + +Import loading now repairs the new graph's types and propagates changed bounds +through affected callers before resuming peepholes. It no longer restarts Iter +and Opto over the combined graph. Unknown calls retain conservative effects +and escaping callbacks. Entry initializers seed reachability; live calls, +including CLInit and the callees recorded in summaries, discover other targets. + +Smaller follow-ups: + +- Try queuing only nodes whose types changed during Opto, plus affected + neighbors and nodes whose edges or numeric modes changed, for IterPostOpto. +- Remove the deserializer's temporary `Parse` phase. Node construction should + express its needs without changing the driver's progress marker. +- Have Eval2 require checked input in a supported phase. Prepare each newly + loaded graph once, without changing the running program's phase. Remove + scheduling scratch costs proportional to all previously allocated node IDs. +- Keep field-offset cleanup on the worklist. Repeated peepholes are fine when + driven by changes; avoid repeating global finalization bookkeeping. + +Whole-program TypeCheck is acceptable for now; incremental checking is an +optional later improvement. Expensive assertion walks are outside this +performance work. Review the encoding fallback inside Export separately. + ### Reliable incremental builds Chapter 28b now checks the reachable source-backed inputs before reusing saved |
