使用 icmp->getOpcode() 函数时有些奇怪
something strange when using icmp->getOpcode() function
我尝试使用以下代码获取icmp指令的操作码,
int opCode = icmp -> getOpcode();
当我运行 icmp 指令的语句像这样时
%cmp = icmp eq i32 %0, 0
然而,我得到的操作码是'52',但实际上,对于操作'eq',操作码应该是'32',
ICMP_EQ = 32, ///< equal
为什么会出现这种奇怪的现象?以及如何解决?
我可能知道怎么解决这个问题了,getCode()会return一个错误码,所以我们可以用getPredicate()来代替它。
我尝试使用以下代码获取icmp指令的操作码,
int opCode = icmp -> getOpcode();
当我运行 icmp 指令的语句像这样时
%cmp = icmp eq i32 %0, 0
然而,我得到的操作码是'52',但实际上,对于操作'eq',操作码应该是'32',
ICMP_EQ = 32, ///< equal
为什么会出现这种奇怪的现象?以及如何解决?
我可能知道怎么解决这个问题了,getCode()会return一个错误码,所以我们可以用getPredicate()来代替它。