2
llvm IR의 llvm.pow.f64 함수에 대한 모든 함수 호출을 찾으려면이 방법을 제안하십시오.llvm에서 llvm.pow.f64 찾기 IR
llvm IR의 llvm.pow.f64 함수에 대한 모든 함수 호출을 찾으려면이 방법을 제안하십시오.llvm에서 llvm.pow.f64 찾기 IR
음, 여기에 기능에 대한 모든 호출을 찾아 기본 FunctionPass
이다 : 그것은에서 일하고 함수를 호출하는 모든 함수의 이름을 인쇄
class MyPass : public FunctionPass {
public:
static char ID;
MyPass()
: FunctionPass(ID)
{}
virtual bool runOnFunction(Function &F) {
for (Function::iterator bb = F.begin(), bb_e = F.end(); bb != bb_e; ++bb) {
for (BasicBlock::iterator ii = bb->begin(), ii_e = bb->end(); ii != ii_e; ++ii) {
if (CallInst *callInst = dyn_cast<CallInst>(&*ii)) {
Function *calledFunc = callInst->getCalledFunction();
errs() << "Calling function " << calledFunc->getName() << "\n";
}
}
}
}
};
. getName
은 StringRef
이므로 원하는 모든 값과 비교해보십시오.