https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107943
--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> --- Samples: 193K of event 'cycles', Event count (approx.): 206254655627 Overhead Samples Command Shared Object Symbol 12.11% 23476 cc1 cc1 [.] ana::store_manager::get_concrete_binding 9.71% 18828 cc1 cc1 [.] hash_table<hash_map<ana::concrete_binding, ana::concrete_binding*, simple_hashmap_traits<default_hash_traits<ana::concrete_binding>, ana::concrete_binding*> >::hash_entry, false, xcallocator>::find_with_hash 6.73% 13045 cc1 cc1 [.] hash_table<hash_map<ana::binding_key const*, ana::svalue const*, simple_hashmap_traits<default_hash_traits<ana::binding_key const*>, ana::svalue const*> >::hash_entry, false, xcallocator>::find_slot_with_hash 5.64% 10937 cc1 libc-2.31.so [.] _int_malloc 5.20% 10087 cc1 cc1 [.] ana::region_model_manager::get_or_create_constant_svalue 5.06% 9815 cc1 libc-2.31.so [.] _int_free 4.84% 9380 cc1 cc1 [.] hash_table<hash_map<ana::binding_key const*, ana::svalue const*, simple_hashmap_traits<default_hash_traits<ana::binding_key const*>, ana::svalue const*> >::hash_entry, false, xcallocator>::expand 4.63% 8971 cc1 cc1 [.] hash_table<hash_map<ana::element_region::key_t, ana::element_region*, simple_hashmap_traits<default_hash_traits<ana::element_region::key_t>, ana::element_region*> >::hash_entry, false, xcallocator>::find_with_hash 4.59% 8886 cc1 cc1 [.] iterative_hash 3.30% 6396 cc1 cc1 [.] ana::binding_cluster::bind_compound_sval 2.58% 4995 cc1 cc1 [.] ana::store::~store 2.19% 4250 cc1 cc1 [.] hash_table<hash_map<ana::binding_key const*, ana::svalue const*, simple_hashmap_traits<default_hash_traits<ana::binding_key const*>, ana::svalue const*> >::hash_entry, false, xcallocator>::find_with_hash looks like for larger workloads it gets memory bound - optimizing data structures (and hash functions?) might be helpful.