]> granicus.if.org Git - clang/commit
[analyzer] Use inline storage in the FunctionSummary DenseMap.
authorJordan Rose <jordan_rose@apple.com>
Tue, 2 Apr 2013 00:26:26 +0000 (00:26 +0000)
committerJordan Rose <jordan_rose@apple.com>
Tue, 2 Apr 2013 00:26:26 +0000 (00:26 +0000)
commit992acb2269171b6ef68694d71a36f6b7408d8e82
tree2994aa6112d5de131bfc27e4a36eea227a865dd7
parenta12643622ad3b85972dfdd80fe9006a3e8d8fb80
[analyzer] Use inline storage in the FunctionSummary DenseMap.

The summaries lasted for the lifetime of the map anyway; no reason to
include an extra allocation.

Also, use SmallBitVector instead of BitVector to track the visited basic
blocks -- most functions will have less than 64 basic blocks -- and
use bitfields for the other fields to reduce the size of the structure.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178514 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h
lib/StaticAnalyzer/Core/FunctionSummary.cpp