基于LLVM的C程序的动态数据依赖分析工具的设计与实现
摘要 | 第1-6页 |
Abstract | 第6-11页 |
第1章 绪论 | 第11-15页 |
·研究背景及意义 | 第11-12页 |
·依赖分析技术的国内外研究现状 | 第12-13页 |
·论文总体安排和组织结构 | 第13-14页 |
·本章小结 | 第14-15页 |
第2章 相关技术介绍 | 第15-28页 |
·依赖分析相关研究 | 第15-17页 |
·传统的依赖分析技术 | 第17-22页 |
·依赖测试定义 | 第17页 |
·常见的依赖关系测试 | 第17-20页 |
·传统的依赖测试方法的不足 | 第20-21页 |
·循环间的依赖测试 | 第21-22页 |
·LLVM开发平台相关研究 | 第22-27页 |
·插桩技术 | 第27页 |
·本章小结 | 第27-28页 |
第3章 动态数据依赖分析算法的设计 | 第28-39页 |
·算法涉及的主要术语 | 第28页 |
·算法主要研究对象 | 第28-29页 |
·算法的基本原理 | 第29-30页 |
·代码注入和静态分析阶段算法的设计 | 第30-32页 |
·整体算法设计 | 第30-31页 |
·具体模块算法的设计 | 第31-32页 |
·数据依赖分析阶段算法的设计 | 第32-34页 |
·算法总体设计 | 第32-34页 |
·具体的实例分析 | 第34-38页 |
·本章小结 | 第38-39页 |
第4章C语言动态数据依赖分析工具的设计与实现 | 第39-52页 |
·动态数据依赖分析工具研究实现的意义 | 第39页 |
·动态数据依赖分析工具的实现环境和要求 | 第39-40页 |
·输入及其假设 | 第39页 |
·输出及其影响 | 第39-40页 |
·以Clang为开发前端 | 第40页 |
·动态数据依赖分析工具的总体分析架构 | 第40-41页 |
·动态数据依赖分析工具相关模块的实现 | 第41-45页 |
·检测代码注入及静态分析模块 | 第41-44页 |
·数据依赖分析模块 | 第44-45页 |
·DDA工具算法的实现 | 第45-48页 |
·LDDProfiling类实现 | 第45-46页 |
·数据依赖分析阶段算法的实现 | 第46-47页 |
·函数接口的实现 | 第47-48页 |
·动态数据依赖分析工具的总体实现 | 第48-51页 |
·DDA工具的实现流程图 | 第48-49页 |
·插桩的实现 | 第49-51页 |
·DDA分析工具实现效果图 | 第51页 |
·本章小结 | 第51-52页 |
第5章 测试与工具分析结果 | 第52-58页 |
·实验平台 | 第52页 |
·简单测试用例 | 第52-55页 |
·测试用例中用到的编译命令及步骤 | 第52-53页 |
·singleloop.c | 第53-54页 |
·array.c | 第54-55页 |
·实际应用测试Swaptions | 第55-57页 |
·本章小结 | 第57-58页 |
第6章 总结与展望 | 第58-60页 |
·工作总结 | 第58-59页 |
·工作展望 | 第59-60页 |
参考文献 | 第60-62页 |
致谢 | 第62页 |