[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 mailing list