机器无关优化.pptVIP

  • 3
  • 0
  • 约 24页
  • 2017-08-15 发布于重庆
  • 举报
机器无关优化.ppt

编译原理 机器无关优化 授课:胡静 编译器的结构 引言 如果简单的把每个高级语言结构独立的翻译成机器代码,那么会带来相当大的运行时刻的开销。本章讨论如何消除这样的低效率因素——代码改进(代码优化) 在目标代码中消除不必要的指令 把一个指令序列替换为一个完成相同功能的较快的指令序列 上部分讲述了局部代码优化的问题,本部分主要简述全局优化问题。 考虑在多个基本块之间发生的事情。 本章基础 大部分全局优化是基于数据流分析(data-flow analyze)技术实现的。 数据流分析技术是一组用以收集程序相关信息的算法。 所有数据流分析的结果都具有相同的形式:对于程序中的每个指令,它们描述了该指令每次执行时必然成立的一些性质 不同性质的分析方法各不相同,比如,对于常量传播分析而言,要判断在程序的每个点上,程序使用的各个变量是否在该点上具有唯一的常量值。 活跃性分析确定在程序的每个点上,在某个变量中存放的值是否一定会在被读取之前被覆盖掉,如果是,我们就不需要在寄存器或内存位置上保留这个值。 本章结构 1、讨论一些主要的代码改进机会 2、介绍数据流分析技术 说明如何使用在全局内收集的信息来改进代码 3、介绍数据流框架的总体思想 上部分中的数据流分析是这个框架的特例 4、总体框架的例子,功能强大 5、“部分冗余消除”的技术,用于优化程序中各个表达式求值的位置。 6、讨论程序中循环的发现和分析 7

文档评论(0)

1亿VIP精品文档

相关文档