]> granicus.if.org Git - clang/commit
Fix performance bug in RangeConstraintManager (that I introduced):
authorTed Kremenek <kremenek@apple.com>
Wed, 18 Feb 2009 05:22:01 +0000 (05:22 +0000)
committerTed Kremenek <kremenek@apple.com>
Wed, 18 Feb 2009 05:22:01 +0000 (05:22 +0000)
commitb103f01e5e2072c04ea5619c587a2b7ff2e63022
tree4477b1d96a5322b9c919ebb649221319c539dedf
parentd33d9c0cc0cfdcd0b10f35a6acdfb25da4a64f19
Fix performance bug in RangeConstraintManager (that I introduced):
  When comparing if one Range is "less" than another, compare the actual APSInt
  numeric values instead of their pointer addresses. This ensures that the
  ImmutableSet in RangeSet always has a consistent ordering between Ranges. This
  is critical for generating the same digest/hash for the contents of the sets.
  This was a serious performance bug because it would often cause state caching
  to be disabled along complicated paths.

Along the way:
 - Put Range and RangeSet in the "anonymous namespace" and mark them hidden

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64890 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/RangeConstraintManager.cpp