代码之家  ›  专栏  ›  技术社区  ›  Nemo_Sol

LLVM中整数比较条件的检测

  •  1
  • Nemo_Sol  · 技术社区  · 6 年前
    #include <stdio.h>
    #include <string.h>
    
    int main (){
        unsigned short int a = 10;
        if (a == 10){
         //something
        }
    }
    

    在LLVM过程中,如何检测2个操作数整数比较条件语句,如上图所示:(a==10)?请让我知道我应该在llvmapi中查找什么。

    1 回复  |  直到 6 年前
        1
  •  1
  •   arnt    6 年前

    ICmpInst 其操作数是整数。由于两个操作数必须具有相同的类型, isa<ICmpInst>(foo) && isa<IntegerType>(foo->getOperand(0)) 足以确定特定指令是否是要检测的指令。