LLVM学习笔记①

LLVM标识符:
(两种类型)
1、全局标识符(函数、全局变量),以‘@’字符开头
2、本地标识符(寄存器名称、类型),以‘%’字符开头
(三种格式)
1、有命名值:表示带有浅醉的字符串,例如%foo, @DivisionByZero, %a.really.long.identifier。实际上使用的是正则表达式’[% @][-a-zA-z . ] [ − a − z A − Z ._][-a-zA-Z .][azAZ._0-9]*’
2、未命名值:表示为带前缀的无符号数值,例如%2,@3
3、常量
这样的话可以避免与系统保留字冲突。
例子:

%result = mul i32 %X, 8   ;乘法命令
%result = shl i32 %X, 3	;左移三
%0 = add i32 %X, %X           ; yields i32:%0
%1 = add i32 %0, %0           ; yields i32:%1
%result = add i32 %1, %1

由以上三种方法可以总结:
1、指令以遇到’;‘结尾,注解以’;'开头
2、当计算结果没有被赋值给指定命名值时,将创建未命名的临时变量
3、未命名的临时变量序号是按顺序编号的,从0开始,基本块以及未命名的函数参数都会被编号
它还显示了我们在本文档中遵循的约定。在演示指令时,我们将在指令后面加上注释,注释定义生成的值的类型和名称。

翻译自
[1]: https://llvm.org/docs/LangRef.html#abstract

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值