用不同类型的llvm替换功能

时间:2019-04-16 20:42:31

标签: replace llvm call

我的模块传递尝试用函数调用栏替换函数调用foo。这些函数可能具有不同的参数和返回类型。我尝试了以下代码段,但收到“属性错误的错误类型”。替换不同类型的功能的最佳方法是什么?

if (CallInst *call_inst = dyn_cast<CallInst>(&*i)) {
  if ((call_inst->getCalledFunction()) != nullptr) { 
    if (strstr(call_inst->getCalledFunction()->getName().data(), "foo") != NULL){    
      call_inst->setCalledFunction(bar);
    } 
  }   
}

0 个答案:

没有答案