public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "hubicka at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug rtl-optimization/28071] [4.1/4.2 regression] A file that can not be compiled in reasonable time/space
Date: Mon, 24 Jul 2006 11:54:00 -0000	[thread overview]
Message-ID: <20060724115408.15871.qmail@sourceware.org> (raw)
In-Reply-To: <bug-28071-12846@http.gcc.gnu.org/bugzilla/>



------- Comment #21 from hubicka at gcc dot gnu dot org  2006-07-24 11:54 -------
OK, some summary ;)

Mainline (after the first three patches) at -O now peaks 450MB (just because of
register allocator's conflict matrix, otherwise it is about 150MB).  Still not
quite icc's 12 seconds/200MB, but we are out of regression land for -O relative
to 4.0.I tested 3.0 and it bombs on the testcase, 2.95 however compile it quite
fluently on 200MB peak, it needs 6 minutes however.

 life analysis         :  25.92 (16%) usr   0.01 ( 0%) sys  26.18 (15%) wall   
2565 kB ( 1%) ggc
 inline heuristics     :  15.15 ( 9%) usr   0.01 ( 0%) sys  15.27 ( 9%) wall   
1486 kB ( 1%) ggc
 integration           :  21.37 (13%) usr   0.12 ( 5%) sys  21.66 (13%) wall  
33445 kB (19%) ggc
 tree SSA to normal    :  27.73 (17%) usr   0.03 ( 1%) sys  27.93 (16%) wall   
  17 kB ( 0%) ggc
 local alloc           :   7.33 ( 4%) usr   0.03 ( 1%) sys   7.41 ( 4%) wall   
1855 kB ( 1%) ggc
 global alloc          :  13.67 ( 8%) usr   0.73 (32%) sys  15.85 ( 9%) wall  
14178 kB ( 8%) ggc
 reload CSE regs       :  30.88 (19%) usr   0.04 ( 2%) sys  31.09 (18%) wall   
2393 kB ( 1%) ggc
 TOTAL                 : 164.46             2.27           169.53            
173593 kB

It would be interesting to see how dataflow branch score here after re-merging
from mainline.  Hopefully integration and register allocation issues should be
tracked there.

The inliner is still quadratic in time because of quadratic split_block and
cgraph_node.  Both can be made linear quite easilly (split_block by always
renumbering the smaller area of block and cgraph_node by producing hashtables
for nodes with many edges), but I am not sure I want to do that for 4.2.
Inline heuristics might be trickier to get in speed.

I duno about reload. Oprofile might be handy ;)

-O2 expose problem in PRE DannyB has fix for.  Regmove and into-SSA can also be
significantly sped up by patches I attached and will commit them once testing
converge.

-O3 turns the testcase into quite different one (gigantic basic block is turned
into many basic blocks by inlining min/max functions).
There few problems are still visible - FRE consume unbounded amount of memory
and we fail to synthetize fmin/fmax operators where we ought to.

If the FRE problem is fixed, I would say it should no longer be considered as
4.2 blocker.

Honza


-- 


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


  parent reply	other threads:[~2006-07-24 11:54 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-17  9:27 [Bug c/28071] New: " raffalli at univ-savoie dot fr
2006-06-17  9:52 ` [Bug c/28071] " raffalli at univ-savoie dot fr
2006-06-17 10:57 ` steven at gcc dot gnu dot org
2006-06-17 11:06 ` steven at gcc dot gnu dot org
2006-06-17 14:30 ` steven at gcc dot gnu dot org
2006-06-17 14:56 ` [Bug middle-end/28071] [4.2 regression] " pinskia at gcc dot gnu dot org
2006-06-17 18:42 ` [Bug middle-end/28071] [4.1/4.2 " rguenth at gcc dot gnu dot org
2006-06-17 19:24 ` [Bug rtl-optimization/28071] " rguenth at gcc dot gnu dot org
2006-06-19  8:56 ` raffalli at univ-savoie dot fr
2006-07-17  2:45 ` mmitchel at gcc dot gnu dot org
2006-07-21 21:12 ` hubicka at gcc dot gnu dot org
2006-07-21 22:01 ` raffalli at univ-savoie dot fr
2006-07-22 13:47 ` hubicka at ucw dot cz
2006-07-22 17:13 ` hubicka at ucw dot cz
2006-07-22 18:09 ` hubicka at ucw dot cz
2006-07-22 19:30 ` hubicka at ucw dot cz
2006-07-22 20:51   ` Jan Hubicka
2006-07-22 20:51 ` hubicka at ucw dot cz
2006-07-24  0:05 ` patchapp at dberlin dot org
2006-07-24 11:24 ` hubicka at gcc dot gnu dot org
2006-07-24 11:28 ` hubicka at gcc dot gnu dot org
2006-07-24 11:54 ` hubicka at gcc dot gnu dot org [this message]
2006-07-25 18:20 ` patchapp at dberlin dot org
2006-07-26 22:52 ` hubicka at gcc dot gnu dot org
2006-07-27  7:15 ` patchapp at dberlin dot org
2006-07-27  7:20 ` patchapp at dberlin dot org
2006-07-27  7:25 ` patchapp at dberlin dot org
2006-07-27  8:00 ` patchapp at dberlin dot org
2006-07-27 16:02 ` hubicka at gcc dot gnu dot org
2006-07-27 16:03 ` hubicka at gcc dot gnu dot org
2006-07-27 17:10 ` hubicka at gcc dot gnu dot org
2006-07-28  9:30 ` patchapp at dberlin dot org
2006-07-28  9:41 ` hubicka at ucw dot cz
2006-07-29 13:15 ` hubicka at gcc dot gnu dot org
2006-07-30  5:45 ` patchapp at dberlin dot org
2006-08-11  7:17 ` ebotcazou at gcc dot gnu dot org
2006-08-16 21:25 ` [Bug middle-end/28071] " rakdver at gcc dot gnu dot org
2006-08-18 23:10 ` hubicka at ucw dot cz
2006-08-19  0:19 ` hubicka at ucw dot cz
2006-08-19  1:52 ` hubicka at ucw dot cz
2006-08-19 21:58 ` amacleod at redhat dot com
2006-08-20  0:58   ` Jan Hubicka
2006-08-20  0:59 ` hubicka at ucw dot cz
2006-08-21  0:00 ` hubicka at gcc dot gnu dot org
2006-08-21  1:42 ` hubicka at gcc dot gnu dot org
2006-08-21  2:59   ` Jan Hubicka
2006-08-21  2:59 ` hubicka at ucw dot cz
2006-08-21 12:56 ` hubicka at ucw dot cz
2006-08-21 17:11 ` hubicka at ucw dot cz
2006-08-25  1:37 ` amacleod at redhat dot com
2006-08-25  1:43 ` amacleod at redhat dot com
2006-08-25  1:57 ` amacleod at redhat dot com
2006-08-28 17:18 ` amacleod at gcc dot gnu dot org
2006-08-28 17:37 ` amacleod at redhat dot com
2006-09-12 10:11 ` hubicka at gcc dot gnu dot org
2006-09-23  9:44 ` steven at gcc dot gnu dot org
2006-09-23 10:22 ` [Bug middle-end/28071] [4.1 " rguenth at gcc dot gnu dot org
2007-01-10 11:43 ` mkuvyrkov at gcc dot gnu dot org
2007-01-15  7:19 ` zaks at il dot ibm dot com
2007-01-15  7:52   ` Maxim Kuvyrkov
2007-01-15  7:53 ` mkuvyrkov at ispras dot ru
2007-01-15 15:31 ` zaks at il dot ibm dot com
2007-01-18  9:52 ` hubicka at ucw dot cz
2007-02-06 22:05 ` hubicka at gcc dot gnu dot org
2007-02-06 22:15 ` hubicka at gcc dot gnu dot org
2007-03-26 15:50 ` bonzini at gnu dot org
2007-04-16 15:04 ` mkuvyrkov at gcc dot gnu dot org
2007-04-16 15:07 ` mkuvyrkov at gcc dot gnu dot org
2007-04-17 18:16 ` hubicka at gcc dot gnu dot org
2007-04-17 18:38 ` hubicka at ucw dot cz
2007-05-14 21:37 ` mmitchel at gcc dot gnu dot org
2007-05-14 21:49 ` fang at csl dot cornell dot edu
2007-07-20  3:47 ` mmitchel at gcc dot gnu dot org
2007-10-09 19:25 ` mmitchel at gcc dot gnu dot org
2007-11-03  8:07 ` ebotcazou at gcc dot gnu dot org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060724115408.15871.qmail@sourceware.org \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).