This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/44440] [5/6/7 regression] ira_initialization and buitins construction taking too much of startup time
- From: "hubicka at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 19 Jan 2017 15:08:17 +0000
- Subject: [Bug middle-end/44440] [5/6/7 regression] ira_initialization and buitins construction taking too much of startup time
- Auto-submitted: auto-generated
- References: <bug-44440-4@http.gcc.gnu.org/bugzilla/>
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