我正在写一个LLVM传递,我通过调用llvm::CloneFunction
来克隆一些函数。现在我也想在模块中插入这些功能。我怎么能这样做?
答案 0 :(得分:6)
Function::Create
或其他方式创建新功能。 Function
的构造函数接受一个插入新函数的模块。答案 1 :(得分:0)
您可以使用CloneFunction,然后将其插入模块中
Function* duplicateFunction = CloneFunction(F, VMap,
/*ModuleLevelChanges=*/false);
F->getParent()->getFunctionList().push_back(duplicateFunction);
从llvm源中的PartialInlining.cpp中窃取的示例。