This allows to reduce a number of used VGPRs in some cases.
On a related note, another way to decrease VGPR usage is to fold immediates with more than 1 uses. The backend currently folds immediates with only 1 use.
Why is this necessary? PeepholeOpt runs first and should have eliminated redundant copies