指定module_方舟编译器学习笔记22 MAPLE IR和LLVM IR中module层面的信息对比

本文对比了MAPLE IR和LLVM IR的module层面信息,包括MAPLE IR的module ID、入口函数、类型导入和函数数量等特性,并与LLVM IR的Source Filename、Target Triple和Data Layout等进行比较。分析发现,MAPLE IR的文档描述更清晰,但目前侧重于Java和Arm64,随着前端和后端支持的增加,module信息可能需要调整。
摘要由CSDN通过智能技术生成

前文 方舟编译器学习笔记20 对比了MAPLE IR和LLVM IR的整体结构,通过对比二者可知,二者都有module这个概念,而且其内涵也是一致的,都是对应着一个compilation unit。在module之下都是一些全局的声明和函数声明,这部分是一个module的主要内容。除了这些之外,一个IR文件(通常就对应着一个module)还往往会带着一些module层面的信息。

MAPLE IR的module层面的信息在MapleIRDesign.md中有专门的一栏“Module Declaration”,里面包含了module层面包含的所有信息,具体如下:

cf393422beb25c4cab1a077e71600d13.png

LLVM IR中Module层面的信息并没有单独拿出来做一类,而是在文档LLVM Language Reference Manual 中的High Level Structure里混在一起介绍的,所以我根据自己的经验选了一些:

1、Source Filename

source_filename = "/path/to/source.c"

2、Target Triple

target triple = "x86_64-apple-macosx10.7.0"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值