LLVM IR入门笔记

参考文章:GitHub - Evian-Zhang/llvm-ir-tutorial: LLVM IR入门指南

第一章 LLVM IR入门指南

clang test.c -o test
#经历了什么步骤

## 1. dump x.c -> ast
clang -Xclang -ast-dump -fsyntax-only test.c

##2.ast -> llvm IR
clang -S -emit-llvm test.c  
(clang -cc1 -disable-O0-optnone -S -emit-llvm test.c)

## 3. llvm IR -> llvm IR
opt test.ll -S --O3 
或者
clang -S -emit-llvm -O3 test.c

## 4. llvm IR -> asm
llc test.ll -o test.s

LLVM IR 是

- 内存中的IR

- IR也可以dump成 text/binary

clang -S -emit-llvm test.c -o test.ll    # dump成可读的llvm ir

clang -c -emit-llvm test.c -o test.bc    # dump成bin的llvm ir

也可以用这个来相互转换

llvm-as test.ll -o test.bc

llvm-dis test.bc -o test.ll

第二章 hello world

clang llvm.ll -o main

./main 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值