接上篇,本篇将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
.p2align
4
,
0x90
_main:
movl $
4
,
%
eax
subl $
1
,
%
eax
imull $
3
,
%
eax,
%
eax
shll $
1
,
%
eax
addl $
2
,
%
eax
retl
|
更多【入门编译原理之LLVM IR转汇编代码】相关视频教程:www.yxfzedu.com