基于THUMP的编译优化技术研究
第一章 引言 | 第1-14页 |
1.1 项目背景 | 第8-9页 |
1.2 编译器开发平台GCC | 第9-11页 |
1.2.1 可重定向编译器 | 第9-10页 |
1.2.2 GCC总体结构 | 第10页 |
1.2.3 支持多平台的实现技术 | 第10-11页 |
1.3 编译优化 | 第11-12页 |
1.3.1 编译优化概述 | 第11-12页 |
1.3.2 机器无关优化 | 第12页 |
1.3.3 机器相关优化 | 第12页 |
1.4 论文组织 | 第12-14页 |
第二章 THUMP的C、C++编译器 | 第14-24页 |
2.1 THUMP的C、C++编译器结构 | 第14-16页 |
2.2 THUMP的C、C++编译器的设计 | 第16-17页 |
2.3 THUMP的C、C++编译器的实现 | 第17-21页 |
2.3.1 延迟槽修改 | 第17-18页 |
2.3.2 指令互锁 | 第18-19页 |
2.3.3 宏指令展开 | 第19-20页 |
2.3.4 软件浮点库的生成 | 第20-21页 |
2.4 THUMP交叉编译器的生成 | 第21-23页 |
2.5 THUMP本地编译器的生成 | 第23-24页 |
第三章 THUMP的C、C++编译器优化 | 第24-34页 |
3.1 概述 | 第24页 |
3.2 窥孔优化技术 | 第24-25页 |
3.3 多媒体指令的窥孔优化 | 第25-27页 |
3.4 立即数乘法的窥孔优化 | 第27-34页 |
3.4.1 优化前的立即数与变量相乘 | 第27-28页 |
3.4.2 立即数乘法窥孔优化的基本思想 | 第28-30页 |
3.4.3 立即数乘法窥孔优化算法 | 第30-31页 |
3.4.4 实验结果及分析 | 第31-34页 |
第四章 THUMP的JAVA动态编译器设计 | 第34-47页 |
4.1 动态编译技术概述 | 第34页 |
4.2 运行时特定化 | 第34-38页 |
4.2.1 程序特定化的理论基础 | 第35-37页 |
4.2.2 代表性工作 | 第37-38页 |
4.3 JUST-IN-TIME编译与自适应优化 | 第38-43页 |
4.3.1 关键技术 | 第39-40页 |
4.3.2 代表性工作 | 第40-43页 |
4.4 ORP的移植 | 第43页 |
4.5 基于ORP的动态编译技术研究 | 第43-47页 |
4.5.1 增加分支profiling | 第43-45页 |
4.5.2 分层优化 | 第45-47页 |
第五章 结论与展望 | 第47-48页 |
5.1 工作总结 | 第47页 |
5.2 工作展望 | 第47-48页 |
参考文献 | 第48-50页 |
致谢、声明 | 第50-51页 |
个人简历、在学期间的研究成果及发表的学术论文 | 第51页 |