docs(edgecfg): define bridge-pattern removal criteria (Phase 271)
This commit is contained in:
@ -138,6 +138,21 @@ Frag = { entry_block, exits: Map<ExitKind, Vec<EdgeStub>> }
|
||||
- Pattern1(simple_while_minimal)は test-only stub のため、一般ループの “基準” には使えない。
|
||||
- Phase 270 では “最小の固定形” を Pattern9(AccumConstLoop)として追加し、後で Frag 合成側へ吸収される前提で橋渡しにする。
|
||||
|
||||
## Bridge patterns(撤去条件SSOT)
|
||||
|
||||
ここで言う “bridge pattern” は、既存の JoinIR ルートを壊さずに **最小の固定形を先に通す**ための一時パターン。
|
||||
(例: Phase 270 の `Pattern9_AccumConstLoop`)
|
||||
|
||||
- 原則:
|
||||
- bridge pattern は **汎用化しない**(固定形SSOT + fixture/smoke で仕様を固定するだけ)。
|
||||
- 将来は `Frag/ExitKind` 合成側へ **吸収して削除**する前提で追加する。
|
||||
- 撤去条件(最低限):
|
||||
1. loop の EdgeCFG 実戦投入が 1 箇所以上済み(BasicBlockId 層で `Frag + emit_frag` を使っている)
|
||||
2. bridge pattern の fixture が “Frag 合成経路” で PASS する
|
||||
3. quick/integration の FAIL 位置が悪化しないことを確認済み
|
||||
- 撤去手順(最小):
|
||||
- router から bridge pattern を外す → fixture/smoke で PASS 維持 → ファイル削除
|
||||
|
||||
## 実装入口(コード SSOT)
|
||||
|
||||
**Phase 264 で入口API を作成完了**
|
||||
|
||||
Reference in New Issue
Block a user