As implemented previously
https://github.com/llvm/llvm-project/pull/140962.
We now have a validation pass to ensure that there is no overlap in the
register ranges of the associated resources. However, in the previous
pr, for the sake of brevity, we only "collected `RangeInfo`" for Root
Descriptors. This means the analysis is not run on any other
`RootElement` type.
This pr simply implements the collection of `RangeInfo` for the
remaining types so that the analysis is run account for all
`RootElement` types.
Additionally, we improve the diagnostics message to display `unbounded`
ranges.
Part 3 of and Resolves
https://github.com/llvm/llvm-project/issues/129942.