Use getInterval() instead of getOrCreateInterval().
Don't rely on the isDead() MachineOperand flag when updating LiveIntervals.