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的官方介绍

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容