基于LLVM的函数内联优化技术研究
摘要 | 第5-6页 |
abstract | 第6页 |
第1章 绪论 | 第9-15页 |
1.1 研究目的及意义 | 第9-10页 |
1.2 研究现状 | 第10-13页 |
1.2.1 函数内联优化研究现状 | 第10-13页 |
1.2.2 LLVM优化架构研究现状 | 第13页 |
1.3 研究内容 | 第13-14页 |
1.4 论文的组织结构 | 第14-15页 |
第2章 背景知识介绍 | 第15-31页 |
2.1 编译器优化 | 第15-18页 |
2.1.1 编译器简介 | 第15页 |
2.1.2 优化分类 | 第15-17页 |
2.1.3 对优化的考虑 | 第17-18页 |
2.2 LLVM优化编译框架 | 第18-26页 |
2.2.1 编译器简介 | 第18页 |
2.2.2 LLVM编译框架组成 | 第18-23页 |
2.2.3 LLVM的优化技术 | 第23-26页 |
2.3 函数内联优化 | 第26-30页 |
2.3.1 内联变换 | 第27-28页 |
2.3.2 内联决策 | 第28-30页 |
2.4 本章小结 | 第30-31页 |
第3章 LLVM内联优化模型研究 | 第31-46页 |
3.1 LLVM中函数内联分类和所处阶段 | 第31-32页 |
3.1.1 内联分类 | 第31页 |
3.1.2 函数内联优化位置 | 第31-32页 |
3.2 部分函数内联 | 第32-35页 |
3.3 LLVM函数内联优化流程 | 第35-37页 |
3.4 确定候选调用地址 | 第37-43页 |
3.4.1 特殊函数的筛选 | 第38-39页 |
3.4.2 内联成本的计算 | 第39-41页 |
3.4.3 阈值的设定 | 第41-42页 |
3.4.4 候选地址选择模型 | 第42-43页 |
3.5 内联扩展 | 第43-45页 |
3.6 本章小结 | 第45-46页 |
第4章 LLVM函数内联模型的改进 | 第46-57页 |
4.1 LLVM内联优化模型的不足 | 第46页 |
4.2 LLVM内联优化模型的改进 | 第46-55页 |
4.2.1 函数调用次数 | 第47-51页 |
4.2.2 有益于后续优化 | 第51-53页 |
4.2.3 新的内联优化模型 | 第53-55页 |
4.3 本章小结 | 第55-57页 |
第5章 实验结果和分析 | 第57-67页 |
5.1 实验环境 | 第57-58页 |
5.2 实验方法及测试用例 | 第58-60页 |
5.2.1 实验方法 | 第58页 |
5.2.2 测试用例 | 第58-60页 |
5.3 实验结果分析 | 第60-66页 |
5.3.1 EPCM-505C平台 | 第60-62页 |
5.3.2 PC机平台 | 第62-66页 |
5.4 本章小结 | 第66-67页 |
结论 | 第67-68页 |
参考文献 | 第68-73页 |
致谢 | 第73页 |