Files
hakorune/docs/development/current/main/phases/phase-29ae/README.md

53 lines
2.9 KiB
Markdown
Raw Normal View History

# Phase 29ae: JoinIR Regression Pack (docs-first)
Goal: JoinIR の最小回帰セットを SSOT として固定する。
## Regression pack (SSOT)
- Pattern2: `phase29ab_pattern2_*`
- Pattern2 (real-world): `phase263_pattern2_*`
- Pattern2 (subset, strict shadow, VM): `phase29ai_pattern2_break_plan_subset_ok_min_vm`
- Pattern2 (release adopt, VM): `phase29ao_pattern2_release_adopt_vm`
- Pattern3 (IfPhi, VM): `phase118_pattern3_if_sum_vm`
- Pattern3 (release adopt, VM): `phase29ao_pattern3_release_adopt_vm`
- Pattern4 (continue min, VM): `phase29ap_pattern4_continue_min_vm`
- Pattern1 (strict shadow, VM): `phase29ao_pattern1_strict_shadow_vm`
- Pattern1 (subset reject, VM): `phase29ao_pattern1_subset_reject_extra_stmt_vm`
- Pattern1 (stdlib to_lower, VM): `phase29ap_stringutils_tolower_vm`
- Pattern1 (stdlib join, VM): `phase29ap_stringutils_join_vm`
- Pattern5 (Break, VM): `phase286_pattern5_break_vm`
- Pattern5 (strict shadow, VM): `phase29ao_pattern5_strict_shadow_vm`
- Pattern5 (release adopt, VM): `phase29ao_pattern5_release_adopt_vm`
- Pattern6 (strict shadow, VM): `phase29ao_pattern6_strict_shadow_vm`
- Pattern6 (release adopt, VM): `phase29ao_pattern6_release_adopt_vm`
- Pattern6: `phase29ab_pattern6_*`
- Pattern6 (nested minimal release adopt, VM): `phase29ap_pattern6_nested_release_adopt_vm`
- Pattern6 (nested minimal strict shadow, VM): `phase29ap_pattern6_nested_strict_shadow_vm`
- Pattern7 (strict shadow, VM): `phase29ao_pattern7_strict_shadow_vm`
- Pattern7 (release adopt, VM): `phase29ao_pattern7_release_adopt_vm`
- Pattern7: `phase29ab_pattern7_*`
- この pack が JoinIR 回帰の唯一の integration gatephase143_* は対象外)
- JoinIR routing is plan/composer SSOT only (legacy loop table removed in Phase 29ap P12)
- phase143_* は LoopBuilder 撤去 / plugin disable 固定 / LLVM exe 期待が古いので除外
- phase286_pattern9_* は plugins disabled 経路の mismatch があるため legacy pack 側で SKIPphase29ae pack には含めない)
- shadow adopt tag`[coreplan/shadow_adopt:*]`)は `filter_noise` で除去される
- タグ検証が必要な smoke は raw outputfilter 前)を参照する
- タグ coverage SSOT: `docs/development/current/main/design/coreplan-shadow-adopt-tag-coverage-ssot.md`
## Header PHI Entry/Latch Contract (SSOT)
- Entry preds: `entry_incoming` のブロック + host entry block のみ
- Latch preds: header の preds から entry preds を引いた残り
- PHI inputs: entry preds は entry 値、latch preds は latch 値を流す
- 根拠: `src/mir/builder/control_flow/joinir/merge/README.md`Phase 29ae セクション)
- 修正コミット: `11adec0ab`
## Commands
- `./tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh`
## Status
- phase1883: PASSRC=9 を成功扱い)
- pattern2: PASSJoinIR main param remap を carrier_order に揃える) `cf95afbd8`