summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2026-10-19 11:48:37 -0700
committerCliff Click <cliffc@acm.org>2026-10-19 11:48:37 -0700
commit3617495d8efbcce23bbc9f1754c7d27d34d30a52 (patch)
tree65684567f224af8018626dc52d529e206af1a659 /docs
parente7eb2db06d1b9c529f94f2da3a087c83c0498e05 (diff)
downloadSimple-3617495d8efbcce23bbc9f1754c7d27d34d30a52.tar.gz
Simple-3617495d8efbcce23bbc9f1754c7d27d34d30a52.zip
Fix a missed int-widening around recursion
Diffstat (limited to 'docs')
-rw-r--r--docs/chapter-backports.md15
1 files changed, 14 insertions, 1 deletions
diff --git a/docs/chapter-backports.md b/docs/chapter-backports.md
index 15bf73e6..76c2f06c 100644
--- a/docs/chapter-backports.md
+++ b/docs/chapter-backports.md
@@ -7,7 +7,6 @@ live in the [AI notes](../skills/chapter25-codex-notes.md).
## Investigate next
Establish an earlier-chapter failure before changing compiler behavior.
-The remaining candidate below is not yet confirmed.
### SCCP function revival: Chapter 24
@@ -24,6 +23,20 @@ Dependency propagation already exists in Chapter 24's SCCP; only port a
specific missing dependency with a reproducer. Keep Chapter 25's escape and
external-caller machinery out of this investigation.
+Investigation on 2026-10-19 found no cleanup loss. A shadow Opto checked the
+linker entry before and after every `linkCG` lookup while running all 513
+Chapter 24 tests: 787 SCCP runs, 297 lookups, 74 links to functions with only
+their null input remaining, and zero structurally dead targets or removed
+entries. All tests passed. The remaining null lookups are not evidence of a
+cleanup loss: their entries were already null before the lookup.
+
+The factorial trace shows the distinction: FunNode#1309 loses Start and has
+one input, four uses, and type TOP; it then reaches XCONTROL before a real
+call links it. `isDead()` stays false, since it requires no inputs, no uses,
+and a null type. Thus the observed temporary lack of callers does not trigger
+`link()` cleanup. Keep this candidate unconfirmed rather than backporting the
+Chapter 25 lookup change on textual differences alone.
+
## Deferred until the Chapter 25 split
### Deterministic inlining