我编写了与某些功能优化相关的新变换通道,并将其贡献给LLVM。 但Writing an LLVM Pass被描述为使用动态LLVM可加载模块(.so扩展名)。
我想在add_llvm_library
中使用add_llvm_loadable_module
而不是CMakeLists.txt
编写LLVM传递。
我可以做吗?如果是,怎么样?
答案 0 :(得分:1)
虽然我不确定你为什么要这样,但this documentation section可能会回答你的问题。只需使用add_library()
替换该代码段中的add_llvm_library()
来电。
您还可以开发树中传递。为此,请将您的来源放在lib/Analysis
的某个位置,然后将其列在lib/Analysis/CMakeLists.txt
中。这样你的传递就会编译成LLVM本身。
从我的POV中,使用add_llvm_loadable_module()
开发源树的传递更方便。