LLVM - 编译器后端-目标描述

目录

一:概述

二:为后端搭建环境

        M88k参考文献:

三: 向Triple类添加新的体系结构

四:扩展LLVM中的ELF文件格式定义

五:创建目标描述

        添加寄存器定义

        定义指令格式和指令信息

        为目标描述创建顶级(top-level)文件

六: 将M88k后端添加到LLVM

        修复可能的编译错误

七:实现汇编解析器

        实现 M88k 目标的 MCAsmInfo 类

        为 M88k 目标实现 MCCodeEmitter 类 

        为 M88k 目标实现指令打印类

        实现M88k特定的目标描述类 

        创建 M88k 汇编解析器类

        调试汇编器

八:创建反汇编器

九:总结


一:概述

        LLVM具有非常灵活的架构。我们可以向其添加新的目标后端。后端的核心是目标描述。在本篇文章中,我们将学习如何在LLVM中添加一个CPU后端。

        在本章中,我们将涵盖以下内容:
        • 为新的后端搭建环境,学习M88k CPU架构,并介绍从哪里可以找到所需的信息。
        • 将新架构添加到Triple类中,学习如何让LLVM识别新的CPU架构。
        • 扩展LLVM中的ELF文件格式定义,向处理ELF目标文件的库和工具添加对M88k特有重定位的支持。
        • 创建目标描述,运用我们对TableGen语言的知识来建模目标描述中的寄存器文件和指令。
        • 将M88k后端添加到LLVM,解释LLVM后端所需的数据结构。
        • 实现汇编器解析器,学习如何开发汇编器。
        • 创建反汇编器,学习如何创建反汇编器。

        到本篇文章结束时,我们将知道如何将新后端添加到LLVM。我们将获得在目标描述中开发寄存器文件定义和指令定义的知识,并且我们将知道如何从该描述中创建汇编器和反汇编器。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑不溜秋的

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值