]> granicus.if.org Git - clang/commit
[analyzer] Aggressively cut back on the canonicalization in RegionStore.
authorJordan Rose <jordan_rose@apple.com>
Thu, 6 Dec 2012 18:58:06 +0000 (18:58 +0000)
committerJordan Rose <jordan_rose@apple.com>
Thu, 6 Dec 2012 18:58:06 +0000 (18:58 +0000)
commit426cc12317468d42ba4e603731ebe5971af098a6
tree021e9987e0972e25bb81ac5775617d9b776a9a8a
parent7affe151f5689b2d3547b8947c4099532c78a021
[analyzer] Aggressively cut back on the canonicalization in RegionStore.

Whenever we touch a single bindings cluster multiple times, we can delay
canonicalizing it until the final access. This has some interesting
implications, in particular that we shouldn't remove an /empty/ cluster
from the top-level map until canonicalization.

This is good for a 2% speedup or so on the test case in
<rdar://problem/12810842>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169523 91177308-0d34-0410-b5e6-96231b3b80d8
lib/StaticAnalyzer/Core/RegionStore.cpp