LLVM 命名最早源自于底层虚拟机(Low Level Virtual Machine)的缩写,由于命名带来的混乱,目前LLVM就是该项目的全称。LLVM 核心库提供了与编译器相关的支持,可以作为多种语言编译器的后台来使用。能够进行程序语言的编译期优化、链接优化、在线编译优化、代码生成。LLVM的项目是一个模块化和可重复使用的编译器和工具技术的集合。LLVM是伊利诺伊大学的一个研究项目,提供一个现代化的,基于SSA的编译策略能够同时支持静态和动态的任意编程语言的编译目标。自那时以来,已经成长为LLVM的主干项目,由不同的子项目组成,其中许多正在生产中使用的各种 商业和开源的项目,以及被广泛用于学术研究。
LLVM最近一年来取得了长足的发展,clang基本上实现了对VisualStudio STL的兼容,也就是说clang可以使用VisualStudio C++ STL Header LIB开发程序(C的早就支持了),并且Google以LLVM为基础开发了Android Runtime(ART),PNACL,可以预见不久的将来,LLVM将得到蓬勃发展
LLVM 3.4 final 标签已经出现,如果要获取 LLVM 3.4 的代码,请使用 svn checkout 或 git clone 相应表标签。
svn:
Clang:http://llvm.org/svn/llvm-project/cfe/tags/RELEASE_34/final/
LLVM:http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_34/final/
Compiler-RT:http://llvm.org/svn/llvm-project/compiler-rt/tags/RELEASE_34/final/
clang-tools-extra:http://llvm.org/svn/llvm-project/clang-tools-extra/tags/RELEASE_34/final/
lld:http://llvm.org/svn/llvm-project/lld/tags/RELEASE_34/final/
lldb:http://llvm.org/svn/llvm-project/lldb/tags/RELEASE_34/final/
libcxx:http://llvm.org/svn/llvm-project/libcxx/tags/RELEASE_34/final/
如果在Windows上编译clang,x64虽然能够编译成功 且测试生成exe,但是程序假死的概率很高,x64可用性非常低。lld可以生成exe,但exe是不能执行的。
Windows 上VS预编译的二进制(只有clang):http://llvm.org/builds/ 这是个安装程序,可以用7z解压
Windows VS完全版 ClangOnWin :https://sourceforge.net/projects/clangonwin/
LLVM 3.4 发布日程:
Nov 19-Nov 24: Phase I Testing
Nov 25-Dec 1: Fix bugs from Phase I
Dec 2-Dec 8: Phase II Testing
Dec 9-Dec 15: Fix bugs form Phase II
Dec 16-Dec 22: Final Binaries Generated
Dec 23: Release Date
根据 LLVM 3.4 发布日程,也就是12月23日正式发布,现在已经将代码 final,鉴于圣诞节来临,官方网站最终退出3.4 Release 还要多等待几日,如果迫不及待地可以按照上面的方法获取代码自己编译,ClangOnWin提供了32位的预编译版本,集成 lld,Compiler-RT.
来自:开源中国社区

