cmd/w6c/cgen+test: skip dead TRYPROP propret on same-shape ?

Per CLAUDE.md rule 10, align cstage down to wwstage — when every
variant in a `?` propagation maps to itself, the remap loop emits
zero JMPs and the propret label is dead. Lazy-allocate it so the
label-counter ID is only consumed when at least one JMP fires.

Smoke test selfhost/test/trypromote.ww exercises same-shape
(i64|nomem)→(i64|nomem) propagation; cstage and wwstage now emit
byte-identical asm for the TRYPROP region.
This commit is contained in:
2026-05-19 17:45:13 +09:00
parent 2b46abe7d1
commit 58e6d349a2
3 changed files with 64 additions and 2 deletions

1
.gitignore vendored
View File

@@ -10,6 +10,7 @@
/loop
/sym_link
/memiotest
/trypromote
# Per-module build artifacts. The .combined.ww files under selfhost/
# are intentionally tracked — they're frozen bootstrap inputs.