LiveIntervals: Split live intervals on multiple dead defs
If there are multiple dead defs of the same virtual register, these
are required to be split into multiple virtual registers with separate
live intervals to avoid a verifier error.
While this change is valid in terms of functionality, I think Krzysztof has a point here (http://lists.llvm.org/pipermail/llvm-dev/2019-October/135709.html). Simply computing the live interval for a virtual register should not be changing code. That concern should be handled separately.