LLVM项目是一套工具的集合,它包括模块化、可复用的编译器及一些列工具链技术。
LLVM最开始是Low Level Virtual Machine的简称,但如今它并非传统意义上的虚拟机。因此LLVM这个名字并不是Low Level Virtual Machine的缩写,而是一个单词。架构
LLVM项目开始于伊利诺伊大学的一个研究项目,这个研究项目的目标是创造一个现代化、基于SSA编译策略同时支持静态编译和动态编译的编译器。此后LLVM项目成为一个包含多个子项目的大项目。模块化
LLVM主要的子项目包括:工具
兼容多种CPU的机器码生成库。调试
基于LLVM的一个C/C++/Objective C编译器,它的编译速度是GCC的三倍。get
基于LLVM的调试器,相似GDB编译器