LLVM每日谈之十三 使用LLVM自带的PASS

做者:snsn1984 html

PS:最近一段时间,投入在LLVM上的时间有些减小。差点把对它的研究断掉,今天开始继续。对LLVM的研究须要很长一段时间的坚持不懈才能够完全搞明白。 工具

前面已经介绍过如何写本身的PASS,而且也针对一个简单的PASS进行了分析和介绍。相信你们也能够从LLVM源码中找到不少的PASS,这些PASS太多,他们每一个究竟是作什么用?如何去调用这些系统已经有的PASS?这就是此次每日谈要关注的问题。 测试

在文档 http://llvm.org/docs/Passes.html 中,列出了全部的PASS的命令行参数以及这个PASS主要是作什么用的。下面来实际进行测试下。
在编译好的bin/目录下,使用clang生成一个.bc文件做为例子。而后使用opt工具:
./opt -print-module <test.bc > /dev/null
这里选择的是-print-module,对于它的介绍以下:
This pass simply prints out the entire module when it is executed.

这个文档中的其余Pass也是相似的。本身不但能够在这个列表里找到本身须要的Pass,也能够经过这个列表来熟悉这些Pass。另外这个列表 中的Pass的源码主要在llvm源码/lib/Analysis和llvm源码/lib/Transforms两个目录下,你们能够根据pass的名字 本身去找。
相关文章
相关标签/搜索