public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/37448] gcc 4.3.1 cannot compile big function
       [not found] <bug-37448-4@http.gcc.gnu.org/bugzilla/>
@ 2011-01-18 14:49 ` rguenth at gcc dot gnu.org
  2011-01-18 15:11 ` hubicka at gcc dot gnu.org
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-01-18 14:49 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37448

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Blocks|                            |47344
   Target Milestone|4.3.6                       |---
            Summary|[4.3/4.4/4.5/4.6            |gcc 4.3.1 cannot compile
                   |Regression] gcc 4.3.1       |big function
                   |cannot compile big function |
      Known to fail|                            |4.6.0

--- Comment #42 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-01-18 14:28:00 UTC ---
PR47344 now tracks the regression property of this bug.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug middle-end/37448] gcc 4.3.1 cannot compile big function
       [not found] <bug-37448-4@http.gcc.gnu.org/bugzilla/>
  2011-01-18 14:49 ` [Bug middle-end/37448] gcc 4.3.1 cannot compile big function rguenth at gcc dot gnu.org
@ 2011-01-18 15:11 ` hubicka at gcc dot gnu.org
  2011-01-18 15:15 ` hubicka at gcc dot gnu.org
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 10+ messages in thread
From: hubicka at gcc dot gnu.org @ 2011-01-18 15:11 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37448

--- Comment #43 from Jan Hubicka <hubicka at gcc dot gnu.org> 2011-01-18 14:53:46 UTC ---
Now at -O2 the main inliner seems to degenerate ;(
168767   78.4974  cc1                      cgraph_edge_badness
9426      4.3842  cc1                      update_edge_key
3529      1.6414  cc1                      update_caller_keys
2498      1.1619  cc1                      bitmap_set_bit
1776      0.8261  opreport                 /usr/bin/opreport
1212      0.5637  cc1                      bitmap_elt_insert_after
1166      0.5423  oprofiled                /usr/bin/oprofiled
1106      0.5144  libc-2.11.1.so           _IO_vfscanf
965       0.4488  cc1                      bitmap_ior_into


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug middle-end/37448] gcc 4.3.1 cannot compile big function
       [not found] <bug-37448-4@http.gcc.gnu.org/bugzilla/>
  2011-01-18 14:49 ` [Bug middle-end/37448] gcc 4.3.1 cannot compile big function rguenth at gcc dot gnu.org
  2011-01-18 15:11 ` hubicka at gcc dot gnu.org
@ 2011-01-18 15:15 ` hubicka at gcc dot gnu.org
  2012-10-25 23:52 ` steven at gcc dot gnu.org
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 10+ messages in thread
From: hubicka at gcc dot gnu.org @ 2011-01-18 15:15 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37448

--- Comment #44 from Jan Hubicka <hubicka at gcc dot gnu.org> 2011-01-18 14:58:04 UTC ---
and later IRA
samples  %        app name                 symbol name
25826    56.8667  cc1                      allocno_spill_priority_compare
6812     14.9994  cc1                      ira_build_conflicts
4308      9.4859  cc1                      splay_tree_splay
2847      6.2689  cc1                      color_pass
1661      3.6574  cc1                      push_allocno_to_stack
1336      2.9418  cc1                      build_object_conflicts
468       1.0305  cc1                      bitmap_bit_p
443       0.9754  cc1                      splay_tree_insert

df reaching defs      :   1.65 ( 1%) usr   0.42 (10%) sys   2.10 ( 1%) wall    
  0 kB ( 0%) ggc
 df live regs          :   4.27 ( 2%) usr   0.00 ( 0%) sys   4.24 ( 2%) wall   
   0 kB ( 0%) ggc
 df live&initialized regs:   1.31 ( 1%) usr   0.01 ( 0%) sys   1.32 ( 1%) wall 
     0 kB ( 0%) ggc
 df use-def / def-use chains:   0.72 ( 0%) usr   0.00 ( 0%) sys   0.72 ( 0%)
wall       0 kB ( 0%) ggc
 df reg dead/unused notes:   4.32 ( 2%) usr   0.00 ( 0%) sys   4.31 ( 2%) wall 
  8508 kB ( 1%) ggc
 register information  :   2.05 ( 1%) usr   0.00 ( 0%) sys   2.02 ( 1%) wall   
   0 kB ( 0%) ggc

362       0.7971  cc1                      splay_tree_remove
193       0.4250  cc1                      splay_tree_free
167       0.3677  cc1                      add_copies


 inline heuristics     :  81.88 (35%) usr   0.04 ( 1%) sys  82.07 (35%) wall  
44238 kB ( 5%) ggc
 CSE                   :   4.09 ( 2%) usr   0.00 ( 0%) sys   4.12 ( 2%) wall   
 138 kB ( 0%) ggc
 CSE 2                 :   4.13 ( 2%) usr   0.00 ( 0%) sys   4.12 ( 2%) wall   
 125 kB ( 0%) ggc
 integrated RA         :  50.18 (22%) usr   0.18 ( 4%) sys  50.48 (21%) wall   
7472 kB ( 1%) ggc
 reload                :   9.21 ( 4%) usr   0.00 ( 0%) sys   9.25 ( 4%) wall  
12180 kB ( 1%) ggc
 scheduling 2          :   3.81 ( 2%) usr   0.00 ( 0%) sys   3.79 ( 2%) wall   
 356 kB ( 0%) ggc

So mostly IRA and main inliner.  I am not sure how much I can do for main
inliner except for adding some hard limit on how much work we put into updating
the priority queue and ignoring inconsistencies when it is met...

Honza


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug middle-end/37448] gcc 4.3.1 cannot compile big function
       [not found] <bug-37448-4@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2011-01-18 15:15 ` hubicka at gcc dot gnu.org
@ 2012-10-25 23:52 ` steven at gcc dot gnu.org
  2012-10-26  2:05 ` lucier at math dot purdue.edu
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 10+ messages in thread
From: steven at gcc dot gnu.org @ 2012-10-25 23:52 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37448

--- Comment #45 from Steven Bosscher <steven at gcc dot gnu.org> 2012-10-25 23:51:28 UTC ---
(In reply to comment #15)
> We seem to make nice progress on the testcase ;)

I wonder where things stand with trunk today..


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug middle-end/37448] gcc 4.3.1 cannot compile big function
       [not found] <bug-37448-4@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2012-10-25 23:52 ` steven at gcc dot gnu.org
@ 2012-10-26  2:05 ` lucier at math dot purdue.edu
  2012-10-26 15:23 ` hubicka at gcc dot gnu.org
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 10+ messages in thread
From: lucier at math dot purdue.edu @ 2012-10-26  2:05 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37448

--- Comment #46 from lucier at math dot purdue.edu 2012-10-26 02:05:13 UTC ---
Created attachment 28534
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28534
memory and time statistics for compiling lgwam.c

With today's mainline

leibniz-252% /tmp/lucier/mainline/bin/gcc -v
Using built-in specs.
COLLECT_GCC=/tmp/lucier/mainline/bin/gcc
COLLECT_LTO_WRAPPER=/tmp/lucier/mainline/libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../../gcc/configure --prefix=/tmp/lucier/mainline
--enable-checking=release --enable-languages=c --disable-multilib
Thread model: posix
gcc version 4.8.0 20121026 (experimental) (GCC) 

and the command:

leibniz-270% /tmp/lucier/mainline/bin/gcc -O3 -c lgwam.c -fmem-report
-ftime-report > & ! lgwam.c.stat-O3

These are the statistics.

Brad


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug middle-end/37448] gcc 4.3.1 cannot compile big function
       [not found] <bug-37448-4@http.gcc.gnu.org/bugzilla/>
                   ` (4 preceding siblings ...)
  2012-10-26  2:05 ` lucier at math dot purdue.edu
@ 2012-10-26 15:23 ` hubicka at gcc dot gnu.org
  2012-10-26 16:48 ` hubicka at gcc dot gnu.org
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 10+ messages in thread
From: hubicka at gcc dot gnu.org @ 2012-10-26 15:23 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37448

--- Comment #47 from Jan Hubicka <hubicka at gcc dot gnu.org> 2012-10-26 15:22:50 UTC ---
Hmm, good timming. I just started looking into re-tunning inliner heuristics
for 4.8 so I should look again into this inline bomb... Looks like inliner did
not get faster ;)


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug middle-end/37448] gcc 4.3.1 cannot compile big function
       [not found] <bug-37448-4@http.gcc.gnu.org/bugzilla/>
                   ` (5 preceding siblings ...)
  2012-10-26 15:23 ` hubicka at gcc dot gnu.org
@ 2012-10-26 16:48 ` hubicka at gcc dot gnu.org
  2012-10-26 17:29 ` steven at gcc dot gnu.org
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 10+ messages in thread
From: hubicka at gcc dot gnu.org @ 2012-10-26 16:48 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37448

--- Comment #48 from Jan Hubicka <hubicka at gcc dot gnu.org> 2012-10-26 16:48:08 UTC ---
The problem here is walking of callgraph edges to sum the code size of the
caller function in both early inliner and late inliner. I am still not very
keen on making the cost calucuations incremental, but I will see if keeping the
sum of all edges makes sense here...

Honza


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug middle-end/37448] gcc 4.3.1 cannot compile big function
       [not found] <bug-37448-4@http.gcc.gnu.org/bugzilla/>
                   ` (6 preceding siblings ...)
  2012-10-26 16:48 ` hubicka at gcc dot gnu.org
@ 2012-10-26 17:29 ` steven at gcc dot gnu.org
  2013-03-06 10:43 ` [Bug middle-end/37448] [4.6/4.7/4.8 Regression] " steven at gcc dot gnu.org
  2013-03-06 10:46 ` [Bug middle-end/37448] " rguenth at gcc dot gnu.org
  9 siblings, 0 replies; 10+ messages in thread
From: steven at gcc dot gnu.org @ 2012-10-26 17:29 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37448

Steven Bosscher <steven at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |steven at gcc dot gnu.org

--- Comment #49 from Steven Bosscher <steven at gcc dot gnu.org> 2012-10-26 17:28:58 UTC ---
(In reply to comment #47)
> Hmm, good timming. I just started looking into re-tunning inliner 
> heuristics for 4.8 so I should look again into this inline bomb... 
> Looks like inliner did not get faster ;)

While everything else did get faster. Much of the work from PR54146 also
helps for this PR. But the inliner heuristics are even more insane than
this test case.

What are the reasons for your aversion against incrementally updating
the inliner heuristics?


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug middle-end/37448] [4.6/4.7/4.8 Regression] cannot compile big function
       [not found] <bug-37448-4@http.gcc.gnu.org/bugzilla/>
                   ` (7 preceding siblings ...)
  2012-10-26 17:29 ` steven at gcc dot gnu.org
@ 2013-03-06 10:43 ` steven at gcc dot gnu.org
  2013-03-06 10:46 ` [Bug middle-end/37448] " rguenth at gcc dot gnu.org
  9 siblings, 0 replies; 10+ messages in thread
From: steven at gcc dot gnu.org @ 2013-03-06 10:43 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37448

Steven Bosscher <steven at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|gcc 4.3.1 cannot compile    |[4.6/4.7/4.8 Regression]
                   |big function                |cannot compile big function
      Known to fail|                            |4.7.2, 4.8.0

--- Comment #50 from Steven Bosscher <steven at gcc dot gnu.org> 2013-03-06 10:42:20 UTC ---
Note this is a regression.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug middle-end/37448] cannot compile big function
       [not found] <bug-37448-4@http.gcc.gnu.org/bugzilla/>
                   ` (8 preceding siblings ...)
  2013-03-06 10:43 ` [Bug middle-end/37448] [4.6/4.7/4.8 Regression] " steven at gcc dot gnu.org
@ 2013-03-06 10:46 ` rguenth at gcc dot gnu.org
  9 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-03-06 10:46 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37448

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.6/4.7/4.8 Regression]    |cannot compile big function
                   |cannot compile big function |

--- Comment #51 from Richard Biener <rguenth at gcc dot gnu.org> 2013-03-06 10:45:50 UTC ---
See comment #42 ...


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2013-03-06 10:46 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-37448-4@http.gcc.gnu.org/bugzilla/>
2011-01-18 14:49 ` [Bug middle-end/37448] gcc 4.3.1 cannot compile big function rguenth at gcc dot gnu.org
2011-01-18 15:11 ` hubicka at gcc dot gnu.org
2011-01-18 15:15 ` hubicka at gcc dot gnu.org
2012-10-25 23:52 ` steven at gcc dot gnu.org
2012-10-26  2:05 ` lucier at math dot purdue.edu
2012-10-26 15:23 ` hubicka at gcc dot gnu.org
2012-10-26 16:48 ` hubicka at gcc dot gnu.org
2012-10-26 17:29 ` steven at gcc dot gnu.org
2013-03-06 10:43 ` [Bug middle-end/37448] [4.6/4.7/4.8 Regression] " steven at gcc dot gnu.org
2013-03-06 10:46 ` [Bug middle-end/37448] " rguenth at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).