https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99785
--- Comment #12 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Richard Biener from comment #11) > Btw, GCC 10 branch tip with -O1: > > ipa inlining heuristics : 962.91 ( 85%) 0.39 ( 4%) 971.66 ( > 84%) 1103801 kB ( 10%) > alias stmt walking : 40.95 ( 4%) 1.07 ( 11%) 42.13 ( > 4%) 25965 kB ( 0%) > integration : 13.66 ( 1%) 3.23 ( 33%) 16.18 ( > 1%) 4931059 kB ( 43%) > TOTAL :1135.79 9.69 1153.79 > 11462287 kB > 1135.79user 9.73system 19:13.82elapsed 99%CPU (0avgtext+0avgdata > 4090216maxresident)k > 0inputs+0outputs (0major+959014minor)pagefaults 0swaps And a profile of trunk with release checking shows Samples: 4M of event 'cycles:u', Event count (approx.): 4811472248176 Overhead Samples Command Shared Object Symbol 31.07% 1371974 cc1plus cc1plus [.] update_callee_keys 25.52% 1128500 cc1plus cc1plus [.] edge_badness 4.91% 216874 cc1plus cc1plus [.] evaluate_properties_for_edge 3.90% 172368 cc1plus cc1plus [.] cgraph_node::get_availability 3.83% 169169 cc1plus cc1plus [.] do_estimate_edge_time 2.56% 113399 cc1plus cc1plus [.] symtab_node::ultimate_alias_target_1 I wonder why we even run into this for the always inlines.