摘要 | 第4-6页 |
Abstract | 第6-7页 |
第1章 引言 | 第10-14页 |
1.1 课题研究背景及意义 | 第10-11页 |
1.2 国内外研究水平和现状 | 第11-13页 |
1.3 主要研究内容及基本框架 | 第13-14页 |
第2章 LLVM编译系统分析 | 第14-29页 |
2.1 LLVM简介 | 第14-15页 |
2.2 LLVM组成部分 | 第15-18页 |
2.2.1 LLVM中间表示 | 第15-17页 |
2.2.2 集成库 | 第17页 |
2.2.3 工具集 | 第17-18页 |
2.3 LLVM编译流程 | 第18-20页 |
2.3.1 LLVM前端 | 第18-19页 |
2.3.2 LLVM中端 | 第19-20页 |
2.3.3 LLVM后端 | 第20页 |
2.4 LLVM的后端移植机制 | 第20-25页 |
2.4.1 TableGen工具支持 | 第21-22页 |
2.4.2 通用代码生成器结构支持 | 第22-23页 |
2.4.3 后端移植接口支持 | 第23-24页 |
2.4.4 自编译系统支持 | 第24-25页 |
2.5 LLVM与传统编译器的对比与分析 | 第25-29页 |
第3章 目标处理器STX体系结构分析 | 第29-38页 |
3.1 数据类型、存储对齐和组织形式 | 第29-30页 |
3.2 寄存器分析 | 第30-32页 |
3.2.1 通用寄存器 | 第30-31页 |
3.2.2 控制寄存器 | 第31-32页 |
3.3 指令分析 | 第32-33页 |
3.4 调用约定 | 第33-35页 |
3.5 汇编语言 | 第35-38页 |
3.5.1 通用语法 | 第35-37页 |
3.5.2 汇编输出格式 | 第37-38页 |
第4章 面向专用处理器STX的后端移植实现 | 第38-63页 |
4.1 全局描述实现 | 第39-40页 |
4.2 寄存器描述实现 | 第40-46页 |
4.2.1 td文件实现 | 第42-44页 |
4.2.2 C++描述实现 | 第44-46页 |
4.3 指令集描述实现 | 第46-54页 |
4.3.1 STX.td文件的实现 | 第46-47页 |
4.3.2 STXInstrFormats.td文件实现 | 第47-49页 |
4.3.3 STXInstrInfo.td文件实现 | 第49-54页 |
4.4 指令选择器实现 | 第54-58页 |
4.4.1 指令合法化 | 第55-57页 |
4.4.2 指令匹配 | 第57-58页 |
4.5 汇编输出描述实现 | 第58-59页 |
4.6 子系列支持实现 | 第59-61页 |
4.7 JIT支持实现 | 第61页 |
4.8 编译系统支持实现 | 第61-63页 |
第5章 编译与测试 | 第63-71页 |
5.1 后端注册 | 第63页 |
5.2 环境设置与后端生成 | 第63-65页 |
5.3 编译器测试 | 第65-71页 |
5.3.1 指令编码测试 | 第65-66页 |
5.3.2 功能测试 | 第66-71页 |
结论 | 第71-72页 |
致谢 | 第72-73页 |
参考文献 | 第73-76页 |
攻读硕士期间的主要研究成果 | 第76页 |