我正在编写一个 LLVM 通行证,我在其中通过调用llvm::CloneFunction
. 现在我还想在模块中插入这些功能。我怎样才能做到这一点?
问问题
3533 次
3 回答
8
Function::Create
使用或通过其他方式创建新功能。AFunction
的构造函数接受插入新函数的模块。- 使用CloneFunctionInto将一个函数克隆到该新函数中,或者只是复制您需要的 BB。
于 2013-02-04T13:31:12.617 回答
0
CloneFunction
会自动将新函数插入到旧函数的模块中。从doxygen:
返回指定函数的副本并将其添加到该函数的模块中。
于 2022-02-11T11:25:05.207 回答
-1
您可以使用 CloneFunction 并将其插入到模块中,如下所示
Function* duplicateFunction = CloneFunction(F, VMap,
/*ModuleLevelChanges=*/false);
F->getParent()->getFunctionList().push_back(duplicateFunction);
从 llvm 源中的 PartialInlining.cpp 窃取的示例。
于 2014-08-05T06:26:59.847 回答