feat(smoke): Phase 284 P2 - return-in-loop VM/LLVM parity smoke

- VM smoke: phase284_p2_return_in_loop_vm.sh (PASS)
- LLVM smoke: phase284_p2_return_in_loop_llvm.sh (SKIP if no LLVM feature)
- Reuse existing fixture: phase286_pattern5_return_min.hako (exit 7)
- P2-INSTRUCTIONS.md: 手順書作成
- quick smoke 154/154 PASS

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-26 10:45:54 +09:00
parent 7a575e30cc
commit 03f9bbe1aa
5 changed files with 168 additions and 6 deletions

View File

@ -94,10 +94,28 @@ Phase 284 の完了条件は「`return` を含むケースが close-but-unsuppor
- Block remapping: Duplicate logic → SSOT function
- Future reusability: Pattern5 can now reuse return_jump_emitter
### P2+(未実装)
### P2smoke 固定) ✅ COMPLETE (2025-12-26)
- `return` を含む loop body を、Plan line でも ExitKind::Return に落とす
- VM/LLVM の両方で、`return` を含む fixture を smoke 化して SSOT を固定する。
**目的**: return を含む loop を VM/LLVM 両方で同一結果にし、integration smoke で固定
**対象 fixture既存再利用優先**:
- `apps/tests/phase286_pattern5_return_min.hako` (exit 7) - Return-in-infinite-loop
**smoke スクリプト**:
- `tools/smokes/v2/profiles/integration/apps/phase284_p2_return_in_loop_vm.sh` (VM)
- `tools/smokes/v2/profiles/integration/apps/phase284_p2_return_in_loop_llvm.sh` (LLVM harness)
**受け入れ条件**:
- integrationVMPASS
- integrationLLVM harnessPASSまたは理由付き段階完了
- quick 154/154 PASS 維持
**詳細手順**: `P2-INSTRUCTIONS.md`
### P3+(将来)
- 他の return パターンPattern8 等)の smoke 追加
- LLVM AOT 経路での return 検証
## Acceptance