2022年2022年可执行代码级优化器生成框 .pdf
《2022年2022年可执行代码级优化器生成框 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年可执行代码级优化器生成框 .pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、! # $% % % & % % () # $&* *+, #清华大学学报-自然科学版./ 0 12 34567 83 2 9- :2;0期*% % ( =? AB( =# B* C , +D$*D% & $* D+可执行代码级优化器生成框架蒋琛=戴桂兰=戴军=张素琴-清华大学计算机科学与技术系=北京$% % C( .收稿日期E* % +&$%& %C基金项目E国家自然科学基金资助项目- D% C+% ( .作者简介E蒋琛- $FF& . =女-汉. =广西=硕士研究生G通讯联系人E戴桂兰=助理研究员=H&I 72 A E J72 4AK I72 A BL12 345 67BJ 6B: 3摘要
2、E编 译 基 础 设 施 生 成 的 编 译 器 对 与 目 标 机 特 征 相 关的优化支持不足!同时嵌入式应用系统的发展要求高质量的目 标 代 码!为 此!提 出 一 种 可 执 行 代 码 级 优 化 器 生 成 框 架 # $ %& ( )* + , - ./0+1 2 1 3 45 6 4, +1 / 67 4, 2 8 / 49: !以 及该框架的关键支撑技术;与现有的编译器生成工具相结合!如$ ) / 2 01 . 4 ) / . ) +1 / 6: !可以实现高质量编译器的快速开发!并可以方便地充分利用目标机特点进行相关优化!提高目标代码质量;实验结果证明! # $ %是一个简
3、便?灵活且有效的可执行代码级优化器生成工具;关键词E编译器生成工具优化器可执行代码中图分类号E 0 M +$(文献标识码E N文章编号E$ % % % & % % (- *% % ( . % & $*D% &% (OPQ R STU VW QXYT Z Z Q Q _Q UTZ X_ U Q a X bcd e f g h i j k=le dg m no pk=led cmk=q r e f gsmt nk- u QYU T Q _ TXv XYST Q wR Z Q_R Q U_xy QR z_XW X =y | Z _zSU _ Z Q | Z T = ! Q ZZ _ #$% &=vz
4、Z _U.V| T UR T EM (13L: I ) 2 A(14 3(7LJ * + : I ) 2A (2 3,(71L( 6: L6( 142 92 316 ,2 : 2 3 L1 6) ) (L,7(: 52L: L6( (A7LJ ) L2 I 2 -7L2 31BN3. : 6L7* A ) L2I 2-( 43(7L2 3 ,(7I / (0 - H1 2 3 . / 71 J9A ) J=/ 52 : 542 912 I ) ( 9J: J467A 2 L+, (I * JJ J7) ) A 2 : 7L2 31+1LI 1B5 2 L5: I ) 2 A (2 3, (71
5、L(6: L6(116: 5712 ) )- 2 # 8: I ) 2A ( : AA : L2 3. =L 5H 1 2 3 : 73 462 : 0A + : I ) 17 32 3L4( 7LJ43(7L2 3 392 ( 3I 3L , ( 5245 467A 2 L+ : I) 2 A (1B0 5H 1 2 3 : 737A 12 I ) ( 9 L5 , 237A: J 467A2 L+ * + L702 3 47 J973L74 , L5 1) : 27AI 7: 52 3 : 57(7: L( 2 1L2 : 1BH . ) ( 2 I 3L7A (16A L11 5 /L5
6、7L L5H 1 2 3: 73 ,A . 2 * A + 73J , ,2: 2 3LA + 43 (7L . : 6L7* A ) L2 I 2 -(1B6 Q aX x| E: I ) 2 A (7 76L I 7L2 :43(7L (7 ) L2I 2-( 7 . : 6L7* A : J嵌入式系统复杂性的不断增加和特定应用体系结构的层出不穷使得对自动生成工具的需求越来越迫切8$9G对于编译环境而言=到目前为止=人们开发了广泛使用的编译基础设施或可重定向编译器=例如2 ) ) - 2 # 8: I ) 2A ( : A A : L2 3 . : ; ) )- A 73): I ) 2A
7、 ( .和 8 !3 - L73, (J832 9(12 L+ 23L(I J2 &7L , (I 7L.等8*9G这些生成工具虽然大大提高了编译系统的开发效率7但其结果编译器所产生的目标代码的质量往往不能令人满意G于是=近年来=优化器自动生成工具的研究开始引起人们的关注=具有代 表 性 的 工 作 是 汇 编 代 码 级 优 化 器 生 成 框 架-M 1 MN # .8+9G据了解=目前尚无可执行代码级优化器自动生成工具的研究成果出现G在可执行代码级=由于一些找不到源码的库文件的链入=扩展了优化范围7同时=由于汇编程序充分展开=且没有失去任何信息=为优 化 提供了准确的 信 息8* 97另
8、 外=可 执 行 代 码 充分地体现了目标机的特征=更易于进行与目标机相关的优化G由此可见=在可执行代码级会比在汇编代码级或中间表示级进行优化效果更加明显G本 文 提 出 的 可 执 行 代 码 级 优 化 器 生 成 框 架H1 2 3- . :6L7*A ) L2 I 2-( 43(7L2 3 ,(7I ?框架结构H1 2 3的结构如图$所示G从图$中可以看出系统的输入为目标机信息=输出为相应目标机的可执行代码级优化器G特定目标机信息主要包括硬件资源:指令集:流水线等=它们是进行与目标机相关的优化必不可少的信息G将目标机信息用一种机器描述语言进行描述=然后经过机器描述语言解析器=提取信息存
9、储于目标机体系结构数据库中=以便于代码分析器和优化,分析器的构造器的访问G名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 特定目标机的可执行代码级优化器的核心是代码分析器和优化!分析器代码分析器扫描源程序#提取控制流和数据流等信息#构造相应程序表示优化!分析器对代码分析器构造的程序表示进行分析和优化#其结果可以进一步分析和优化#直至生成满意的目标代码 $ %&应能根据目标体系结构数据库 的 信 息#自 动 生 成 相 应 的 代
10、 码 分 析 器 和 优 化!分析器在$ %&存在的情况下#整个编译环境的开发和运行如图(所示#底层是一个完整的编译过程源程序通过编译器生成可执行代码#然后经过可执行代码级优化器#进行与目标机相关的优化#从而生成最终的优化后可执行代码其中#中间层即为$%&系统它为用户提供接口以描述目标体系结构特征#并且允许用户选择优化算法#然后根据用户提供的信息构造特定目标机的优化器可执行代码级优化器生成框架名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - -
11、- - - 持!因此开发一种专门的机器描述语言用于# $ %&中对体系结构特性的描述是十分必要的! ( 代码分析器的自动生成代码分析器对可执行代码进行预处理完成控制流重构和数据流分析建立相应的数据结构为后续的优化提供基础因此在可执行代码级优化器中占据重要地位!# $ %&作为可执行代码级优化器的生成工具代码分析器的自动生成自然成为其一项重要任务!可执行代码是源程序充分展开和一系列等价变换 的 结 果因 此源 程 序 中 的 结 构 化 信 息 已 不 太 明显!为实现进一步的优化必须能够在可执行代码中重构控制流图作为代码优化的前提!因此 # $ %&应能提供控制流的重构算法并且能保证该算法的通
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年可执行代码级优化器生成框 2022 可执行 代码 优化 生成
限制150内