Files
hakorune/tools/test_loopssa_breakfinder_min.sh
nyash-codex 573c9e90b6 docs(phase80/81): Phase 80/81 完了状態をドキュメントに反映
Phase 80/81 Implementation Summary:
- Phase 80 (c61f4bc7): JoinIR 本線統一(代表 if/loop)
  - should_try_joinir_mainline() 等の SSOT ヘルパー実装
  - NYASH_JOINIR_CORE=1 で JoinIR→MIR が既定に
- Phase 81 (a9e10d2a): selfhost Strict + Fail-Fast
  - selfhost_build.sh に --core/--strict オプション追加
  - 環境変数自動伝播(NYASH_JOINIR_CORE/STRICT)
- Phase 82 (93f51e40): JOINIR_TARGETS SSOT 化
  - is_loop_lowered_function() テーブル参照統一

Documentation Updates:
- docs/private/roadmap2/phases/phase-80-joinir-mainline/README.md
  - Section 80-2: 実装完了マーク追加
  - Section 80-5: commit hash 付きメモ更新
- docs/private/roadmap2/phases/phase-81-joinir-strict/README.md
  - Section 81-4: Done/TODO チェックボックス更新
  - Section 81-4-A: selfhost_build.sh 統合実装詳細追加
- CURRENT_TASK.md
  - Phase 80/81 完了マーク追加(今後の優先タスク順)
  - Phase 82 次の焦点として明記

Next Focus:
- Phase 82-if-phi-retire: if_phi.rs 削除準備開始
2025-12-02 14:07:19 +09:00

31 lines
1.1 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# test_loopssa_breakfinder_min.sh — LoopSSA/BreakFinder 最小 JSON ハーネステスト
#
# 目的:
# - lang/src/compiler/tests/loopssa_breakfinder_min.hako を直接 VM で実行し、
# LoopSSA.stabilize_merges が単純な loop_header/loop_exit パターンで安全に動くことを確認する。
# - LoopSSA v2 / BreakFinderBox の変更時に、まずここで赤が出ないことをチェックするための軽量テストだよ。
#
# 将来:
# - StageB 最小サンプルから抽出した JSON をこのハーネスに貼り替えることで、
# ValueId(50) 系の問題を再現するための土台として使う予定。
#
set -e
NYASH_BIN="${NYASH_BIN:-./target/release/hakorune}"
TEST_FILE="lang/src/compiler/tests/loopssa_breakfinder_min.hako"
echo "=== LoopSSA BreakFinder Minimal JSON Test ==="
echo "Test file: $TEST_FILE"
echo "Binary: $NYASH_BIN"
echo ""
# LoopSSA v2 の EXIT PHI を有効化して実行BreakFinder/PhiInjector 経由)
HAKO_LOOPSSA_EXIT_PHI=1 \
NYASH_DISABLE_PLUGINS=1 NYASH_FEATURES=stage3 \
"$NYASH_BIN" --backend vm "$TEST_FILE" 2>&1
echo ""
echo "=== Test complete ==="