控制流图中的数据流分析即确定程序中有关数据定义和使用的信息的分析。借助此分析, 可以完成优化。通常, 其过程是使用数据流分析来计算值。数据流属性表示可用于优化的信息。
基本术语–
- 定义点:程序中包含一些定义的点。
- 参照点:程序中包含对数据项引用的点。
- 评价点:程序中包含表达评估的点。
文章图片
数据流属性–
可用表达式–
表达式在程序点x iff到达x的路径上可用。表达式在其评估点可用。
如果操作数在使用前都没有被修改, 则表示表达式a + b可用。
示例–
文章图片
优势–
它用于消除常见的子表达式。
达到定义–
【编译器中的数据流分析简要指南】如果存在从D到x的路径, 其中D不会被杀死, 即没有重新定义, 则定义D到达点x。
示例–
文章图片
优势–
它用于恒定和可变传播。
实时变量–
如果从p到结束使用了变量, 则变量在重新定义之前就已存在, 否则将在p某个点处处于活动状态。
示例–
文章图片
优势–
- 这对于寄存器分配很有用。
- 它用于消除无效代码。
如果表达式的计算沿该路径存在, 并且该运算符的定义在沿路径的计算之前不存在, 则该表达式沿该路径处于繁忙状态。
优势–
它用于执行代码移动优化。
推荐阅读
- R中的DataFrame操作详细指南
- 数据通信中的传输障碍详细指南
- Supervisor多进程管理 异常自动重启 可视化管理
- 使用Maven搭建Struts2框架的开发环境
- #yyds干货盘点#Prometheus 之微服务监控概述
- 2月活动|开工冲冲冲,挑战7/14/21日连更!
- MySQL数据库的高级操作
- 一些 Shell 练习
- 北亚数据恢复MongoDB数据迁移过程中由于未知原因丢失_mdb_catalog.wt文件的MongoDB数据恢复案例