由于LLVM使用静态单一赋值表单,因此每个操作数只分配一次值。对于某些给定的指令,我检索其操作数,然后我想找到操作数被赋值的指令。
这些基本相同。说,你有
i32 %1 = inst1 inst2 i32 %1
当你做inst2->getOperand(0)时,你得到一个指向Value*的%1。如果你需要遵循指令链,你需要一遍又一遍地调用getOperand。
inst2->getOperand(0)
Value*
%1
getOperand