From 87a75c83b75480e65147a4d425fddd14a05df4d9 Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Wed, 7 Oct 2026 21:31:18 -0700 Subject: More test case vs RA cleanup Missing a few risc/arm encodings. Make private many tests, so they don't escape and the escaped fcn inflate x86 spill numbers --- chapter20/README.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'chapter20/README.md') diff --git a/chapter20/README.md b/chapter20/README.md index 9f7cb1c5..96803e51 100644 --- a/chapter20/README.md +++ b/chapter20/README.md @@ -503,16 +503,18 @@ two-address operands, and Phi register agreement; tiny machine graphs exercise hard conflicts independently of optimizer choices. Native execution comes with encoding in Chapter 21. -Rows are fixed test cohorts; columns are the compiler/allocator chapters. -Each cell is the sum of `_spillScaled`: retained split moves, including register -copies, weighted by `8^loopDepth`. Lower is better. **# tests counts compilations** -(program/CPU/ABI cases), including zero-spill cases, rather than JUnit methods. -The count and membership of each row stay fixed across columns. +Rows are fixed test cohorts; columns are compiler chapters. Each cell gives +**Ops / RA / X**: executed ARM+RISC-V instructions, the subset emitted for +allocator copies/rematerializations, and x86's loop-weighted split-move estimate. +**Cases D / X** counts measured dynamic program/target cases and x86 compilations; +membership and inputs stay fixed across columns. Native-library work is excluded. +Chapter 20 has no encoder, hence no dynamic counts. Lower is better within each +metric; see the [measurement details](../docs/regalloc-spills.md) for coverage. -| Test cohort | # tests | Ch 20 | +| Test cohort | Cases D / X | Ch 20: Ops / RA / X | |---|---:|---:| -| Ch 20 | 39 | 360 | +| Ch 20 | 22 / 13 | — / — / 161 | These Windows measurements use optimizer seed 123 for cohorts 20-24 and include -- cgit v1.2.3