LLVM & Clang

LLVM & Clang

LLVM

DragonMediu

LLVM(Low Level Virtual Machine)

是一个底层虚拟机,但是现在是一系列编译器和工具链的合集,而且是模块化和可重用的。

LLVM 的结构

传统的编译器分为三个阶段:前端,优化,后端

Untitled

LLVM 也是三段式结构。

如果要支持一个新的硬件设备,只需要实现一个新的后端。要支持一个新的语言,只需要实现一个新的前端。
优化阶段 针对了统一的 LLVM IR,LLVM IR 主要有三种格式(完全等价)

  • 在内存中的编译中间语言
  • 硬盘上存储的二进制中间语言(.bc)
  • 可读的中间格式(.ll)
  1. Demo - hello.c
    1

生成一个二进制的 .bc 文件
生成一个 .ll 文件

作者

shouyi.www

发布于

2019-12-04

更新于

2025-01-30

许可协议

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×