[Bug ipa/62016] [4.8/4.9/4.10 Regression] very slow compilation at -O3 on x86_64-linux-gnu

2014-08-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62016

--- Comment #6 from Jakub Jelinek  ---
In 4.9/trunk I think the compile time improved with r208831 , though I was
testing tiny bit different testcase - if (p1 != 0) __builtin_abort ();
instead of assert (p1 == 0);, nevertheless, r208830 took at -O3 still over 13
minutes before I've killed it, r208831 only 3 minutes and something.


[Bug ipa/62016] [4.8/4.9/4.10 Regression] very slow compilation at -O3 on x86_64-linux-gnu

2014-08-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62016

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #5 from Jakub Jelinek  ---
The regression in 4.8 started with r193161.


[Bug ipa/62016] [4.8/4.9/4.10 Regression] very slow compilation at -O3 on x86_64-linux-gnu

2014-08-07 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62016

Jan Hubicka  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |hubicka at gcc dot 
gnu.org

--- Comment #4 from Jan Hubicka  ---
mine.


[Bug ipa/62016] [4.8/4.9/4.10 Regression] very slow compilation at -O3 on x86_64-linux-gnu

2014-08-05 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62016

Markus Trippelsdorf  changed:

   What|Removed |Added

 CC||trippels at gcc dot gnu.org

--- Comment #3 from Markus Trippelsdorf  ---
estimate_calls_size_and_time is responsible:

callgrind shows during compilation:

PID 8134: /usr/libexec/gcc/x86_64-pc-linux-gnu/4.8.3/cc1 -quiet small.c -quiet
-dumpbase small.c -mtune=generic -march=x86-64 -auxbase small -O3 -o
/tmp/cc5Ji2sS.s
sending command status internal to pid 8134

  Totals:   Ir 
   Th 1  7,602,583,430 

  Frame:  Ir Backtrace for Thread 1
   [ 0]  198,528,310,004 estimate_calls_size_and_time(cgraph_node*, int*, int*,
int*, unsigned int, vec, vec, vec) [clone
.isra.48.371314.34966] (58874971 x)
...
   [34]  198,528,323,290 estimate_calls_size_and_time(cgraph_node*, int*, int*,
int*, unsigned int, vec, vec, vec) [clone
.isra.48.371314.34966] (58874971 x)
   [35]7,299,677,321 estimate_calls_size_and_time(cgraph_node*, int*, int*,
int*, unsigned int, vec, vec, vec) [clone
.isra.48.371314.34966] (68761 x)
   [36]7,276,594,294 estimate_calls_size_and_time(cgraph_node*, int*, int*,
int*, unsigned int, vec, vec, vec) [clone
.isra.48.371314.34966] (35608 x)
   [37]7,286,199,223 estimate_node_size_and_time(cgraph_node*, unsigned
int, vec, vec,
vec, int*, int*, int*,
vec) [clone .371325] (35570 x)
   [38]7,382,517,284 do_estimate_edge_time(cgraph_edge*) (35570 x)
   [39]7,376,457,586 do_estimate_edge_size(cgraph_edge*) (30094 x)
   [40]7,375,282,471 estimate_edge_size(cgraph_edge*) [clone .371672.55874]
(64499 x)
   [41]7,376,509,640 do_estimate_growth_1(cgraph_node*, void*) [clone
.371011] (78 x)
   [42]7,376,511,655 cgraph_for_node_and_aliases(cgraph_node*, bool
(*)(cgraph_node*, void*), void*, bool) (78 x)
   [43]7,376,515,292 do_estimate_growth(cgraph_node*) (78 x)


[Bug ipa/62016] [4.8/4.9/4.10 Regression] very slow compilation at -O3 on x86_64-linux-gnu

2014-08-05 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62016

Richard Biener  changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu.org,
   ||rguenth at gcc dot gnu.org

--- Comment #2 from Richard Biener  ---
Would be nice to identify what improved 4.9 here and backport that to 4.8.  And
of course try to fix it for real for 4.10.

ISTR the predicate stuff was a major hog.


[Bug ipa/62016] [4.8/4.9/4.10 Regression] very slow compilation at -O3 on x86_64-linux-gnu

2014-08-05 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62016

Richard Biener  changed:

   What|Removed |Added

   Keywords||compile-time-hog
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-08-05
   Target Milestone|--- |4.8.4
Summary|very slow compilation at|[4.8/4.9/4.10 Regression]
   |-O3 on x86_64-linux-gnu |very slow compilation at
   ||-O3 on x86_64-linux-gnu
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
Confirmed.  4.8 is slowest (very very slow), 4.9 is a lot better but still
100x slower than 4.7.

4.7:

 TOTAL :   0.09 0.01 0.10  
6621 kB

4.8:



4.9:

 ipa inlining heuristics :   2.99 (93%) usr   0.12 (92%) sys   3.11 (93%) wall 
406507 kB (99%) ggc

4.10 (take with grain of salt - unoptimized and with checking):

 ipa inlining heuristics :   6.81 (90%) usr   0.15 (94%) sys   6.95 (90%) wall 
426678 kB (99%) ggc