死代码消除:一种编译器优化技术,用来删除程序中不会影响最终输出或可观察行为的代码(例如永远不会被执行的分支、结果从未被使用的计算、无副作用的冗余语句),从而减少代码体积并提升运行效率。也常写作 dead code elimination / DCE。(在某些上下文中,“死代码”也可指不可达代码或无用赋值等更具体类别。)
/ˌdɛd koʊd ɪˌlɪməˈneɪʃən/
The compiler performed dead-code-elimination to remove unused calculations.
编译器进行了死代码消除,以移除未被使用的计算。
After inlining and constant propagation, dead-code-elimination can delete entire branches that became unreachable, improving both performance and binary size.
在内联与常量传播之后,死代码消除可以删除变得不可达的整段分支,从而同时改善性能与二进制体积。
该术语由三部分构成:dead(“死的、无效的”)+ code(“代码”)+ elimination(“消除、剔除”)。在编译原理语境里,dead code 指对程序可观察结果不产生影响的代码;elimination 强调通过分析与变换将其从中间表示或最终生成代码中移除。这一说法随着现代优化编译器的发展而普及,尤其常见于 SSA(静态单赋值)与数据流分析相关章节。