LLVM 3.0 发布,编译器架构

红薯
 红薯
发布于 2011年12月02日
收藏 17

LLVM 3.0 正式版发布了,新版本最大的跨越就是一个全新的寄存器分配器,可提供大幅度的性能提升;完全支持全新 C++ 内存模型中的原子操作;改进了 MIPS 后端;支持 gprof/gcov 风格的 profile 信息。

更多详情请看发行说明

LLVM从本质上来说,它不是一个编译器.它是一个编译器的架构.通俗的来说,它实现了一个库,在这个库上,可以很容易的实现不同的编译相关的程序,当然,编译器自然是其中最重要的一个. 当然其他像编译时间的代码分析也是很容易实现的。

LLVM定义了一个虚拟机的语言。然后再这个语言的基础上,实现了很多的功能,例如大多数的优化都是基于这个虚拟机的语言来进行的。(这是和GCC很大的 不同,我想也是delphij提到的更好的优化的原因.) 你可以这么理解,LLVM就是建立了很多个积木块,写编译器就是搭积木。

LLVM-GCC就是一个积木块,它把C代码编译成LLVM的语言。

LLVM-GCC 模块 => LLVM CODE
-> optimize
-> xxxx 不同的积木块
x86代码生成模块binary <=

这样,我们写两个积木就实现了一个编译器。如果要不同的平台,我们换最后那个。不同的语言,我们换第一个。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:LLVM 3.0 发布,编译器架构
加载中

最新评论(8

老盖
老盖
这个东西看起来很牛X的样子
xunxun
xunxun
DragonEgg3.0插件我也移植到Windows平台
http://code.google.com/p/pcxllvm/downloads/list
卢温禾
卢温禾
希望中文资料越来越多
LinkerLin
LinkerLin
XCode又要升级啦~哈哈~
Apple就是牛!
asdfsx
asdfsx
看上去是个很有趣的项目
asdfsx
asdfsx
这个通用的编译器架构,就是说任何一种语言搭配相应的模块就可以进行编译执行?不知道我理解的对不对.........
jojoppeng
jojoppeng
呵呵 好东西没人顶啊 我顶~~
Jackarain
Jackarain
这个牛X.
返回顶部
顶部