独立于机器的优化

独立于机器的优化

ID:42975603

大小:1.32 MB

页数:140页

时间:2019-09-26

独立于机器的优化_第1页
独立于机器的优化_第2页
独立于机器的优化_第3页
独立于机器的优化_第4页
独立于机器的优化_第5页
资源描述:

《独立于机器的优化》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第九章独立于机器的优化词法分析器语法分析器语义分析器源程序中间代码生成器独立于机器的代码优化器代码生成器依赖于机器的代码优化器目标机器代码符号表第九章独立于机器的优化代码优化通过程序变换(局部变换和全局变换)来改进程序,称为优化代码改进变换的标准代码变换必须保程序的含义采取安全稳妥的策略变换减少程序的运行时间平均达到一个可度量的值变换所作的努力是值得的第九章独立于机器的优化本章介绍独立于机器的优化,即不考虑任何依赖目标机器性质的优化变换通过实例来介绍代码改进的主要机会数据流分析包括的几类重要的全局收集的信息数据流分析的

2、一般框架和一般框架有区别的常量传播部分冗余删除的优化技术循环的识别和分析9.1优化的主要种类9.1.1优化的主要源头程序中存在许多程序员无法避免的冗余运算对于A[i][j]和X.f1这样访问数组元素和结构体的域的操作(例如,A[i][j]=A[i][j]+10)随着程序被编译,这些访问操作展开成多步低级算术运算对同一个数据结构的多次访问导致许多公共的低级运算程序员没有办法删除这些冗余9.1优化的主要种类9.1.2一个实例i=m1;j=n;v=a[n];(1)i=m1while(1){(2)j=ndoi=i+1;wh

3、ile(a[i]v);(4)v=a[t1]if(i>=j)break;(5)i=i+1x=a[i];a[i]=a[j];a[j]=x;(6)t2=4i}(7)t3=a[t2]x=a[i];a[i]=a[n];a[n]=x;(8)ift3

4、1;while(a[j]>v);(12)ift5>vgoto(9)if(i>=j)break;(13)ifi>=jgoto(23)x=a[i];a[i]=a[j];a[j]=x;(14)t6=4i}(15)x=a[t6]x=a[i];a[i]=a[n];a[n]=x;...9.1优化的主要种类i=m1j=nt1=4nv=a[t1]i=i+1t2=4it3=a[t2]ift3vgotoB3ifi>=jgotoB6B4B3B5B6程序流图9.

5、1优化的主要种类9.1.3公共子表达式删除B5x=a[i];a[i]=a[j];a[j]=x;t6=4ix=a[t6]t7=4it8=4jt9=a[t8]a[t7]=t9t10=4ja[t10]=xgotoB29.1优化的主要种类局部公共子表达式删除,复写传播,删除死代码B5x=a[i];a[i]=a[j];a[j]=x;t6=4ix=a[t6]t7=4it8=4jt9=a[t8]a[t7]=t9t10=4ja[t10]=xgotoB2t6=4ix=a[t6]t8=4jt9=a[t8]a[t6]=t

6、9a[t8]=xgotoB29.1优化的主要种类i=m1j=nt1=4nv=a[t1]i=i+1t2=4it3=a[t2]ift3vgotoB3ifi>=jgotoB6B4B3B5B69.1优化的主要种类全局公共子表达式删除,复写传播,删除死代码B5x=a[i];a[i]=a[j];a[j]=x;t6=4ix=a[t6]t7=4it8=4jt9=a[t8]a[t7]=t9t10=4ja[t10]=xgotoB2t6=4ix=a[t6

7、]t8=4jt9=a[t8]a[t6]=t9a[t8]=xgotoB29.1优化的主要种类全局公共子表达式删除,复写传播,删除死代码B5x=a[i];a[i]=a[j];a[j]=x;t6=4ix=a[t6]t7=4it8=4jt9=a[t8]a[t7]=t9t10=4ja[t10]=xgotoB2t6=4ix=a[t6]t8=4jt9=a[t8]a[t6]=t9a[t8]=xgotoB2x=a[t2]t9=a[t4]a[t2]=t9a[t4]=xgotoB29.1优化的主要种类i=m1j=nt1=4

8、nv=a[t1]i=i+1t2=4it3=a[t2]ift3vgotoB3ifi>=jgotoB6B4B3B5B69.1优化的主要种类全局公共子表达式删除,复写传播,删除死代码B5x=a[i];a[i]=a[j];a[j]=x;t6=4ix=a[t6]t7

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。