LLVM Basic
想要理解Xcode的编译过程,想要学习编译原理的实际使用,LLVM是必经之路。
最开始,LLVM是Low Level Virtual Machine的缩写。但是后来,随着LLVM的发展,用Compiler Infrastructure形容它更为合适。
What is LLVM?
和其他编辑器相比,LLVM最大的不同是它的三段式结构(前端、优化器和后端)。
- 前端:接收源代码,产生IR
- 优化器:接收IR,产生优化后的IR
- 后端:接收优化后的IR,产生机器码
![LLVM](https://i-blog.csdnimg.cn/blog_migrate/ae9c235651c162fb9dd7569b0b726b64.png)
LLVM有多个Pass小模块。每一个Pass模块可以由优化器加载执行。
How to install on MacOS?
# recommanded
brew install llvm
测试用例可以参考 https://blog.csdn.net/qq_31157999/article/details/78906982 这个文章 注意其中clang -03 -emit-llvm test.c -c -o test.bc命令
- -03的这个参数不同电脑是不一样的,目前最新的clang应该是到-10了
- clang和-03中间是没有空格的