
llvm
文章平均质量分 82
ychw365
这个作者很懒,什么都没留下…
展开
-
LLVM 源码分析 (一) pass 类
Pass interface - Implemented by all 'passes'. Subclass this if you are an interprocedural optimization or you do not fit into any of the more constrained passes described below. 摘取自pass.h 更清原创 2013-03-28 17:26:30 · 4731 阅读 · 0 评论 -
LLVM 源码分析 (二)ModulePass 类
上一篇写的是关于pass 类 这个类是一个抽象类 具体实现是通过例如modulePass FunctionPass实现的本文将重点介绍module pass 这个Pass 可以操作整个module 是以文件进行区分的。ModulePass 可以操作Module 下的大部分 基本是万能的但是不是最方便的。我们需要根据需要选择 FunctionPass LoopPass 等vs20原创 2013-03-29 13:49:52 · 2982 阅读 · 0 评论 -
LLVM 源码分析(四)FunctionPass
FunctionPass 主要增加doInitaliztion() ;doFinalization();runOnFunction();1.bool FunctionPass::doInitialization(Module &) { // By default, don't do anything. return false;}bool Functio原创 2013-04-01 14:44:01 · 3705 阅读 · 1 评论 -
LLVM 源码分析(三)ImmutablePass
//===----------------------------------------------------------------------===///// ImmutablePass class - This class is used to provide information that does/// not need to be run. This is useful原创 2013-04-01 14:40:47 · 1745 阅读 · 0 评论 -
LLVM 源码分析(五)BasicBlockPass
BasicBlockPass 主要增加doInitaliztion(Function &) ;doFinalization(Function &);runOnBasicBlock();注意参数为Funtion & 和FunctionPass 的Module 引用有区别其实都和前面相似 BasicBlockPass 比FunctionPass粒度更小 使用方式如下原创 2013-04-01 16:02:01 · 4675 阅读 · 0 评论