[all-commits] [llvm/llvm-project] ab5918: [ORC-RT] Add IntervalMap and IntervalSet collections.

lhames via All-commits all-commits at lists.llvm.org
Tue Jan 17 13:25:38 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ab59185fbfb15c9ce5a64e3aacd3a8c7f6a97621
      https://github.com/llvm/llvm-project/commit/ab59185fbfb15c9ce5a64e3aacd3a8c7f6a97621
  Author: Lang Hames <lhames at gmail.com>
  Date:   2023-01-17 (Tue, 17 Jan 2023)

  Changed paths:
    A compiler-rt/lib/orc/interval_map.h
    M compiler-rt/lib/orc/macho_platform.cpp
    M compiler-rt/lib/orc/tests/unit/CMakeLists.txt
    A compiler-rt/lib/orc/tests/unit/interval_map_test.cpp

  Log Message:
  -----------
  [ORC-RT] Add IntervalMap and IntervalSet collections.

IntervalMap is an optionally-coalescing map -- it uses half-open ranges as keys,
allows lookups based on elements of the ranges (returning an iterator to the
containing range) and optionally coalesces adjacent ranges that have the same
value.

IntervalSet is an optionally-coalescing set based on IntervalMap.

These collections will be used to store and lookup metadata section ranges,
e.g. unwind-info ranges.




More information about the All-commits mailing list