http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60243
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hubicka at gcc dot gnu.org --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- estimate_calls_size_and_time is quite high on the profile - called via do_estimate_edge_size it walks callgraph edges O(n^2). It seems that the idea of having a cache is worse than devising an algorithm to compute sizes and times for the whole cgraph at once? The next high thing on the profile is ipa_propagate_frequency_1 called from do_estimate_growth (same thing, walks over all call edges again). The ipa-profile slowness is the same - ipa_propagate_frequency. The testcase has N cgraph nodes and N^2/2 call edges, so it's quite unusual of course.