Reversing a CB* instruction used to drop the flags on the condition. On the included testcase, this lead to a read from an undefined vreg.
Using addOperand keeps the flags.
Also, I'm not sure it's a good thing that the idiom:
BuildMI(...).addReg(MO->getReg())
is preferred to:
BuildMI(...).addOperand(MO)
Here this actually makes a difference, I'm wondering if there are other places where the difference is more important than some missing undef.