首页
社区
课程
招聘
[原创]入门编译原理之LLVM IR转汇编代码
发表于: 2023-9-6 23:26 3562

[原创]入门编译原理之LLVM IR转汇编代码

2023-9-6 23:26
3562

接上篇[原创]入门编译原理之前端对接LLVM IR,本篇将LLVM IR转换成汇编代码。本文目标明确,就直贴代码了。

为了方便与IR进行对应,在使用llc进行转换时,选项使用无优化。

1
llc -march=x86 -filetype=asm -O0 LLVM_IR.ll -o simple.asm

得到的simple.asm代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    .text
    .def    @feat.00;
    .scl    3;
    .type   0;
    .endef
    .globl  @feat.00
.set @feat.00, 1
    .file   "LLVM_IR.ll"
    .def    _main;
    .scl    2;
    .type   32;
    .endef
    .globl  _main                           # -- Begin function main
    .p2align    4, 0x90
_main:                                  # @main
# %bb.0:                                # %entry
    movl    $4, %eax
    subl    $1, %eax
    imull   $3, %eax, %eax
    shll    $1, %eax
    addl    $2, %eax
    retl
                                        # -- End function

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (1)
雪    币: 3070
活跃值: (30876)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
mark
2023-9-7 09:20
1
游客
登录 | 注册 方可回帖
返回
//