Follow up to D99912, specifically the revert, fix, and reapply thereof.
This generalizes the invertible recurrence logic in two ways:
- By allowing mismatching operand numbers of the phi, we can recurse through a pair of phi recurrences whose operand orders have not been canonicalized.
- By allowing recurrences through operand 1, we can invert these odd (but legal) recurrence.
Should probably be getInvertibleOperands (with s) now?