[PATCH] D86465: [analyzer][solver] Redesign constraint ranges data structure

Valeriy Savchenko via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 24 08:31:01 PDT 2020


vsavchenko created this revision.
vsavchenko added reviewers: NoQ, dcoughlin, xazax.hun, Szelethus, ASDenysPetrov, steakhal.
Herald added subscribers: cfe-commits, martong, Charusso, dkrupp, donat.nagy, mikhail.ramalho, a.sidorin, mgrang, rnkovacs, szepet, baloghadamsoftware.
Herald added a project: clang.
vsavchenko requested review of this revision.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D86465

Files:
  clang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h
  clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
  clang/lib/StaticAnalyzer/Core/RangedConstraintManager.cpp
  clang/unittests/StaticAnalyzer/RangeSetTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D86465.287407.patch
Type: text/x-patch
Size: 54004 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20200824/cb3d224c/attachment-0001.bin>


More information about the cfe-commits mailing list