编译原理(四) 现代编译技术
发布时间:2024年01月06日

优化方法分类


基本块


例子?

(1)~(6) 是连续的语句序列但是不是头进尾出
?(3)~(8)是
(7)~(13)不是
算法


DAG表示

进行合并成为图(优化重要载体)
流图
在基本块的前提下。

例子

局部优化
消除局部公共子表达式(LCSE)

方法:建立DAG图(图+表)
例子

一个中间结点代表一次计算。



优化结果(上面例子)


不同编译结果运行效率不同。红色为补偿代码?


?
启发式算法

例子

启发式算法接近最优

另外一种复杂情况。?

办法:加入补偿代码

只关注于被改变的。
窥孔优化

全局优化
全局不是整段程序,而是一个函数。
数据流分析(基本)

数据流分析方程


到达定义分析


参考资料
[4.1.1]--现代编译技术_哔哩哔哩_bilibili
文章来源:https://blog.csdn.net/m0_56366826/article/details/135417258
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!