DwarfExpression::addMachineReg() knows how to build a larger register that isn't expressible in DWARF by combining multiple subregisters. However, if the entire value fits into just one subregister, it would still emit the other subregisters, leading to all sorts of inconsistencies down the line.
This patch fixes that by moving an already existing(!) check whether the subregister's offset is before the end of the value to the right place.
rdar://problem/57294211
Is it a requirement that all bits in MachineReg be described? What happens is there's an unset bit in Coverage?