Conversation
muykokoro
commented
Sep 19, 2026
- 统一 scratchv/analysis/cfg.py 与 scratchv/ir/cfg.py 的 CFG 核心
- 新增 IR/Machine CFG adapter
- 新增 liveness、dataflow、constant propagation 和 CFG validation
- MachineInstr 增加结构化 target 字段并同步后端使用
- 378 tests passed
🤖 AI Code Review
📁
|
|
基于 Issue #58 的验收项复查,PR #71 仍建议继续完善:
现有相关测试 214 项通过,但没有覆盖上述问题,因此暂不建议按 Issue #58 完成验收。 |
|
上次反馈的 Machine uses/defs、跨块 dataflow 和 linear-scan 接入问题已基本修复,相关测试也已补充。 当前建议合并前继续完成一项核心内容:
完成这一项后,核心功能可以认为达到可合并状态。 若要严格完成 Issue #58 的全部验收标准,还需要二选一处理 liveness 的 worklist 复用问题:要么抽取支持 edge transfer/Phi 的公共 worklist,要么在 Issue 中明确 Phi-aware liveness 使用独立求解器属于允许的设计。 控制流语义仍存在少量重复硬编码,CFG 校验也尚未覆盖唯一 entry、指令唯一归属和 Phi predecessor 一致性。这些可以拆成后续 Issue,但建议在当前 PR 中明确记录,暂时不要将 Issue #58 标记为全部完成。 |
|
greedy 包含基本块边界、call clobber 和寄存器淘汰的 |
feat(regalloc): consume unified CFG liveness in greedy allocator