LLVM独立编译自己的Pass
2018-09-06 本文已影响20人
养皮卡丘的琪酱
背景
对于如何编写第一个LLVM Pass不作赘述,详见LLVM官网给出的文档。
现在的问题主要是,文档上给出的示例是放在LLVM源文件夹下,编译的话容易污染LLVM原始的库。那么如何将自己在独立目录下编写的Pass编译成.so文件,然后通过opt命令加载后进行使用呢?
独立目录编译Pass
在终端输入如下命令:
$ `llvm-config --bindir`/clang -shared -fPIC `llvm-config --cxxflags` `llvm-config --ldflags` test.cpp -o libtest.so
其中:
·llvm-config –bindir·/clang
表示clang的位置
llvm-config --cxxflags
列出llvm中的编译选项
llvm-config --ldflags
列出llvm中的链接选项
-shared
和 -fPIC
是为了生成so文件。
其他
更多llvm-config具体参数参见:llvm-config的官方介绍