程序优化与程序变换方法的研究
摘要 | 第1-6页 |
Abstract | 第6-8页 |
目录 | 第8-11页 |
图目录 | 第11-12页 |
表目录 | 第12-13页 |
第1章 绪论 | 第13-19页 |
·研究背景 | 第13-14页 |
·相关工作与研究现状 | 第14-16页 |
·程序变换工具的研究现状 | 第14-15页 |
·指向分析的研究现状 | 第15-16页 |
·研究内容 | 第16-18页 |
·C到C/CUDA的程序变换工具 | 第16-17页 |
·结构体数组分拆工具 | 第17-18页 |
·针对堆内存对象的结构分析算法 | 第18页 |
·论文组织 | 第18-19页 |
第2章 相关知识与工具 | 第19-33页 |
·相关概念 | 第19-21页 |
·LLVM编译器 | 第21-27页 |
·Clang AST的介绍 | 第21-25页 |
·LLVM IR的介绍 | 第25-26页 |
·LLVM Debug机制 | 第26-27页 |
·程序变换工具POET | 第27-31页 |
·POET的设计理念 | 第27-28页 |
·POET脚本语言的语法 | 第28-29页 |
·POET的使用方法 | 第29-31页 |
·本章小结 | 第31-33页 |
第3章 DPOET的设计与实现 | 第33-45页 |
·POET编程的复杂性 | 第33-35页 |
·DPOET设计原理 | 第35-36页 |
·DPOET脚本格式 | 第36-38页 |
·初始遍的格式 | 第37页 |
·变换遍的格式 | 第37-38页 |
·DPOET的使用 | 第38-40页 |
·DPOET的安装 | 第38-39页 |
·一个使用DPOET的简单例子 | 第39-40页 |
·C到CUDA变换的支持 | 第40-41页 |
·实验结果 | 第41-43页 |
·实验环境 | 第41页 |
·测试用例介绍 | 第41-42页 |
·实验方法 | 第42页 |
·实验结果分析 | 第42-43页 |
·本章小结 | 第43-45页 |
第4章 结构体数组的分拆 | 第45-57页 |
·结构体数组分拆介绍 | 第45-47页 |
·structTrans配置文件的格式 | 第47页 |
·structTrans的变换规则 | 第47-52页 |
·结构体数组的变换 | 第48-49页 |
·指向结构体的指针变量的变换 | 第49-52页 |
·structTrans的实现 | 第52-53页 |
·实验分析 | 第53-56页 |
·实例的介绍 | 第53页 |
·structTrans的使用 | 第53页 |
·变换结果 | 第53-56页 |
·本章小结 | 第56-57页 |
第5章 针对于堆内存对象的结构分析 | 第57-71页 |
·问题描述 | 第57-58页 |
·指向图 | 第58-59页 |
·基本结构 | 第58-59页 |
·对象节点的属性 | 第59页 |
·指向图的推导过程 | 第59-60页 |
·过程内分析 | 第60-64页 |
·初始化处理 | 第61页 |
·函数形参的处理 | 第61-62页 |
·基本块内的处理 | 第62-63页 |
·基本块之间的处理 | 第63-64页 |
·过程间分析算法 | 第64-67页 |
·获取函数的摘要图 | 第64-65页 |
·过程间分析的算法 | 第65-66页 |
·上下文结合 | 第66-67页 |
·实验结果 | 第67-69页 |
·结果的DOT图格式 | 第67页 |
·实例分析 | 第67-68页 |
·实验结果 | 第68-69页 |
·本章小结 | 第69-71页 |
第6章 结束语 | 第71-73页 |
·主要贡献 | 第71-72页 |
·不足和将来的工作 | 第72-73页 |
参考文献 | 第73-75页 |
致谢 | 第75-77页 |
在读期间发表的学术论文与取得的研究成果 | 第77页 |