| 独创性声明 | 第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页 |