28、数据流分析:优化与加速策略

数据流分析:优化与加速策略

1. 利用数据流分析进行程序转换

优化编译器可借助数据流分析的结果,从多个方面对程序进行优化。

1.1 公共子表达式消除

对于流图语句 s : t ← x ⊕ y ,若表达式 x ⊕ y s 处可用,则可消除 s 中的计算。具体算法如下:
1. 计算可达表达式,即找出形如 n : v ← x ⊕ y 的语句,且从 n s 的路径不会计算 x ⊕ y 或定义 x y
2. 选择一个新的临时变量 w ,将 n 重写为:

n : w ← x ⊕ y
n′ : v ← w
  1. 最后将语句 s 修改为 s : t ← w 。后续可依靠复制传播来移除部分或全部额外的赋值四元组。
1.2 常量传播

假设存在语句 d : t ← c c 为常量),以及另一个使用 t 的语句 n : y ← t ⊕ x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值