使用llvm指令调用llvm函数名
我想知道llvm::Int指令是否是函数调用,如果是,它调用的函数的名称是什么 还有一种方法可以从llvm::指令获取llvm::CallInst吗使用llvm指令调用llvm函数名,llvm,Llvm,我想知道llvm::Int指令是否是函数调用,如果是,它调用的函数的名称是什么 还有一种方法可以从llvm::指令获取llvm::CallInst吗 指令*I=。。。 Instruction* I = ... if (isa<CallInst>(I)) { StringRef name = cast<CallInst>(I).getCalledFunction().getName(); ... } 如果(isa(I)){ StringRef name=cast(
指令*I=。。。
Instruction* I = ...
if (isa<CallInst>(I)) {
StringRef name = cast<CallInst>(I).getCalledFunction().getName();
...
}
如果(isa(I)){
StringRef name=cast(I).getCalledFunction().getName();
...
}
有关这方面的详细信息,请参阅。一般来说,我衷心向初学者推荐本指南。是所有LLVM指令的通用基类
是调用指令的指令
的子类
如果您有说明*inst
,您可以通过
CallInst *ci = cast<CallInst>(inst);
CallInst*ci=cast(inst);
谢谢。现在我看到指令.h是CallInst的基类。我得到一个错误,错误是:无法在初始化中将“const llvm::CallInst”转换为“llvm::CallInst*”