LLVM初步了解
LLVM是构架编译器(compiler)的框架系统。
用于优化以任意程序语言编写的程序的编译时间、链接时间、运行时间以及空闲时间。
LLVM已经被 IOS开发工具、Xilinx Vivado、Facebook、Google等采用。
LLVM 核心库提供了与编译器相关的支持,可以作为多种语言编译器的后台来使用。
能够进行程序语言的编译期优化、链接优化、在线编译优化、代码生成。
LLVM的项目是一个模块化和可重复使用的编译器和工具技术的集合。
对于普通的开发人员来说,LLVM计划提供了越来越多的可以使用、编译器以外的其他工具。
例如代码静态检查工具LLVM/Clang Static Analyzer,是一个 Clang 的子项目,能够使用同样的 Makefile 生成 HTML 格式的分析报告。
对关注编译技术的开发人员,LLVM提供了很多优点:
现代化的设计;
LLVM的设计是高度模块化的,使得其代码更为清晰和便于排查问题所在;
语言无关的中间代码;
一方面,这使得透过LLVM能够将不同的语言相互连结起来;也使得LLVM能够紧密地与IDE交互和集成;
作为工具和函数库;使用LLVM提供的工具可以比较容易地实现新的编程语言的优化编译器或VM,或为现有的编程语言引入一些更好的优化/调试特性。
如何使用