LLVM原理与overview apple llvm 8.0

大部分内容参考以下内容,进行适当总结。
http://www.aosabook.org/en/llvm.htmlhttp://llvm.org/文中缩写定义在这里查找http://llvm.org/docs/Lexicon.html#the-llvm-lexicon
传统的编译器对代码编译分为三个部分,前端,优化器和后端;
前端用于对具体语言进行编译;优化器对前端生成的中间代码进行一般性的优化;后端针对不同的硬件平台将中间代码生成机器码。
在这个中间,其实前端和优化器是可以(也应该是)不变的,后端根据硬件选择对应的代码生成器。

LLVM的架构:前端,优化器和后端不同的地方在于作为项目初始的优化器和后端都针对一种统一的中间格式,也就是说所有的语言要使用LLVM都必须把自己编程程由LLVM定义的中间代码,成为LLVMIR。优化器对前端生成的LLVM IR进行优化,之后针对不同的平台生成代码。LLVM提供一个良好的接口使得可以自己创作语言,编写前端,并使用LLVM的后端进行编译。
LLVM一些著名的项目:
LLVM Core libraries :提供代码目标分离的优化器和针对多种不同cpu的代码生成器。Clang : LLVM的 C/C++/Objective-C代码编译器,提供快速编译(在debug模式下编译OC的时候比GCC快3+倍)。提供精确的错误和警告消息,provide a platform for building great source level toolsClang Static Analyzer :自动找到代码中的bug是使用CLang作为lib解析C/C++代码,搭建一系列工具的一个极好的例子
dragonegg :结合了LLVM的代码优化器与代码生成器。使得编译所有GCC前端支持的语言成为可能。
LLDB :使用LLVM和CLang提供一个本地的调试器。使用CLang ASTs 和 CLang expressionparser, LLVM JIT, LLVM disassembler等。比GDB在加载符号的时候省内存
LLVM原理与overview apple llvm 8.0
libc++ and libc++ ABI : 提供对C++标准库的实现,完整支持C++'0x.

  

爱华网本文地址 » http://www.aihuau.com/a/25101017/328146.html

更多阅读

团队管理原理与方法 团队管理方法

团队管理原理与方法―打造高绩效团队的途径与方法作者:王远星提纲:随着2001年12月12日中国正式加入WTO,中国的企业受保护的领域越来越少,他们将不得不与世界强劲企业站在同一舞台上进行激烈的市场竞争,而略显稚嫩的中国企业要想抗衡

李仕澂:玻尔“并协原理”与《八卦太极图》

玻尔“并协原理”与《八卦太极图》2015年09月29日 11:25来源:《周易研究》1994年第04期 作者:李仕澂(东南大学物理系) R.L.韦伯著《诺贝尔物理学奖获得者(1901~1984)》1)中介绍玻尔时说:“玻尔的名字是与下面两个原理分不开的。一个是

周三多吧_管理学原理与方法笔记! 管理学原理周三多教材

1 管理学原理与方法笔记我贴出来!管理学原理与方法》第一章管理与管理学第一节人类的管理活动一:人类活动的特点1:目的性:人类正是在为实现预期目的的活动中,在不断地劳动,思考,谋划,设计和组织管理的过程中,逐步进化的。2:依存性:人类的目的

声明:《LLVM原理与overview apple llvm 8.0》为网友薄荷冰分享!如侵犯到您的合法权益请联系我们删除