给定llvm::CallInst *
,我如何告诉内线插入此特定调用。我可以将目标函数标记为AlwaysInline
,这将内联调用,但也将内联每个调用。在发出特定呼叫时,也许有某种方法可以调用它?内联基本块中的所有调用也可以。
答案 0 :(得分:3)
您可以使用llvm/Transforms/Utils/Cloning.h
中的InlineFunction实用程序。
它可以接受CallInst*
作为参数:
llvm::CallInst* call = /* ... */;
llvm::InlineFunctionInfo ifi;
llvm::InlineFunction(call, ifi);