2

我正在编写自己的 LLVM 通行证,它修改了 LLVM 位码。在生成位码时,我想禁用函数内联,但是当我完成修改位码时,我想调用执行函数内联的传递。这可以做到吗。如果是,如何?

为了更好地理解我在说什么,请查看以下代码。

bool MyBitCodeModifier::runOnModule(Module &M)
{
   // Here is the code of my pass which modifies bitcode
   // I need to call inline pass here
}
4

1 回答 1

1

对于内联,您不需要调用通行证。改为使用InlineFunction。您可以在 中找到定义include/llvm/Transforms/Utils/Cloning.h

但是如果你坚持在你的之后调用内联通行证,你可以修改PassManager为你想要的运行通行证。

于 2012-08-18T09:44:24.087 回答