基于LLVM的迭代间数据重用优化研究
| 摘要 | 第5-6页 |
| Abstract | 第6页 |
| 第1章 绪论 | 第9-15页 |
| 1.1 研究目的及意义 | 第9-10页 |
| 1.2 国内外研究现状 | 第10-13页 |
| 1.2.1 数据重用理论研究现状 | 第10-12页 |
| 1.2.2 LLVM优化架构研究现状 | 第12-13页 |
| 1.3 论文的主要工作 | 第13页 |
| 1.4 论文的组织结构 | 第13-15页 |
| 第2章 相关背景知识介绍 | 第15-26页 |
| 2.1 编译器优化 | 第15-18页 |
| 2.2 LLVM优化编译框架 | 第18-21页 |
| 2.3 归纳变量优化 | 第21-24页 |
| 2.3.1 识别归纳变量 | 第21-22页 |
| 2.3.2 强度削弱 | 第22-23页 |
| 2.3.3 归纳变量删除和线性函数测试替换 | 第23-24页 |
| 2.4 数组引用标量替换 | 第24-25页 |
| 2.5 本章小结 | 第25-26页 |
| 第3章 LLVM循环优化算法研究 | 第26-41页 |
| 3.1 LLVM的归纳变量优化 | 第26-27页 |
| 3.2 归纳变量的识别 | 第27-34页 |
| 3.2.1 循环规范化 | 第27-28页 |
| 3.2.2 LCSSA形式 | 第28-30页 |
| 3.2.3 SCEV分析格式 | 第30-34页 |
| 3.3 LLVM的强度削弱 | 第34-36页 |
| 3.4 LLVM的标量替换 | 第36-38页 |
| 3.5 循环优化的不足 | 第38-40页 |
| 3.6 本章小结 | 第40-41页 |
| 第4章 迭代间数据重用算法的设计与实现 | 第41-49页 |
| 4.1 控制流分析 | 第41-43页 |
| 4.2 迭代间数据重用优化算法设计 | 第43-45页 |
| 4.3 算法实现 | 第45-48页 |
| 4.4 本章小结 | 第48-49页 |
| 第5章 实验结果与分析 | 第49-58页 |
| 5.1 实验环境 | 第49页 |
| 5.2 测试用例 | 第49-53页 |
| 5.2.1 冒泡排序 | 第50-52页 |
| 5.2.2 FIR滤波 | 第52-53页 |
| 5.3 实验结果及分析 | 第53-57页 |
| 5.3.1 冒泡排序结果 | 第53-55页 |
| 5.3.2 4-tap FIR滤波程序结果 | 第55-57页 |
| 5.4 本章小结 | 第57-58页 |
| 结论 | 第58-59页 |
| 参考文献 | 第59-63页 |
| 攻读硕士学位期间发表的论文和取得的科研成果 | 第63-64页 |
| 致谢 | 第64页 |