I am writing an IDA python plugin to identify the operands that are defined and used by every instruction. For now, I am using the canonical feature for an instruction to identify if an operand to the instruction is being used or defined.
While it works for the most part, I'm not sure how to extract information for the following cases
- Push/Pop/Retn/Call instructions that modify/use
- Compare and branching instructions that modify the
I could write "if" conditions to handle these cases but I'm wondering if there is a better way to extract information.