25、编译器优化序列探索与多目标优化研究

编译器优化序列探索与多目标优化研究

1. 传统编译器优化结构

传统编译器在初始状态下,会以固定顺序执行每个中间表示(IR)类的优化。其优化器结构类似于一系列连续的 if-then 语句,示例代码如下:

if( enabled( optimization_A ) )
    perform( optimization_A );
if( enabled( optimization_B ) )
    perform( optimization_B );
if( enabled( optimization_C ) )
    perform( optimization_C );
...

这种结构自上而下遍历,启用的优化总是以相同顺序执行,且同一优化不能多次执行。为避免固定阶段排序,WCC 进行了扩展,能内部保留传递给编译器的任意序列顺序,即优化按调用编译器的顺序执行,同时保留可用 IR 类的处理顺序。

2. 可用的编译器优化

WCC 有标准 ACET 优化和 WCET 感知优化,本次研究专注于 ACET 优化,原因如下:
- 探索标准编译器优化对程序最坏情况性能的影响,结果更具通用性。
- WCET 感知优化耗时,需多次进行静态 WCET 估计,不适合迭代编译。

具体优化分类如下:
- 高级 IR 源代码优化(HIR) :WCC 提供 21 个标准源代码优化,部分为参数化优化。考虑不同参数,共区分出 30 个源代码优化,包括 18 个非参数化

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值