当前位置:主页 > 科技论文 > 计算机论文 >

LLVM编译系统结构分析及ARCA3后端移植

发布时间:2021-10-28 07:21
  编译器移植机制的存在,使得微处理器厂商可以不必为新硬件平台开发全新的编译器,转而复用已有的可移植开源编译器,这对保留可移植编译器优异特性,减少厂商开发费用并缩短产品上市时间都有着重要的意义。本文基于伊利诺斯大学开源的LLVM编译器架构和我国具有自主知识产权的处理器ARCA3(方舟3),利用LLVM优异的可重定目标特性,实现了ARCA3处理器的后端移植,完善了ARCA3处理器开发设计平台的编译器工具链。整个移植过程可以分为LLVM编译系统结构分析、ARCA3体系结构分析和LLVM后端移植实现与系统总体测试三个部分。首先,从结构上对LLVM编译系统的整体架构进行剖析,介绍了LLVM的各个组成部分,提取其优于常规编译器架构的设计方法,并从结构支持角度详细地描述了其后端移植机制。其次,从数据组织、寄存器设置、指令集、帧栈布局和调用约束等方面对ARCA3体系结构进行解析,完善LLVM后端移植接口描述中接口类所需的信息。最后,结合LLVM后端移植机制与ARCA3体系结构,给出了移植的方法和过程,完成后端移植工作,并利用LLVM的测试文件,在汇编代码层次上对移植后的编译系统进行验证。最终生成的面向A... 

【文章来源】:哈尔滨工业大学黑龙江省 211工程院校 985工程院校

【文章页数】:60 页

【学位级别】:硕士

【文章目录】:
摘要
Abstract
第1章 绪论
    1.1 课题背景
    1.2 国内外研究现状
        1.2.1 程序设计语言的发展
        1.2.2 编译技术的发展
        1.2.3 编译器移植技术发展
        1.2.4 LLVM编译系统发展
        1.2.5 方舟系列处理器发展
    1.3 本文研究内容
    1.4 论文结构
第2章 LLVM编译系统与ARCA3 体系结构分析
    2.1 LLVM编译系统
        2.1.1 LLVM编译系统结构
        2.1.2 LLVM编译系统组成部分
    2.2 ARCA3 体系结构探索
        2.2.1 数据类型和组织形式
        2.2.2 寄存器
        2.2.3 指令集
        2.2.4 整数指令集
        2.2.5 帧栈布局
    2.3 本章小结
第3章 LLVM后端移植机制
    3.1 LLVM可重定目标特性的结构支持
        3.1.1 代码生成器结构支持
        3.1.2 后端移植接口设计支持
        3.1.3 TableGen工具支持
        3.1.4 自编译系统支持
    3.2 LLVM后端移植原理与方法
        3.2.1 目标机器全局描述
        3.2.2 目标机器寄存器描述
        3.2.3 目标机器指令集描述
        3.2.4 目标机器指令选择描述
        3.2.5 目标机器汇编输出器描述
    3.3 本章小结
第4章 ARCA3 后端移植的实现
    4.1 ARCA3 全局描述实现
    4.2 ARCA3 寄存器描述实现
        4.2.1 ARCA3 寄存器td描述实现
        4.2.2 ARCA3 寄存器C++描述实现
    4.3 ARCA3 指令集描述实现
        4.3.1 ARCA3 指令集td描述实现
        4.3.2 ARCA3 指令集C++描述实现
    4.4 ARCA3 指令选择实现
    4.5 ARCA3 汇编输出器实现
    4.6 ARCA3 编译系统支持实现
    4.7 系统总体测试
    4.8 本章小结
结论
参考文献
攻读学位期间发表的学术论文
致谢


【参考文献】:
期刊论文
[1]基于C6x平台的GCC编译器移植[J]. 刘飞,孙永节,孙海燕.  科技信息. 2010(07)
[2]GCC到Nios系统的移植研究与实现[J]. 吴克寿,任小西,李仁发,黎雷生.  湖南大学学报(自然科学版). 2007(08)
[3]软件流水领域二维数组的体差不等式测试算法[J]. 乔林,黄维通,孟威,汤志忠.  计算机工程. 2005(21)
[4]缓冲区溢出静态分析中的指针分析算法[J]. 张明军,罗军.  计算机工程. 2005(18)
[5]编译器前端构造工具及JLUCC的实现[J]. 金龙飞,刘磊.  吉林大学学报(信息科学版). 2005(04)
[6]GCC在高性能微处理器DSP和CPU上的移植[J]. 王国栋,侯朝焕.  计算机工程与设计. 2005(04)
[7]方舟CPU体系结构及其嵌入式SOC[J]. 张丽杰,吕少中.  现代电子技术. 2005(06)
[8]软件流水中的循环展开优化[J]. 李文龙,刘利,汤志忠.  北京航空航天大学学报. 2004(11)
[9]IA-64中软件流水失败的解决方法[J]. 林海波,李文龙,汤志忠.  清华大学学报(自然科学版). 2003(07)
[10]基于Range Test的交互式数据相关性分析技术[J]. 郑丰宙,陈文光,杨博,郑纬民.  清华大学学报(自然科学版). 2000(01)

博士论文
[1]面向高效能计算的编译关键技术:精度、性能与功耗[D]. 杨灿群.国防科学技术大学 2007

硕士论文
[1]LLVM编译系统结构分析与后端移植[D]. 董峰.上海交通大学 2007



本文编号:3462472

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3462472.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户ed43a***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com