This patch transforms the sequence
lea (reg1, reg2), reg3 sub reg3, reg4 to two sub instructions sub reg1, reg4 sub reg2, reg4
Similar optimization can also be applied to LEA/ADD sequence.
The modifications to TwoAddressInstructionPass is to ensure the operands of ADD instruction has expected order (the dest register of LEA should be src register of ADD).
Now it handles the killed operands between LEA/SUB instructions, so it can fix the verification failure when compiling @fhahn's code (test10).