Issue was SubRanges containing a Segment of the form:
which isn't actually incorrect, but is redundant.
When performing a prune this can result in an error as the endpoint tagged for
further processing as one that requires dealing with in a later stage is no
longer valid (since the instruction is being removed).
I've seen a few asserts for SubRange join that seem related to this
issue. SubRanges can have Segments with [1200r,1200d:0) type Segments and while
this isn't incorrect (the sub registers are being defined after all) they are
immediately dead and some of the passes don't seem to cope with this very well.
See also https://llvm.org/PR35373