第12章 过程间分析第12章 过程间分析逐项覆盖41个核心目录层级,以结构化中间产物、运行轨迹与失败对照建立可复查的编译实验。为什么最终输出正确仍然不够 、、、、共同构成本页坐标。从调用图和上下文敏感性进入Datalog、指针分析与BDD,使跨过程别名、虚调用、安全缺陷和动态加载假设成为可查询事实。 编译器是一串互相依赖的转换。错误的扫描器可能恰好产生可分析的词法单元,错误的语法树可能被后续语义动作意外修补,错误的数据流事实可能只在冷路径暴露,违反机器约束的调度也可能在当前样本中碰巧执行。因此必须保存阶段输入、输出和不变量,定位第一处偏离,不能把单个样例跑通当作证明。 常见误区 四类样本与通过条件 样本单一变量必查证据通过条件正常一个最小语言或机器功能全阶段快照与预测一致边界深度、宽度、延迟或压力临界分支和成本边界可解释失败一个文法、事实或约束首错与下游停止不产出伪结果优化一个变换或策略前后IR与差分执行等价且收益可解释 练习 小结 调用图:连接“建立调用事实”的算法前提、结构化产物、成本和回归证据。 上下文敏感:连接“选择上下文”的算法前提、结构化产物、成本和回归证据。 Datalog:连接“写出Datalog规则”的算法前提、结构化产物、成本和回归证据。 指向分析:连接“求关系不动点”的算法前提、结构化产物、成本和回归证据。 二叉决策图:连接“压缩为BDD”的算法前提、结构化产物、成本和回归证据。 本页41个核心目录层级均已进入可追溯的编译证据链。 术语表复习本章(6 题)← 上一章第11章 并行性和局部性的优化下一章 →《编译原理(第2版)》权威学习地图讨论评论区加载中…