Я просто хотел удостовериться, что правильно понял getOperand(). Похоже, getOperand() возвращают операнды в обратном порядке:Запись или чтение инструкций в LLVM
так что если у меня есть:
%1 = mul nsw i32 7, 2 # The c source code is: a = 7; b = a*2
ret i32 %1 # The c source code is: return a;
Поправьте меня, если я ошибаюсь:
В первой инструкции, getOperand (0) дает мне «i32» (что читается) и getOpernad (1) «nsw» (то, что записывается).
Во второй инструкции используется только один операнд i32.
Так что, я думаю, мой вопрос в том, что если инструкция пишет что-то, это последний операнд?