编译原理结构框架10代码优化
来源:互联网 发布:厦门房叔快修网络 编辑:程序博客网 时间:2024/06/05 16:59
第十章 代码优化
重点:代码优化的任务,局部优化、循环优化、全局优化的基本方法。
难点:控制流分析,数据流分析。
10.1 优化的种类
n 机器相关性
机器相关优化:寄存器优化,多处理器优化,特殊指令优化,无用指令消除等。
机器无关优化:
n 优化范围
局部优化:单个基本块范围内的优化,常量合并优化,公共子表达式删除,计算强度削弱和无用代码删除。
全局优化:主要是基于循环的优化:循环不变优化,归纳变量删除,计算强度削减。
n 优化语言级
优化语言级:针对中间代码,针对机器语言。
公共子表达式删除
复制传播
无用代码删除
代码外提
强度削弱
10.2 控制流分析
10.3 数据流分析
10.4 局部优化
利用dag进行的基本块变换
⑴ 局部公共子表达式删除。
⑵ 无用代码删除。
⑶ 交换两个独立的相邻语句的次序,以便减少某个临时值需要保存在寄存器中的时间。
⑷ 使用代数规则重新排列三地址码的运算对象的顺序,以便简化计算过程。
10.5 循环优化
循环不变计算的检测
代码外提
归纳变量删除和强度削弱
10.6 全局优化
全局公共子表达式的删除
复制传播
10.7 本章小结
n 代码优化就是对程序进行等价变换,以提高目标程序的效率,通常只对中间代码进行优化。通常包括控制流分析、数据流分析和变换三部分。
n 以程序的基本块为基础,基本块内的优化叫局部优化,跨基本块的优化为全局优化,循环优化是针对循环进行的优化,是全局优化的一部分。
n 公共子表达式的删除、复制传播、无用代码删除、代码外提、强度削弱和归纳变量删除等都是一些常用的针对局部或者全局的代码优化方法。
0 0
- 编译原理结构框架10代码优化
- 编译原理结构框架11代码生成
- 编译原理之代码优化
- 编译原理结构框架3词法分析
- 编译原理结构框架7语义分析与中间代码生成
- 编译原理实验六—代码优化
- 编译原理结构框架2高级语言及其文法
- 编译原理结构框架4自顶向下的语法分析
- 编译原理结构框架5自底向上的语法分析
- 编译原理结构框架8符号表管理
- 编译原理结构框架9运行时的存储组织
- HibernateCallBack原理以及利用回调接口优化代码结构
- HibernateCallBack原理以及利用回调接口优化代码结构 .
- 代码优化,编译优化
- 编译原理过程简述及中间代码优化
- 优化代码结构笔记
- 代码框架优化
- 编译原理结构框架6语法制导翻译与属性文法
- Android中的xml或者drawable下面的资源无法在R.java中生成id的问题--2014年12月3日
- HDOJ 5130 Signal Interference
- 微信开发(三)获取用户信息,同时整理代码
- Artificial Intelligence?(字符串处理)
- JavaScript特点
- 编译原理结构框架10代码优化
- Microsoft VBScript 运行时错误 错误 '800a000d'
- HDOJ 5134 Highway
- JQuery常用方法总结
- 深入理解计算机系统9个重点笔记
- 解决Android SDK Manager问题
- FreeType的灰度图
- 12手机防盗设置向导的第一个页面
- 编译原理结构框架11代码生成