独创性声明 | 第1页 |
学位论文版权使用授权书 | 第3-8页 |
摘要 | 第8-9页 |
ABSTRACT | 第9-10页 |
第一章 绪论 | 第10-13页 |
·课题的背景和意义 | 第10-11页 |
·课题主要研究内容 | 第11-12页 |
·论文的主要结构 | 第12-13页 |
第二章 跨文件编译模式 | 第13-24页 |
·跨文件编译模式的综述 | 第13-16页 |
·跨文件编译模式的流程 | 第13-14页 |
·跨文件编译模式要解决的关键问题 | 第14-16页 |
·典型的跨文件编译模式 | 第16-21页 |
·OM系统 | 第16-17页 |
·Vortex系统 | 第17-19页 |
·SYZYGY系统 | 第19-20页 |
·LLVM系统 | 第20-21页 |
·四种系统的比较 | 第21-24页 |
·编译中间结果的保存时机 | 第21-22页 |
·编译中间结果的保存形式 | 第22-24页 |
第三章 GCC 3.4分析 | 第24-41页 |
·GCC3.4编译框架 | 第24-26页 |
·GCC 3.4前端抽象语法树表示 | 第26-28页 |
·语法树表示的介绍 | 第26-27页 |
·过程的抽象语法树表示 | 第27-28页 |
·基于调用图的单文件内过程间优化模式 | 第28-34页 |
·调用图介绍 | 第28-32页 |
·基于调用图完成单文件内过程间优化的流程 | 第32-34页 |
·基于调用图的函数内联 | 第34-36页 |
·GCC完成函数内联的一般流程 | 第34-35页 |
·GCC完成函数内联所用的数据结构 | 第35页 |
·GCC完成函数内联的核心算法 | 第35-36页 |
·GCC当前优化模式的不足 | 第36-37页 |
·GCC命令行参数处理机制介绍 | 第37-41页 |
第四章 跨文件编译模式的提出和实现 | 第41-57页 |
·模型的介绍 | 第41-43页 |
·模型产生的背景 | 第41页 |
·模型的架构和流程 | 第41-43页 |
·模型解决的问题和用到的数据结构和算法 | 第43-56页 |
·跨文件编译模式流程的具体实现 | 第43-47页 |
·保存抽象语法树的二进制文件的设计 | 第47-48页 |
·抽象语法树写出的具体实现 | 第48-54页 |
·抽象语法树读入和重构的数据结构和算法 | 第54-55页 |
·调用图重构的数据结构和算法 | 第55-56页 |
·模型的分析 | 第56-57页 |
·模型时间复杂度分析 | 第56页 |
·模型空间复杂度分析 | 第56-57页 |
第五章 试验结果和分析 | 第57-63页 |
·测试环境介绍 | 第57页 |
·对183.equake的测试 | 第57-60页 |
·更进一步的测试 | 第60-63页 |
·针对256.bzip2的测试 | 第60-61页 |
·针对181.mcf的测试 | 第61页 |
·测试总结 | 第61-63页 |
结束语 | 第63-64页 |
致谢 | 第64-65页 |
参考文献 | 第65-67页 |
作者在学期间取得的学术成果 | 第67-68页 |
附录A GCC 3.4树结点列表 | 第68-71页 |
附录B 本课题中使用的SPEC 2000测试包的使用方法 | 第71-72页 |