This patch extends the current pass by handling Mul instructions as well.
LG in general. Some code can be made clearer with refactoring. Thanks for working on this! It has been on my TODO list for quite a long time :)
Extract these lines to a helper function, e.g., matchTernaryOp that returns the opcode and outputs A and B as parameters.
Extract these lines to a helper function, e.g., getBinarySCEV.