https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64500
--- Comment #10 from ak at gcc dot gnu.org ---
I misidentified the hot loop, it's actually this one in store_bindings:
for (t = names; t; t = TREE_CHAIN (t))
{
if (TREE_CODE (t) == TREE_LIST)
id = TREE_PURPOSE (t);
else
id = DECL_NAME (t);
if (store_binding_p (id))
bindings_need_stored.safe_push (id);
}
So it's a list of aliases that can get long?
>From the LBR log store_binding_p is near always false.
Perhaps the list of ids that need to be stored can be cached?