您能否告诉我是否可以在 LLVM 中将 aValue*
转换为Instruction*/LoadInst*
if 例如isa<LoadInst>(MyValue)
是真的?在我的特定代码中:
Value* V1 = icmpInstrArray[i]->getOperand(0);
Value* V2 = icmpInstrArray[i]->getOperand(1);
if (isa<LoadInst>(V1) || isa<LoadInst>(V2)){
...
if(isa<LoadInst>(icmpInstrArray[i]->getOperand(0)))
LoadInst *LD100 = cast<LoadInst>(icmpInstrArray[i]->getOperand(0));
Value *C100 = LD100->getPointerOperand(); //HERE COMPILATION ERROR
此外,我只需要制作C100->getName()
,我就会得到加载的变量。
编译错误是:error: ‘LD100’ was not declared in this scope.
我不认为我可以像那样使用演员表。你能告诉我一种从与我的 ICMP 指令对应的 Load 指令中获取加载变量的方法吗?或者更好的方法是如何从中提取 Load 指令icmpInstrArray[i]->getOperand(0)
?