diff options
author | Ted Kremenek <kremenek@apple.com> | 2009-02-18 05:22:01 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2009-02-18 05:22:01 +0000 |
commit | b103f01e5e2072c04ea5619c587a2b7ff2e63022 (patch) | |
tree | 4477b1d96a5322b9c919ebb649221319c539dedf /lib/AST/StmtSerialization.cpp | |
parent | d33d9c0cc0cfdcd0b10f35a6acdfb25da4a64f19 (diff) |
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
Diffstat (limited to 'lib/AST/StmtSerialization.cpp')
0 files changed, 0 insertions, 0 deletions