docs: Phase 260 P0.3 完了記録 + 既知FAIL SSOT更新
**10-Now.md 更新**: - Phase 260 P0.2/P0.3 完了記録追加(15モジュール、約3941行、53単体テスト) - Current First FAIL を "P0.3完了後" に更新 - 既知FAILに "Phase 260 scope外" を明記 - 期待/実際の詳細追加 - 次アクション: 機能側Phase(Pattern2 LoopBodyLocal promotion)へ **phase-260/README.md 更新**: - Status: P0.3 完了 ✅ - P0.2/P0.3 進捗セクション追加(commit履歴、成果) - モジュール分割の責務一覧(Utilities 7 + Handlers 8) - SSOT維持確認項目(jump_args直参照ゼロ、out_edges()/edge_args_to() SSOT維持、PHI preservation、Phase metadata保持) Phase 260 完全達成: CFG基盤整備完了、今後は機能側Phaseへ 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@ -18,20 +18,40 @@
|
||||
|
||||
## Current First FAIL (SSOT)
|
||||
|
||||
- **After Phase 260 P0.1**: `core_direct_array_oob_set_rc_vm / Stage-B compile / JoinIR Pattern2 LoopBodyLocal(seg)`
|
||||
- **After Phase 260 P0.3**: `core_direct_array_oob_set_rc_vm / Stage-B compile / JoinIR Pattern2 LoopBodyLocal(seg)`
|
||||
|
||||
### Next FAIL Details
|
||||
### FAIL Details (既知・Phase 260 scope外)
|
||||
|
||||
- **Test**: `core_direct_array_oob_set_rc_vm`
|
||||
- **Status**: **既知 / Phase 260 scope外**(JoinIR Pattern2 LoopBodyLocal promotion 未実装)
|
||||
- **Phase**: Stage‑B compile (`stageb_compile_to_json`)
|
||||
- **Error**: `[cf_loop/pattern2] Cannot promote LoopBodyLocal variables ["seg"] ... [pattern2/body_local_slot/contract/not_readonly]`
|
||||
- **Error**: `[cf_loop/pattern2] Cannot promote LoopBodyLocal variables ["seg"]: No promotable pattern detected (tried A-3 Trim, A-4 DigitPos); read-only-slot rejected: [joinir/freeze] [pattern2/body_local_slot/contract/not_readonly] 'seg' must be read-only (assignment detected in loop body)`
|
||||
- **Expected**: Stage-B compile succeeds (bundle_resolver loop compiles)
|
||||
- **Actual**: MIR compilation error (LoopBodyLocal "seg" cannot be promoted - A-3/A-4 patterns not detected)
|
||||
- **Reproduce**:
|
||||
```bash
|
||||
./tools/smokes/v2/run.sh --profile quick
|
||||
# または
|
||||
bash tools/smokes/v2/profiles/quick/core/core_direct_array_oob_set_rc_vm.sh
|
||||
```
|
||||
- **Note**: Pattern2 の LoopBodyLocal promotion(A-3 Trim / A-4 DigitPos)に依存しており、Stage‑B の bundle_resolver 系のループで露出している。
|
||||
- **Root Cause**: Pattern2 の LoopBodyLocal promotion(A-3 Trim / A-4 DigitPos)に依存しており、Stage‑B の bundle_resolver 系のループで露出している。
|
||||
- **Next Action**: **Phase 260 完了**(P0.3まで完了)→ **今後は機能側のPhaseへ**(Pattern2 LoopBodyLocal promotion 機能実装)
|
||||
- **分類**: JoinIR Pattern2 機能拡張(compiler機能側、CFG基盤整備は完了)
|
||||
|
||||
## 2025-12-20:Phase 260 P0/P0.1(edge-args Strangler)🚧
|
||||
## 2025-12-21:Phase 260 P0.2/P0.3(モジュール化大工事)✅
|
||||
|
||||
- **P0.2**: instruction_rewriter モジュール化
|
||||
- Commits: `cbed040a7`, `aa3fdf3c1`, `c2e8099ff`, `84cd653ae`, `875bfee1b`, `666de9d3e`
|
||||
- 抽出: exit_collection, block_allocator, merge_variable_handler, call_generator, handlers/(8ファイル)
|
||||
- **P0.3**: joinir_block_converter モジュール化
|
||||
- Commits: `e7f9adcfe`, `2c01a7335`
|
||||
- Phase 1: terminator_builder, block_finalizer
|
||||
- Phase 2: handlers/(call, jump, conditional_method_call, if_merge, nested_if_merge)
|
||||
- **成果**: 15モジュール、約3941行、53単体テスト全てpass、45/46統合テストpass
|
||||
- **SSOT維持確認**: jump_args直参照ゼロ、out_edges()/edge_args_to() SSOT維持
|
||||
- **詳細**: `docs/development/current/main/phases/phase-260/README.md`
|
||||
|
||||
## 2025-12-20:Phase 260 P0/P0.1(edge-args Strangler)✅
|
||||
|
||||
- P0: MIR terminator の edge-args 併存導入(読む側 SSOT を `out_edges()`/`edge_args_to()` へ寄せた)
|
||||
- P0.1: legacy layout の未設定を禁止(verify fail-fast)+ terminator 直代入を `set_terminator*()` へ寄せた
|
||||
|
||||
Reference in New Issue
Block a user