[all-commits] [llvm/llvm-project] 02b51e: [analyzer][solver] Redesign constraint ranges data...

Valeriy Savchenko via All-commits all-commits at lists.llvm.org
Mon Mar 22 03:53:15 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 02b51e5316cd501ede547d0223e0f5416ebd9845
      https://github.com/llvm/llvm-project/commit/02b51e5316cd501ede547d0223e0f5416ebd9845
  Author: Valeriy Savchenko <vsavchenko at apple.com>
  Date:   2021-03-22 (Mon, 22 Mar 2021)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h
    M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
    M clang/lib/StaticAnalyzer/Core/RangedConstraintManager.cpp
    M clang/unittests/StaticAnalyzer/RangeSetTest.cpp

  Log Message:
  -----------
  [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




More information about the All-commits mailing list