================ @@ -198,6 +199,61 @@ class MetadataBuilder { SmallVector<Metadata *> GeneratedMetadata; }; +// RangeInfo holds the information to correctly construct a ResourceRange +// and retains this information to be used for displaying a better diagnostic +struct RangeInfo { + const static uint32_t Unbounded = static_cast<uint32_t>(-1); + + uint32_t LowerBound; + uint32_t UpperBound; +}; + +class ResourceRange { +public: + using IMap = llvm::IntervalMap<uint32_t, const RangeInfo *, 16, + llvm::IntervalMapInfo<uint32_t>>; ---------------- bogner wrote:
We're not entirely consistent about this, but we often use the `FooT` naming convention for type aliases. I think it would be good to do that here (either `MapT` or `IntervalMapT` I think - the "I" isn't the most obvious/useful abbreviation in this case). https://github.com/llvm/llvm-project/pull/140957 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits