HomePhabricator

[analyzer][solver] Redesign constraint ranges data structure

Authored by vsavchenko on Jul 24 2020, 4:13 AM.

Description

[analyzer][solver] Redesign constraint ranges data structure

ImmutableSet doesn't seem like the perfect fit for the RangeSet
data structure. It is good for saving memory in a persistent
setting, but not for the case when the population of the container
is tiny. This commit replaces RangeSet implementation and
redesigns the most common operations to be more efficient.

Differential Revision: https://reviews.llvm.org/D86465

Details