Files
hakorune/docs/private/papers/paper-e-loop-signal-ir/gemini_prompt.txt

35 lines
2.2 KiB
Plaintext
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.

目的: LoopSignal IRLoopBox+Signalの統一ドラフトの技術レビューと実装計画を作ってください。参照ファイルを読み込み、MIR/Lower/最適化/移行の観点で具体化して出力してほしいです。日本語でお願いします。
読んでほしいファイル
- docs/private/papers/paper-e-loop-signal-ir/main-paper-jp.md
- docs/private/papers/paper-a-mir13-ir-design/main-paper-jp.md
- src/mir/ および src/mir/builder_modularized/ 配下現行MIR命令・SSA/PHI生成の実装把握
- src/runner/modes/llvm.rsオブジェクト出力の現行流れ把握
出力してほしいものTech Review + Impl Plan v1
1) 仕様の確定案
- LoopSignal 型の正格仕様タグ値、ペイロード、ABI/LLVM表現例とゼロコスト表現の可否
- MIR命令: loop.begin/iter/branch/end の厳密な意味論(定義域・未定義動作・例外扱い)
- SSA/PHI配置の規則合流点の標準形とインバリアント
2) Lowering規則構文→MIR
- block/scope, if/else, while, for-in, function/return, generator(yield), async(await) の具体写像を擬似MIRで
- ReturnをSignalに入れる/分離するの設計比較(長所短所と採用推奨)
3) 最適化パス
- Loop1完全インライン化、Yieldなし状態省略、分岐合流点正規化、DCE/LICM/Inlineの到達条件
- 既存パスに与える影響と安全条件
4) フォールバック/互換
- LoopForm→従来MIRへの逆LoweringフラグでON/OFF設計
5) リスクと回避
- デバッグDWARF/位置情報)、小反復の関数境界コスト、例外/効果の扱い
6) 段階導入ロードマップ
- P1: while(true){break}のLoop1化→計測
- P2: for-inステートマシン→VM/AOT一致検証
- P3: 最小ジェネレータyield→再開健全性テスト
7) テスト計画とメトリクス
- 命令数/分岐数/PHI数/コンパイル時間/実行時間の収集方法と閾値
8) 小タスクのTODO一覧ファイルパス・影響範囲つき
注意
- 既存コードの具体参照はファイルパスで示してください(必要なら該当関数/型名も)。
- 出力は見出し付きの箇条書きで、合計2〜3ページ相当の濃度で。