欢迎访问个人网络日志🌹🌹知行空间🌹🌹
LLVM
介绍
和GCC一样,LLVM也是编译器,GCC是由GNU开发的编程语言编译器,是GNU项目的关键部分,也是自由的类Unix及苹果电脑Mac OS X操作系统的标准编译器。
LLVM本身不是缩略词,项目的名称就叫这个。该项目于2000年由美国伊利诺伊大学 University of Illinois厄巴纳-香槟分校的Vikram Adve和Chris Lattner发起的,他们的目标在于提供一种基于静态单赋值SSA 现代编译策略能够支持任意编程语言的静态和动态编译的工具。LLVM首次发布是在2003年。从那时起,LLVM 已经发展成为一个由许多子项目组成的项目集,其中许多子项目广泛应用于商业软件,开源软件和学术研究中。LLVM的开源协议为:“Apache 2.0 License with LLVM exceptions”
LLVM包含的主要子工程有:
-
LLVM Core Libraries,LLVM核心库提供了现代的独立于源码和目标的优化器,同时支持生成许多流行CPU的代码,这些库围绕一个明确的中间代码表示来构建,因此使用LLVM可以轻松地创建新的语言。 -
Clang,Clang是LLVM原生的,主要用于C,C++和Objective-C的编译器。Clang Static Analyzer和clang-tidy是Clang前端工具,用于静态代码分析,可以自动的检测定位代码中的bug。 -
LLDB,LLDB是一个由Clang和LLVM支持的用于调试C,C++,Objective-C和Objective-C++程序的交互式调试器。 -
Polly,Polly是一个优化器插件,它使用数据流分析来提供高级优化。 -
MLIR,MLIR是一个用于编译器和运行时系统的中间表示形式。

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



