| 摘要 | 第1-5页 |
| ABSTRACT | 第5-11页 |
| 第一章 引言 | 第11-17页 |
| ·指令级并行 | 第11-14页 |
| ·超长指令字体系结构 | 第11页 |
| ·EPIC 体系结构 | 第11-12页 |
| ·一些支持指令级并行的硬件技术 | 第12-13页 |
| ·指令级并行的编译技术 | 第13-14页 |
| ·本文的贡献 | 第14-16页 |
| ·文章的组织 | 第16-17页 |
| 第二章 IA64 体系结构和 ORC 编译器概述 | 第17-22页 |
| ·IA64 体系结构 | 第17-19页 |
| ·ORC 开放源码编译器 | 第19-22页 |
| 第三章 ORC 编译器中的后端优化 | 第22-33页 |
| ·轮廓信息插装 | 第23页 |
| ·条件转换 | 第23-25页 |
| ·谓词分析 | 第25-27页 |
| ·指令调度 | 第27-28页 |
| ·指令投机 | 第28-30页 |
| ·控制投机 | 第28-29页 |
| ·数据投机 | 第29页 |
| ·复合型投机 | 第29-30页 |
| ·恢复代码的生成 | 第30页 |
| ·瀑式投机 | 第30页 |
| ·机器模型 | 第30-33页 |
| ·机器描述 | 第31页 |
| ·微调度 | 第31-33页 |
| 第四章 区域构造技术 | 第33-64页 |
| ·区域构造的目的和意义 | 第33-34页 |
| ·区域构造需要考虑的问题 | 第34-35页 |
| ·我们区域构造的特点 | 第35-36页 |
| ·区域的定义和结构 | 第36-37页 |
| ·区域内控制流图的结构 | 第37页 |
| ·区域的结构 | 第37-38页 |
| ·区域的类型 | 第38-40页 |
| ·循环区域 | 第38-39页 |
| ·非正常区域 | 第39页 |
| ·单入多出区域 | 第39-40页 |
| ·多入多出区域 | 第40页 |
| ·区域的属性 | 第40-42页 |
| ·边界不变(Persistent Boundary) | 第41页 |
| ·不可改动(Rigid) | 第41页 |
| ·不可再优化(No Further Optimization) | 第41页 |
| ·不可跨越区域边界优化(No Optimization Across Region Boundary) | 第41-42页 |
| ·区域的构造算法 | 第42-53页 |
| ·循环区域和非正常区域,多入口多出口区域的构造算法 | 第42-50页 |
| ·关键边消除算法 | 第43-44页 |
| ·Interval 构造和处理 | 第44-46页 |
| ·多入多出区域的构造算法 | 第46-50页 |
| ·SEME 区域的构造算法 | 第50-53页 |
| ·尾复制及尾复制时控制流图中执行频率信息的维护 | 第53页 |
| ·区域构造算法示例 | 第53-57页 |
| ·区域的验证 | 第57-59页 |
| ·区域属性的验证 | 第58-59页 |
| ·出错报告(有环的检查和是否为单入多出区域) | 第59页 |
| ·遍历和读取属性的方法 | 第59-60页 |
| ·区域的构造对后端其他优化阶段的依赖和支持 | 第60-62页 |
| ·对于指令调度的支持 | 第61页 |
| ·对于条件转换的支持 | 第61页 |
| ·对于谓词分析的支持 | 第61-62页 |
| ·相关工作 | 第62-64页 |
| 第五章 基于区域优化的实验结果 | 第64-71页 |
| ·基于区域的优化技术在 ORC 中的实现 | 第64-65页 |
| ·结果和评估 | 第65-71页 |
| 第六章 栈寄存器优化问题的提出和解决 | 第71-92页 |
| ·引言 | 第71-72页 |
| ·寄存器栈的介绍 | 第72-73页 |
| ·RSE 问题的代价模型和分析 | 第73-82页 |
| ·RSE 溢出/回填的代价 | 第73-74页 |
| ·ORC 中寄存器分配算法的简单介绍 | 第74-75页 |
| ·问题分析 | 第75-79页 |
| ·说明问题的例子 | 第79-82页 |
| ·栈寄存器配额分配问题的提出 | 第82页 |
| ·解决框架和算法 | 第82-87页 |
| ·算法 | 第83-85页 |
| ·过程间配额分配算法的时间复杂性 | 第85-86页 |
| ·实例研究 | 第86-87页 |
| ·对过程内存器分配算法的进一步分析 | 第87-89页 |
| ·寄存器的使用有代价时的Simplify 算法 | 第88页 |
| ·分配寄存器与否的优化 | 第88-89页 |
| ·国际相关工作 | 第89-92页 |
| 第七章 过程间栈寄存器分配算法的实验结果和分析 | 第92-98页 |
| ·实验环境 | 第92页 |
| ·实验结果 | 第92-94页 |
| ·结果分析 | 第94-98页 |
| 第八章 结论和未来的工作 | 第98-104页 |
| ·文章总结 | 第98-99页 |
| ·未来的工作和展望 | 第99-104页 |
| ·基于区域构造的进一步工作 | 第99-101页 |
| ·栈寄存器优化的进一步工作 | 第101-104页 |
| 参考文献 | 第104-113页 |
| 致谢 | 第113-114页 |
| 作者简历 | 第114-115页 |