LLVM独立编译自己的Pass

背景

对于如何编写第一个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的官方介绍

你可能感兴趣的:(LLVM独立编译自己的Pass)