基于LLVM编译架构的CSKY后端移植
| 致谢 | 第1-5页 |
| 摘要 | 第5-6页 |
| Abstract | 第6-9页 |
| 第1章 绪论 | 第9-14页 |
| ·课题研究背景 | 第9-10页 |
| ·国内外研究现状 | 第10-11页 |
| ·CSKY处理器的发展 | 第11-12页 |
| ·本文研究的内容 | 第12页 |
| ·论文结构 | 第12-13页 |
| ·本章小结 | 第13-14页 |
| 第2章 LLVM编译系统初探 | 第14-18页 |
| ·LLVM编译系统介绍 | 第14页 |
| ·LLVM编译系统组成部分 | 第14-17页 |
| ·LLVM中间代码 | 第15页 |
| ·集成库 | 第15-16页 |
| ·工具集 | 第16-17页 |
| ·本章小结 | 第17-18页 |
| 第3章 CSKY体系结构 | 第18-31页 |
| ·数据类型和组织形式 | 第18-19页 |
| ·寄存器 | 第19-21页 |
| ·通用寄存器 | 第19-20页 |
| ·可选择寄存器 | 第20-21页 |
| ·累加寄存器 | 第21页 |
| ·程序计数器 | 第21页 |
| ·条件与进位位 | 第21页 |
| ·指令集 | 第21-24页 |
| ·数据运算指令 | 第22页 |
| ·分支跳转指令 | 第22-23页 |
| ·内存存取指令 | 第23页 |
| ·协处理器指令 | 第23页 |
| ·特权指令 | 第23-24页 |
| ·特殊功能指令 | 第24页 |
| ·32位指令编码方式 | 第24-25页 |
| ·跳转类型 | 第24页 |
| ·立即数类型 | 第24-25页 |
| ·寄存器类型 | 第25页 |
| ·寻址方式 | 第25-29页 |
| ·跳转类型编码指令寻址方式 | 第25页 |
| ·立即数类型编码指令寻址方式 | 第25-27页 |
| ·寄存器类型编码指令寻址方式 | 第27-29页 |
| ·帧栈布局 | 第29-30页 |
| ·本章小结 | 第30-31页 |
| 第4章 LLVM后端移植机制 | 第31-53页 |
| ·TableGen工具支持 | 第31-34页 |
| ·LLVM后端移植原理与方法 | 第34-52页 |
| ·目标机器全局描述 | 第35-36页 |
| ·目标机器注册实现 | 第36-37页 |
| ·寄存器集和寄存器类实现 | 第37-40页 |
| ·目标指令集的描述实现 | 第40-44页 |
| ·目标机器指令选择实现 | 第44-49页 |
| ·汇编打印的实现 | 第49-52页 |
| ·本章小结 | 第52-53页 |
| 第5章 CSKY后端移植的实现 | 第53-65页 |
| ·CSKY全局描述实现 | 第53-54页 |
| ·CSKY寄存器描述实现 | 第54页 |
| ·CSKY指令集描述实现 | 第54-56页 |
| ·定义指令格式与分类 | 第54-55页 |
| ·自定义节点 | 第55页 |
| ·定义Predicate类 | 第55页 |
| ·定义操作数 | 第55-56页 |
| ·定义指令与匹配 | 第56页 |
| ·CSKY指令选择实现 | 第56-58页 |
| ·CSKY汇编输出的MC层实现 | 第58-63页 |
| ·MC前端移植接口 | 第58-61页 |
| ·MC后端移植接口 | 第61-63页 |
| ·LLVM编译CSKY的实现 | 第63页 |
| ·系统测试 | 第63-64页 |
| ·本章小结 | 第64-65页 |
| 第6章 总结与展望 | 第65-66页 |
| 参考文献 | 第66-70页 |
| 攻读硕士学位期间主要的研究成果 | 第70页 |