检查 call 指令中的 printf

Check for printf in call instruction

 %1 = tail call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([22 x i8]* @.str, i64 0, i64 0), i32 7) #3

对于上面的指令,如何判断call指令中是否包含printf?

只比较被调用函数的名称:

bool isPrintfCall(CallInst &C) {
   auto *F = C.getCalledFunction();
   auto isPrintf = (F->getName() == "printf");
   return isPrintf;
}