https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38474
--- Comment #81 from rguenther at suse dot de <rguenther at suse dot de> --- On Tue, 6 Nov 2018, hubicka at ucw dot cz wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38474 > > --- Comment #80 from Jan Hubicka <hubicka at ucw dot cz> --- > > > > flat perf profile: > > > > Samples: 510K of event 'instructions:p', Event count (approx.): > > 715615147320 > > Overhead Samples Command Shared Object Symbol > > > > 8.08% 95243 f951 f951 [.] bitmap_ior_into > > 7.21% 25966 f951 f951 [.] sreal::operator* > > 5.43% 19353 f951 f951 [.] > > hash_table<hash_map<int_h > > 5.20% 23167 f951 f951 [.] > > get_ref_base_and_extent > > 4.93% 17947 f951 f951 [.] > > profile_count::to_sreal_s > > 4.37% 15865 f951 f951 [.] sreal::operator/ > > 3.45% 30532 f951 f951 [.] bitmap_set_bit > > 3.41% 12159 f951 f951 [.] > > hash_table<hash_map<int_h > > 3.08% 11034 f951 f951 [.] > > default_binds_local_p_3 > > 3.08% 11146 f951 f951 [.] > > hash_table<hash_map<int_h > > 2.21% 7877 f951 f951 [.] > > want_inline_small_functio > > 1.93% 6874 f951 f951 [.] edge_badness > > 1.87% 6675 f951 f951 [.] > > compute_inlined_call_time > > > > the ipa_fn_summary hash and edge_growth_cache / call_summary hashes are > > oddly on top of the profile... > > Yep, this is because they used to be arrays indexed by symbol UIDs which > Martin converted to hash tables. Inliner happily calls summary_get each > time it needs the summary. I have some patches to speed this up which I > will push out after the type changes (while they add bit of extra > functionality by teaching ipa-predicates abou value range I hope they > are OK for early stage3). Awww. I guess with no longer re-using UIDs we then get bad hashing behavior as well :/ I hope the hash function is _not_ simply the UID?