llvm 初探

GCC/G++ 如此成熟,本来以为可能下个20年我们还是用它,但最近看 llvm 似乎大有取代gcc 和 g++ 的架势


1)Apple 编程已经把 llvm 提供developer 使用 

2)  开源 3D 架构,Mesa3D 可以使用 llvm 引擎 (当没有 GPU时, Mesa 解释 glsl并执行,速度慢,如果使用 LLVM JIT, 速度大大提升< 没有用llvm,只能用一个CPU核,打开llvm可以用多个核) 

3)大数据分析引擎 Impala引入 llvm 提高速度。(估计是解析其提供的类 SQL 语义)

4) Android 利用 llvm 跑 RenderScript


后端:

llvm 可以运行是  llvm 定义的 中间代码, 这个中间代码 可以 编译为  x86, arm, mips 等目标机或 GPU 的 native 代码。

相对于 gcc/g++  llvm 的优势就是可以以 lib形式存在,如此就可以集成到各系统中了


前段:

针对C语言, llvm的前端是 CLANG, 基本支持了 最新的 C/C++ 语言标准, 生成代码比 g++慢一些(可能10%); 但CLANG 是模块化的, 可以对庞大的项目进行重构。


参考资料 

主站: http://llvm.org/

开发者谈架构: http://aosabook.org/en/llvm.html

Pyhon 使用 llvm 的 example: http://www.mdevan.org/llvm-py/examples.html

语法制导编译和代码生成使用 llvm学习资料 : http://www.llvm.org/docs/tutorial/LangImpl1.html 

其它

http://homepages.uni-paderborn.de/plessl/lectures/2012-Codesign/slides/02-Compiler-LLVM.pdf

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值