摘要 | 第1-4页 |
ABSTRACT | 第4-7页 |
第一章 绪论 | 第7-17页 |
1.1 编译器的作用和特点 | 第7-8页 |
1.2 与编译器有关的程序 | 第8-10页 |
1.3 优化编译器的结构 | 第10-14页 |
1.3.1 前端 | 第11-12页 |
1.3.2 中间表示 | 第12-13页 |
1.3.3 后端 | 第13-14页 |
1.3.4 编译程序的宽度 | 第14页 |
1.4 编译器的目标机器 | 第14-15页 |
1.5 编译器中待解决的问题 | 第15页 |
1.6 本文的主要研究工作、创新点和内容安排 | 第15-16页 |
1.7 本章小节 | 第16-17页 |
第二章 中间表示和目标机器分析 | 第17-35页 |
2.1 中间表示组织 | 第17-28页 |
2.1.1 图状中间表示 | 第17-20页 |
2.1.2 线性中间表示 | 第20-25页 |
2.1.3 中间表示中的辅助数据组织 | 第25-28页 |
2.2 中间表示分析 | 第28-30页 |
2.2.1 控制流分析 | 第28-29页 |
2.2.2 数据流分析 | 第29-30页 |
2.3 目标机器分析 | 第30-34页 |
2.3.1 目标机器的抽象 | 第30-32页 |
2.3.2 媒体处理器分析 | 第32-33页 |
2.3.3 运行时环境 | 第33-34页 |
2.4 本章小节 | 第34-35页 |
第三章 MD16CC中改进的直接代码生成法 | 第35-51页 |
3.1 MD160x目标机器分析 | 第35-37页 |
3.2 传统的直接代码生成法 | 第37-40页 |
3.2.1 简单代码生成法 | 第37-38页 |
3.2.2 带有寄存器赋值策略的直接代码生成法 | 第38-40页 |
3.3 改进的直接代码生成法 | 第40-44页 |
3.3.1 算法提出的背景 | 第40-41页 |
3.3.2 懒惰变量赋值法 | 第41-42页 |
3.3.3 IDCG中懒惰变量赋值法的实现 | 第42-44页 |
3.4 改进的直接代码生成法在MD16CC中的实现 | 第44-50页 |
3.4.1 MD16CC前端结构 | 第44-45页 |
3.4.2 MD16CC后端结构 | 第45-49页 |
3.4.3 MD16CC验证系统结构 | 第49-50页 |
3.5 本章小节 | 第50-51页 |
第四章 MD32CC中改进的图着色寄存器分配法 | 第51-72页 |
4.1 MD320x目标机器分析 | 第51-54页 |
4.2 局部寄存器分配法 | 第54-56页 |
4.3 传统的基于图着色的寄存器分配法 | 第56-59页 |
4.3.1 Chaitin的图着色寄存器分配法 | 第56-58页 |
4.3.2 Briggs的图着色寄存器分配法 | 第58-59页 |
4.4 利用合并改进的图着色寄存器分配法 | 第59-68页 |
4.4.1 算法的提出 | 第60-63页 |
4.4.2 改进的模型 | 第63-64页 |
4.4.3 估计合并代价 | 第64-67页 |
4.4.4 实验结果 | 第67-68页 |
4.5 改进的基于图着色的寄存器分配法在 MD32CC中的实现 | 第68-71页 |
4.5.1 MD32CC编译器结构 | 第68-69页 |
4.5.2 在MD32CC中实现改进的寄存器分配器的方法 | 第69-71页 |
4.6 本章小节 | 第71-72页 |
全文总结 | 第72-73页 |
参考文献 | 第73-77页 |
作者攻读硕士学位期间发表的学术论文 | 第77页 |
作者攻读硕士学位期间参与的主要科研工作 | 第77-78页 |
致谢 | 第78页 |