1、简介
- LLVM(Low Level Virtual Machine)是一个开源的编译器基础设施项目,最初由克里斯·拉特纳(Chris Lattner)在2000年开发,后来在苹果公司、Google、Mozilla、Intel等多家公司和社区的贡献下不断发展壮大。LLVM 提供了一系列可重用的编译器和工具链技术组件,用于开发编译器前端和后端。
- 组成部分:
- LLVM Core Libraries:核心库,包括中间表示(IR)、类型系统、指令定义等。
- Clang:基于 LLVM 的 C、C++ 和 Objective-C 编译器前端。
- LLD:基于 LLVM 的链接器。
- LLVM IR:中间表示语言,用于描述程序的高级抽象,既可以用作前端和后端的接口,又可用于中间优化。
- LLVM Passes:优化和转换代码的各种 passes,包括循环优化、数据流分析、寄存器分配等。
- LLDB:基于 LLVM 的调试器。
- MLIR(Multi-Level Intermediate Representation):支持多层次中间表示,用于更复杂和异构的计算模型。
2、安装clang
- 下载LLVM并安装。下载地址:Releases · llvm/llvm-project (github.com)