我想知道一个llvm::intruction是否是一个函数调用,如果是的话,它正在调用的函数的名称是什么。
还有从llvm::指令获取llvm::CallInst的方法吗?
发布于 2016-02-10 06:53:18
Instruction* I = ...
if (isa<CallInst>(I)) {
StringRef name = cast<CallInst>(I).getCalledFunction().getName();
...
}
有关此问题的更多信息,请参见LLVM程序员手册中的相关章节。总的来说,我衷心推荐这个指南给初学者。
发布于 2016-02-10 06:54:37
Instruction
是所有LLVM指令的公共基类。
CallInst
是用于调用指令的Instruction
的子类。
如果你有Instruction *inst
,你可以通过
CallInst *ci = cast<CallInst>(inst);
https://stackoverflow.com/questions/35318190
复制