请用 Python 实现一个针对 LLVM IR 常见指令形式的死代码消除(DCE)功能,并说明你的实现思路。
考察说明
考察对 LLVM IR 结构、数据流分析基础及死代码消除算法的掌握与编码实现能力
回答思路
- 能识别 LLVM IR 的基本指令类型(如 add、call、store、br 等)及其操作数结构
- 能定义并正确计算每句指令的活跃变量或可达性(如从终止指令反向遍历)
- 能正确识别并删除无副作用的死代码,保守保留 store、call 等有副作用的指令
- 给出可运行或清晰的伪代码实现,并说明复杂度与边界情况
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。