LLVM每日谈之十二 LLVM的源码分析之Pass相关

本文探讨了在深入学习LLVM时如何着手分析源码,重点关注Pass相关部分。作者介绍了Pass类中用于交互的关键函数getAnalysisIfAvailable()、getAnalysis()和getAnalysisID(),这些函数在处理Pass间交互时常见。
摘要由CSDN通过智能技术生成

作者:snsn1984

题记:在学习LLVM的过程中,要想学的更加深入,掌握更多的技能,LLVM的源码是必须要读的,但是在这么多的源码中,从哪里下手?很容易让人找不到头脑,本文这里就先拿出几个Pass相关的源码文件进行分析。


1.Pass.h
源码中的位置:llvm源码/include/llvm/Pass.h
网络上位置: http://llvm.org/docs/doxygen/html/Pass_8h_source.html
此头文件的内容:此头文件主要对和Pass相关的几个类进行了声明。主要有Pass、ModulePass、ImmutablePass、FunctionPass、BasicBlockPass这几个类。之前在关于Pass的博文里也介绍过一些和Pass相关的知识,而这几个类正是LLVM的Pass框架所最常用的几个类,在Pass的编写或者修改的工作中,基本上都是在和这几个类打交道,所以对于这几个类要想有一个深的了解,这个头文件是必须读的。
ModulePass、ImmutablePass、FunctionPass、BasicBlockPass这几个类都是Pass的子类,也是在写Pass的时候最容易直接用到的类。自己编写LLVM的Pass的时候,使用的最多是FunctionPass和ModulePass
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值