第八章代码优化 8.1引言 82基本块 83基本块的优化 84与循环有关的优化
8.1 引言 8.2 基本块 8.3 基本块的优化 8.4 与循环有关的优化 第八章 代码优化
第八章代码优化 81引言 优化的概念 二、代码优化的分类
8.1 引言 一、 优化的概念 二、代码优化的分类 第八章 代码优化
第八章代码优化 81引言 优化的概念 代码优化指的是编译时刻为改进目标程序的质量而进行 的各项工作。改进质量以提高两方面的效率,即时间效率与 空间效率
8.1 引言 一、 优化的概念 代码优化指的是编译时刻为改进目标程序的质量而进行 的各项工作。改进质量以提高两方面的效率,即时间效率与 空间效率。 第八章 代码优化
第八章代码优化 81引言 优化的概念 二、代码优化的分类 1与机器相关性 2优化范围 3优化语言级
8.1 引言 一、 优化的概念 二、代码优化的分类 1.与机器相关性 2.优化范围 3.优化语言级 第八章 代码优化
第八章代码优化 81引言 优化的概念 二、代码优化的分类 1.与机器相关性 与机器相关的优化一般有寄存器的优 2优化范围 化、多处理器的优化、特殊指令的优化 3优化语言级 及无用指令的消除等四类 与机器无关的优化,包括基本块的优 化和循环的优化
8.1 引言 一、 优化的概念 二、代码优化的分类 1.与机器相关性 2.优化范围 3.优化语言级 第八章 代码优化 与机器相关的优化一般有寄存器的优 化、多处理器的优化、特殊指令的优化 及无用指令的消除等四类。 与机器无关的优化,包括基本块的优 化和循环的优化
第八章代码优化 81引言 优化的概念 二、代码优化的分类 1.与机器相关性可以把优化分成局部优化和全局优化两类 考察一个基本块中的四元式序列就可完成的 2优化范围优化,称为局部优化,否则,称为全局优化。 对基本块的优化可以是:合并常量计算、消 3优化语言级 除公共子表达式、削减计算强度与删除无用代码 等 对循环的优化有三种,即循环不变表达式外 提、归纳变量删除与计算强度削减
8.1 引言 一、 优化的概念 二、代码优化的分类 1.与机器相关性 2.优化范围 3.优化语言级 第八章 代码优化 可以把优化分成局部优化和全局优化两类。 考察一个基本块中的四元式序列就可完成的 优化,称为局部优化,否则,称为全局优化。 对基本块的优化可以是:合并常量计算、消 除公共子表达式、削减计算强度与删除无用代码 等。 对循环的优化有三种,即循环不变表达式外 提、归纳变量删除与计算强度削减
第八章代码优化 81引言 优化的概念 二、代码优化的分类 1与机器相关性 2优化范围 在通常的编译程序实现中,代码优化往 3优化语言级往是在内部中间表示一级上进行的,例如对 源程序的四元式序列或三元式序列进行代码 优化
8.1 引言 一、 优化的概念 二、代码优化的分类 1.与机器相关性 2.优化范围 3.优化语言级 第八章 代码优化 在通常的编译程序实现中,代码优化往 往是在内部中间表示一级上进行的,例如对 源程序的四元式序列或三元式序列进行代码 优化
第八章代码优化 8.1引言 82基本块 基本块是这样一个连续的四元式序列,即控制流从其 第一个四元式进入,而从其最后一个四元式离开,其间没 有停止也不可能有分支
8.1 引言 8.2 基本块 基本块是这样一个连续的四元式序列,即控制流从其 第一个四元式进入,而从其最后一个四元式离开,其间没 有停止也不可能有分支。 第八章 代码优化
第八章代码优化 8.1引言 82基本块 83基本块的优化 、合并常量计算 、消除公共子表达式 三、削减计算强度 四、删除无用代码
8.1 引言 8.2 基本块 8.3 基本块的优化 一、合并常量计算 二、消除公共子表达式 三、削减计算强度 四、删除无用代码 第八章 代码优化
第八章代码优化 8.1引言 1=2*pi*r 82基本块 (1)*23.1416t1 83基本块的优化(3): 、合并常量计算 优化后: (1)*6.2832r 、消除公共子表达式(2):=t2 三、削减计算强度 四、删除无用代码
8.1 引言 8.2 基本块 8.3 基本块的优化 一、合并常量计算 二、消除公共子表达式 三、削减计算强度 四、删除无用代码 第八章 代码优化 l=2*pi*r; (1) * 2 3.1416 t1 (2) * t1 r t2 (3) := t2 l 优化后: (1) * 6.2832 r t2 (2) := t2 l