[llvm-dev] How to reliably get memory operand size
I'm working on a MIR pass that tries to duplicate memory operation instructions. For example, if there is a move instruction "movq (%rax), %rbx", I will insert another MIR instruction before it. For other instructions, like add, sub, I also insert a mov instruction.
Now my question is, is there any way to obtain the size of the memory operation? in the given example, the size should be 8, while for "movslq (%rax), %tbx)", the size should be 4.
I have tried memoperand size, but apparently the memoperand is optional and is not necessarily always there. So other than parsing the opcode, do we have any reliably way to get the memory operation size?