LLVM ,命名最早源自于底层虚拟机器(LowLevel Virtual Machine)的缩写。它是一个编译器的基础建设,以C++写成。它是为了任意一种编程语言写成的程式,利用虚拟技术,创造出编译时期,链结时期,执行时期以及“闲置时期”的最佳化。它最早是以 C/C++为实作对象,目前它支援了包括Objective-C、Fortran、Ada、Haskell、Java bytecode、Python、Ruby、 ActionScript、GLSL 以及其他语言。
LLVM 专案起源于2000年伊利诺伊大学厄巴纳-香槟分校 维克拉姆·艾夫(Vikram Adve) 与 克里斯·拉特纳(Chris Lattner) 的研究发展而成,他们想要为所有静态及动态语言创造出动态的编译技术。LLVM是以 BSD 授权来发展的开源码软件。在2005年,苹果电脑雇用了克里斯·拉特纳及他的团队,为了苹果电脑开发应用程式系统
Clang (发音为 /ˈklæŋ/ 类似英文单字 clang) 是一个 C、C++ 和 Objective-C 编程语言的编译器前端。它采用了底层虚拟机(LLVM)作为其后端。它的目标是提供一个GNU编译器套装(GCC)的替代品。作者是克里斯·拉特纳,在苹果公司的赞助支持下进行开发,而源代码授权是使用类 BSD 的开源授权。
Clang 专案包括 Clang 前端和 Clang 静态分析器等。