共 25 篇文章
显示摘要每页显示  条
LLVM每日谈之十六 LLVM的学习感悟LLVM每日谈之十六 LLVM的学习感悟。Terminate Those Blocks!Terminate your blocks early.BasicBlock*MyCompiler::handle_if( BasicBlock* bb, SetCondInst* condition ){ // Create the blocks to contain code in the structure of if/then/else BasicBlock* then = new BasicBlock();Note that the "e...
LLVM每日谈之十五 LLVM自带的examplesLLVM每日谈之十五 LLVM自带的examples.在LLVM源码的目录下,有一个目录叫做examples,这个目录下边有几个LLVM的例子,初学者一般不会太关 注这些例子,但是这些例子确实是精华中的精华,在LLVM的学习过程中不可避免的要对这些例子所涉及内容要精通。llvm/examples/Kaleidoscope 这个例子和后面的OCaml-Kal...
LLVM每日谈之十四 如何给Clang添加一个属性LLVM每日谈之十四 如何给Clang添加一个属性每次内容主要出自文档: “Clang” CFE Internals Manual.--- cfe/trunk/include/clang/Basic/Attr.td2011/01/25 19:39:31124216+++ cfe/trunk/include/clang/Basic/Attr.td2011/01/25 20:08:12124217@@ -232,6 +232,11 @@ let Spellings = [];= 0) {+ S.Dia...
LLVM每日谈之十三 使用LLVM自带的PASS.相信大家也可以从LLVM源码中找到很多的PASS,这些PASS太多,他们每个到底是做什么用?在文档 http://llvm.org/docs/Passes.html 中,列出了所有的PASS的命令行参数以及这个PASS主要是做什么用的。另外这个列表 中的Pass的源码主要在llvm源码/lib/Analysis和llvm源码/lib/Transforms两个目录下,大家可以根...
LLVM每日谈之十二 LLVM的源码分析之Pass相关LLVM每日谈之十二 LLVM的源码分析之Pass相关。之前在关于Pass的博文里也介绍过一些和Pass相关的知识,而这几个类正是 LLVM的Pass框架所最常用的几个类,在Pass的编写或者修改的工作中,基本上都是在和这几个类打交道,所以对于这几个类要想有一个深的了解,这个 头文件是必须读的。自己编写LLVM的Pas...
LLVM每日谈之十一 编译器相关学习资料推荐。如果真是打算好好的学编译器,建议买本英文版的,读的时候,不明白的再看看中文版的电子版。这些资料中3、4、5覆盖的范围主要在链接和加载上面,这是一般的讲编译的书不会覆盖的,但是真正的编译器不光进行了编译,必然包含一个链接的过程,所以这个过程对了解整个的编译器的工作流程有着相当重要的...
LLVM每日谈之十 LLVM Test简介。如果已经编译好的LLVM源码下还包含了Clang,也就是说在编译LLVM之前,已经将Clang的远方放置到LLVM源码/tools目录下了,那么在编译成功之后,就可以使用make check-all,这样可以运行LLVM和Clang的所有的regression tests。如果在运行llvm-lit的三个时候碰到了bash: ./llvm-lit: Permission denied 这个错误,那...
LLVM每日谈之九 谈LLVM的学习。(注:这里对LLVM的学习,不是指的是学习LLVM的使用,而是主要针对基于LLVM实现编译功能。)1、在开始学习LLVM之前,要有一个心里准备。因为编译原理的知识都是基础中的基础,如果那些知识都 弄不太明白的话,分析LLVM的源码和流程、以及修改LLVM源码,就成了一个美丽的扯。提问的话,可以在LLVM的邮件列表里,LL...
LLVM每日谈之八 PASS例子分析。之前已经 简单的介绍过怎么样去运行PASS(地址:http://blog.csdn.net/snsn1984/article/details/8160696),并且以hello PASS为例进行了运行,可以输出hello 和函数的名字。这里的首先输出了:Hello,然后通过LLVM::Function类的getName()的成员函数取得了函数的名字进行输出。这个函数里面的,而这个函数是结...
LLVM每日谈之七 Clang.苹果公司认为GCC的前端越来越不好 用,并且不能给苹果的IDE提供很好的服务,所以他们转向了LLVM,Clang的定位就是替代GCC的前端。Clang需要单独下载源码,放到LLVM Source/tools下面,然后整个编译LLVM才行。开始学习Clang文档的地 址: http://clang.llvm.org/get_started.html 。从这里把编译Clang需要的LLVM,Clang,C...
帮助 | 留言交流 | 联系我们 | 服务条款 | 下载网文摘手 | 下载手机客户端
北京六智信息技术股份有限公司 Copyright© 2005-2024 360doc.com , All Rights Reserved
京ICP证090625号 京ICP备05038915号 京网文[2016]6433-853号 京公网安备11010502030377号
返回
顶部