C++ 如何在LLVM IR中检查指令是否为PHI指令
我正在写LLVM通行证。对于指令(llvm::instruction Class),如何检查指令是否为PHI指令?我找到了解决方案。你可以检查一个像这样的PHI节点,C++ 如何在LLVM IR中检查指令是否为PHI指令,c++,c,llvm,C++,C,Llvm,我正在写LLVM通行证。对于指令(llvm::instruction Class),如何检查指令是否为PHI指令?我找到了解决方案。你可以检查一个像这样的PHI节点,isa(inst)一个dyn_cast(x)=NULL是否有效?神秘-是的,类似的东西,也就是isa(x),对我有效!嗯,我不知道isa存在。这是我的+1。@Mystical是一个很好的信息来源:)isa解决方案是如何执行这些检查。如果我有足够的声誉,我会把它删掉,所以你也许应该删除它。 Instruction* I;
isa(inst)
一个dyn_cast(x)=NULL
是否有效?神秘-是的,类似的东西,也就是isa(x),对我有效!嗯,我不知道isa存在。这是我的+1。@Mystical是一个很好的信息来源:)isa解决方案是如何执行这些检查。如果我有足够的声誉,我会把它删掉,所以你也许应该删除它。
Instruction* I;
if(I->getOpcode()==Instruction::PHI){
//code
}