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 に答える