[cfe-dev] [Analyzer] Attempting to speed up static analysis
Vedant Kumar via cfe-dev
cfe-dev at lists.llvm.org
Wed Aug 26 14:58:15 PDT 2015
This profiling work is really interesting!
> 3. Why is ImmutableMap<EnvironmentEntry, SVal> being used instead of std::map, std::hash_map, or even llvmFoldingSet?
I think I can answer #3 in a very general way. IIRC ImmutableMap is cheaper to copy than std::*map, and frequent copies are required when forking ProgramState objects.
We need to fork ProgramState objects often (e.g When creating a sink node, or when analyzing a branch).
More information about the cfe-dev