C++ 如何在LLVM模块中插入函数
我正在编写一个LLVM过程,通过调用C++ 如何在LLVM模块中插入函数,c++,llvm,C++,Llvm,我正在编写一个LLVM过程,通过调用LLVM::CloneFunction克隆一些函数。现在我还想在模块中插入这些函数。我该怎么做? 使用function::Create或通过其他方式创建新函数。函数的构造函数接受一个要插入新函数的模块 将一个函数克隆到新函数中,或者只在您需要的BBs上复制 您可以使用克隆函数,然后像这样将其插入模块中 Function* duplicateFunction = CloneFunction(F, VMap,
LLVM::CloneFunction
克隆一些函数。现在我还想在模块中插入这些函数。我该怎么做?- 使用
或通过其他方式创建新函数。function::Create
函数的构造函数接受一个要插入新函数的模块
- 将一个函数克隆到新函数中,或者只在您需要的BBs上复制
Function* duplicateFunction = CloneFunction(F, VMap,
/*ModuleLevelChanges=*/false);
F->getParent()->getFunctionList().push_back(duplicateFunction);
示例从llvm源代码中的partialinline.cpp中窃取。我正在尝试找到一个实现该功能的llvm API函数,但仍然找不到。