aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2009-09-03 04:21:34 +0000
committerTed Kremenek <kremenek@apple.com>2009-09-03 04:21:34 +0000
commitbc699fcbd21999eeee0e6659b6aee4f7a9d8c8ec (patch)
tree7090c479c5c6cf5d1373e0e917b3fffa1a92b9f8 /include
parent613e05408626a631c011a3f141eff2d6eea9f1f2 (diff)
downloadexternal_llvm-bc699fcbd21999eeee0e6659b6aee4f7a9d8c8ec.zip
external_llvm-bc699fcbd21999eeee0e6659b6aee4f7a9d8c8ec.tar.gz
external_llvm-bc699fcbd21999eeee0e6659b6aee4f7a9d8c8ec.tar.bz2
Set the 'cached digest' flag after computing the digest for an
ImutAVLTree. This was accidentally left out, and essentially caused digest caching to be ignored in ImmutableMap and ImmutableSet (this bug was detected from shark traces that showed ComputeDigest was in the hot path in the clang static analyzer). This reduces the running time of the clang static analyzer on an example benchmark by ~32% for both RegionStore (field-sensitivty) and BasicStore (without field-sensitivity). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80877 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/ADT/ImmutableSet.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/llvm/ADT/ImmutableSet.h b/include/llvm/ADT/ImmutableSet.h
index 7c070d7..70fc1a6 100644
--- a/include/llvm/ADT/ImmutableSet.h
+++ b/include/llvm/ADT/ImmutableSet.h
@@ -331,6 +331,7 @@ private:
uint32_t X = ComputeDigest(getLeft(), getRight(), getValue());
Digest = X;
+ MarkedCachedDigest();
return X;
}
};