Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在LLVM IR中检查指令是否为PHI指令_C++_C_Llvm - Fatal编程技术网

C++ 如何在LLVM IR中检查指令是否为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;

我正在写LLVM通行证。对于指令(llvm::instruction Class),如何检查指令是否为PHI指令?

我找到了解决方案。你可以检查一个像这样的PHI节点,
isa(inst)

一个
dyn_cast(x)=NULL
是否有效?神秘-是的,类似的东西,也就是isa(x),对我有效!嗯,我不知道isa存在。这是我的+1。@Mystical是一个很好的信息来源:)isa解决方案是如何执行这些检查。如果我有足够的声誉,我会把它删掉,所以你也许应该删除它。
    Instruction* I;

    if(I->getOpcode()==Instruction::PHI){
    //code
    }