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 | c2c0bdb880cf51017c976326a166e5c0b7c52eb0 (patch) | |
tree | 4d4c16998642ccb99498114d53ab87b37b7405e3 /llvm/lib/Target/Sparc | |
parent | e27e934d45f720b10c21181354669fe26a1cdb4e (diff) | |
download | bcm5719-llvm-c2c0bdb880cf51017c976326a166e5c0b7c52eb0.tar.gz bcm5719-llvm-c2c0bdb880cf51017c976326a166e5c0b7c52eb0.zip |
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
llvm-svn: 64890
Diffstat (limited to 'llvm/lib/Target/Sparc')
0 files changed, 0 insertions, 0 deletions