feat(dce): 实现 Pass A 可达性 + Pass B use 计数迭代删除
- Pass A 消费 build_cfg,entry 沿 succs DFS(含 Exception 边保守,Pitfall 4)展开指令粒度 keep - Pass B 可达存活指令聚合 use 计数,def 无 use 且 is_pure 迭代删至不动点(D-02 连锁) - Pass C 最小 mark-sweep 重建 insts + label_pos 重映射(死 label 置 None) - 依赖 oxide_bytecode(测试需 OpCode 常量,Rust 无 crate 传递可见性,与 oxide_cfg 骨架一致) - 单测 8 条:死链/负例/STORE_VAR 特判/if-else/死块/Exception 保守/死闭包/连锁
This commit is contained in:
Generated
+12
@@ -1130,6 +1130,18 @@ dependencies = [
|
||||
"serde_json",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "oxide_dce"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"oxide_bytecode",
|
||||
"oxide_cfg",
|
||||
"oxide_emit",
|
||||
"oxide_ir",
|
||||
"oxide_parser",
|
||||
"oxide_vm",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "oxide_emit"
|
||||
version = "0.1.0"
|
||||
|
||||
Reference in New Issue
Block a user