1、直接将 .c 文件编译成可执行文件
clang test.c -o test
2、将 .c 文件 转换成 AST 抽象语法树
clang -Xclang -ast-dump -fsyntax-only test.c
3、将 .c 文件转换成 llvm IR (这个是无优化的方式)
clang -S -emit-llvm test.c
这时会生成一个 test.ll的文件
4、对 llvm IR 进行优化
方法1:直接在 源文件 .c 文件生成优化后的 IR
clang -S -emit-llvm -03 test.c
方法2:先是生成无优化的 IR,然后将无优化的IR进行优化
clang -ccl -disable-O0-optnone -S -emit-llvm hello.c
opt hello.ll -S -O3
5、将 llvm IR 转换成 汇编代码
llc test.ll
会生成一个 test.s 文件
6、不同类型的 llvm IR 之间的转换
转载自:https://evian-zhang.github.io/llvm-ir-tutorial/01-LLVM%E6%9E%B6%E6%9E%84%E7%AE%80%E4%BB%8B.html