入门编译原理之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
|
|