https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44440
--- Comment #15 from Jan Hubicka <hubicka at gcc dot gnu.org> --- Now I get (for 500 invocations) real user sys GCC 7: 0m9.816s 0m6.274s 0m3.546s GCC 6: 0m7.880s 0m4.253s 0m3.605s GCC 5: 0m7.655s 0m4.264s 0m3.159s GCC 4.6: 0m7.271s 0m4.094s 0m3.085s We used to lazilly initialize regalloc cost tables before IRA was merged. I think it contributes to major part of the slowdown. Note that newly, in addition to the regclass cost, we do fair amount of software simulated multiplies and divides 4.59% cc1 cc1 [.] do_multiply 3.11% cc1 [kernel.kallsyms] [k] clear_page 3.01% cc1 libc-2.19.so [.] memset 2.86% cc1 cc1 [.] ggc_internal_alloc 2.83% cc1 [kernel.kallsyms] [k] page_fault 2.79% cc1 [kernel.kallsyms] [k] filemap_map_pages 2.45% cc1 cc1 [.] init_reg_sets_1 2.22% cc1 cc1 [.] do_add 2.18% cc1 libc-2.19.so [.] __GI___strcmp_ssse3 2.02% cc1 cc1 [.] ht_lookup_with_hash 1.85% cc1 cc1 [.] do_divide 1.49% cc1 cc1 [.] hash_table<attribute_hasher, xcallocator>::find_with_hash 1.41% cc1 [kernel.kallsyms] [k] unmap_single_vma 1.37% cc1 [kernel.kallsyms] [k] release_pages 1.29% cc1 cc1 [.] decl_attributes 1.21% cc1 libc-2.19.so [.] _int_malloc 1.19% cc1 libc-2.19.so [.] strlen 1.12% cc1 cc1 [.] normalize