LLVM入门

LLVM的IR中间层面的抽象很好的解耦了高级语言和机器环境,不想gcc N * M的复杂度。

同时我们熟知的clang只不过是llvm编译组件的前端。

LLVM的IR可以解释执行,同时也可以编译执行。数据库编译查询可以通过两者混用来提高效率

LLVM入门_第1张图片

LLVM入门_第2张图片

所以IR长什么样呢

LLVM入门_第3张图片

LLVM入门_第4张图片

LLVM入门_第5张图片

LLVM入门_第6张图片

前端要注意有语义分析,这可能就是C++说的语义吧。

前端生产AST树通过各种优化pass生成DAG,然后通过我们的后端生产汇编代码

LLVM入门_第7张图片

后端过程

LLVM入门_第8张图片

LLVM入门_第9张图片

最后来张图总结一下

LLVM入门_第10张图片

你可能感兴趣的:(编辑器)