public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug other/63155] New: [4.9/5 Regression] memory hog
@ 2014-09-03 12:00 doko at gcc dot gnu.org
  2014-09-03 14:09 ` [Bug other/63155] " rguenth at gcc dot gnu.org
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: doko at gcc dot gnu.org @ 2014-09-03 12:00 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63155

            Bug ID: 63155
           Summary: [4.9/5 Regression] memory hog
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
          Assignee: unassigned at gcc dot gnu.org
          Reporter: doko at gcc dot gnu.org

Created attachment 33441
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33441&action=edit
preprocessed source

[forwarded from https://bugs.debian.org/759683]

compiling the attached test case with the 4.9 branch r214759 and trunk r213954
takes about 90sec on x86_64 and 10GB of memory. succeeds with the 4.8 branch in
less than a second.

$ gcc -std=c99 -c testunity_Runner.i


from the Debian issue:

  """
  Notice that replacing "_setjmp 
  (Unity.AbortFrame[Unity.CurrentAbortFrame])" in main function by 
  "_setjmp (Unity.AbortFrame[0])", make gcc works normaly.
  After few tests it seems that gcc does not like having a variable in here.
  """

I don't see the crash reported in the Debian issue.


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

* [Bug other/63155] [4.9/5 Regression] memory hog
  2014-09-03 12:00 [Bug other/63155] New: [4.9/5 Regression] memory hog doko at gcc dot gnu.org
@ 2014-09-03 14:09 ` rguenth at gcc dot gnu.org
  2014-09-03 14:24 ` rguenth at gcc dot gnu.org
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-09-03 14:09 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63155

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
I wonder why we need to explicitely represent abnormal PHIs in the dispatcher.
All incoming edges are abnormal and all SSA names have to be coalesced anyway.
Thus we could instead have

  <bb 5>:
/* Not: # _2(ab) = PHI <_17(D)(ab)(2), _1(ab)(6), _1(ab)(7), _3(ab)(11),
_3(ab)(12), _4(ab)(15), _4(ab)(16), _5(ab)(20), _5(ab)(21), _5(ab)(22)> */
  ABNORMAL_DISPATCHER (0);
  _2(ab) = D.12345;

or simply rewrite all must-coalesce vars out-of-SSA?  (or not into SSA
in the first place)

The question is whether accesses to them should be loads/stores (I think so)
and if that will cause other similar issues.

We'd have to factor abnormal edges into a block to a separate forwarder
of course, with a load of all "abnormal" vars.

Anyway, not sure why the gimplify code is disabled for -O0 (or why we
don't re-use formal temps more aggressively as they become anonymous
SSA names later anyway).


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

* [Bug other/63155] [4.9/5 Regression] memory hog
  2014-09-03 12:00 [Bug other/63155] New: [4.9/5 Regression] memory hog doko at gcc dot gnu.org
  2014-09-03 14:09 ` [Bug other/63155] " rguenth at gcc dot gnu.org
@ 2014-09-03 14:24 ` rguenth at gcc dot gnu.org
  2014-10-30 10:41 ` jakub at gcc dot gnu.org
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-09-03 14:24 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63155

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
So the issue is that the setjmp argument needs two temporaries:

  D.2832 = Unity.CurrentAbortFrame;
  D.2833 = &Unity.AbortFrame[D.2832];

  <bb 18>:
  D.2834 = _setjmp (D.2833);

and the EH edge going into the _setjmp call has to merge those through
the abnormal dispatcher.  And that way it receives all of them.  Hmm.

Huh.  Without the abnormal dispatcher they should just get default defs
everywhere (but still many PHI nodes).  Maybe that would be more light-weight.


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

* [Bug other/63155] [4.9/5 Regression] memory hog
  2014-09-03 12:00 [Bug other/63155] New: [4.9/5 Regression] memory hog doko at gcc dot gnu.org
  2014-09-03 14:09 ` [Bug other/63155] " rguenth at gcc dot gnu.org
  2014-09-03 14:24 ` rguenth at gcc dot gnu.org
@ 2014-10-30 10:41 ` jakub at gcc dot gnu.org
  2014-11-24 13:14 ` [Bug middle-end/63155] " rguenth at gcc dot gnu.org
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-10-30 10:41 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63155

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.9.2                       |4.9.3

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 4.9.2 has been released.


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

* [Bug middle-end/63155] [4.9/5 Regression] memory hog
  2014-09-03 12:00 [Bug other/63155] New: [4.9/5 Regression] memory hog doko at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2014-10-30 10:41 ` jakub at gcc dot gnu.org
@ 2014-11-24 13:14 ` rguenth at gcc dot gnu.org
  2015-03-06 13:01 ` rguenth at gcc dot gnu.org
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-11-24 13:14 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63155

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |compile-time-hog,
                   |                            |memory-hog
           Priority|P3                          |P2
          Component|other                       |middle-end


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

* [Bug middle-end/63155] [4.9/5 Regression] memory hog
  2014-09-03 12:00 [Bug other/63155] New: [4.9/5 Regression] memory hog doko at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2014-11-24 13:14 ` [Bug middle-end/63155] " rguenth at gcc dot gnu.org
@ 2015-03-06 13:01 ` rguenth at gcc dot gnu.org
  2015-03-06 13:16 ` rguenth at gcc dot gnu.org
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-03-06 13:01 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63155

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot gnu.org

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
I happen to have a (controversical) patch.


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

* [Bug middle-end/63155] [4.9/5 Regression] memory hog
  2014-09-03 12:00 [Bug other/63155] New: [4.9/5 Regression] memory hog doko at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2015-03-06 13:01 ` rguenth at gcc dot gnu.org
@ 2015-03-06 13:16 ` rguenth at gcc dot gnu.org
  2015-03-10 11:17 ` [Bug middle-end/63155] [4.9 " rguenth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-03-06 13:16 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63155

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
https://gcc.gnu.org/ml/gcc-patches/2015-03/msg00364.html


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

* [Bug middle-end/63155] [4.9/5 Regression] memory hog
  2014-09-03 12:00 [Bug other/63155] New: [4.9/5 Regression] memory hog doko at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2015-03-10 11:17 ` [Bug middle-end/63155] [4.9 " rguenth at gcc dot gnu.org
@ 2015-03-10 11:17 ` rguenth at gcc dot gnu.org
  2015-03-19 14:27 ` rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-03-10 11:17 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63155

--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Tue Mar 10 11:16:33 2015
New Revision: 221318

URL: https://gcc.gnu.org/viewcvs?rev=221318&root=gcc&view=rev
Log:
2015-03-10  Richard Biener  <rguenther@suse.de>

    PR middle-end/63155
    * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
    * tree-ssa-coalesce.c: Include timevar.h.
    (attempt_coalesce): Handle graph being NULL.
    (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
    Split out abnormal coalescing to ...
    (perform_abnormal_coalescing): ... this function.
    (coalesce_ssa_name): Perform abnormal coalescing without computing
    live/conflict.
    (verify_ssa_coalescing_worker): New function.
    (verify_ssa_coalescing): Likewise.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/tree-ssa-coalesce.c
    trunk/gcc/tree-ssa-coalesce.h


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

* [Bug middle-end/63155] [4.9 Regression] memory hog
  2014-09-03 12:00 [Bug other/63155] New: [4.9/5 Regression] memory hog doko at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2015-03-06 13:16 ` rguenth at gcc dot gnu.org
@ 2015-03-10 11:17 ` rguenth at gcc dot gnu.org
  2015-03-10 11:17 ` [Bug middle-end/63155] [4.9/5 " rguenth at gcc dot gnu.org
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-03-10 11:17 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63155

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |4.8.3, 5.0
            Summary|[4.9/5 Regression] memory   |[4.9 Regression] memory hog
                   |hog                         |
      Known to fail|                            |4.9.2

--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed on trunk sofar.


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

* [Bug middle-end/63155] [4.9/5 Regression] memory hog
  2014-09-03 12:00 [Bug other/63155] New: [4.9/5 Regression] memory hog doko at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2015-03-10 11:17 ` [Bug middle-end/63155] [4.9/5 " rguenth at gcc dot gnu.org
@ 2015-03-19 14:27 ` rguenth at gcc dot gnu.org
  2015-03-19 14:31 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-03-19 14:27 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63155

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|5.0                         |
            Summary|[4.9 Regression] memory hog |[4.9/5 Regression] memory
                   |                            |hog
      Known to fail|                            |5.0

--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> ---
Reverted.


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

* [Bug middle-end/63155] [4.9/5 Regression] memory hog
  2014-09-03 12:00 [Bug other/63155] New: [4.9/5 Regression] memory hog doko at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2015-03-19 14:27 ` rguenth at gcc dot gnu.org
@ 2015-03-19 14:31 ` rguenth at gcc dot gnu.org
  2015-06-26 20:00 ` [Bug middle-end/63155] [4.9/5/6 " jakub at gcc dot gnu.org
  2015-06-26 20:31 ` jakub at gcc dot gnu.org
  11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-03-19 14:31 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63155

--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Thu Mar 19 13:36:18 2015
New Revision: 221515

URL: https://gcc.gnu.org/viewcvs?rev=221515&root=gcc&view=rev
Log:
2015-03-19  Richard Biener  <rguenther@suse.de>

    Revert
    2015-03-10  Richard Biener  <rguenther@suse.de>

    PR middle-end/63155
    * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
    * tree-ssa-coalesce.c: Include timevar.h.
    (attempt_coalesce): Handle graph being NULL.
    (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
    Split out abnormal coalescing to ...
    (perform_abnormal_coalescing): ... this function.
    (coalesce_ssa_name): Perform abnormal coalescing without computing
    live/conflict.
    (verify_ssa_coalescing_worker): New function.
    (verify_ssa_coalescing): Likewise.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/tree-ssa-coalesce.c
    trunk/gcc/tree-ssa-coalesce.h


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

* [Bug middle-end/63155] [4.9/5/6 Regression] memory hog
  2014-09-03 12:00 [Bug other/63155] New: [4.9/5 Regression] memory hog doko at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2015-03-19 14:31 ` rguenth at gcc dot gnu.org
@ 2015-06-26 20:00 ` jakub at gcc dot gnu.org
  2015-06-26 20:31 ` jakub at gcc dot gnu.org
  11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-06-26 20:00 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63155

--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 4.9.3 has been released.


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

* [Bug middle-end/63155] [4.9/5/6 Regression] memory hog
  2014-09-03 12:00 [Bug other/63155] New: [4.9/5 Regression] memory hog doko at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2015-06-26 20:00 ` [Bug middle-end/63155] [4.9/5/6 " jakub at gcc dot gnu.org
@ 2015-06-26 20:31 ` jakub at gcc dot gnu.org
  11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-06-26 20:31 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63155

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.9.3                       |4.9.4


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

end of thread, other threads:[~2015-06-26 20:31 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-03 12:00 [Bug other/63155] New: [4.9/5 Regression] memory hog doko at gcc dot gnu.org
2014-09-03 14:09 ` [Bug other/63155] " rguenth at gcc dot gnu.org
2014-09-03 14:24 ` rguenth at gcc dot gnu.org
2014-10-30 10:41 ` jakub at gcc dot gnu.org
2014-11-24 13:14 ` [Bug middle-end/63155] " rguenth at gcc dot gnu.org
2015-03-06 13:01 ` rguenth at gcc dot gnu.org
2015-03-06 13:16 ` rguenth at gcc dot gnu.org
2015-03-10 11:17 ` [Bug middle-end/63155] [4.9 " rguenth at gcc dot gnu.org
2015-03-10 11:17 ` [Bug middle-end/63155] [4.9/5 " rguenth at gcc dot gnu.org
2015-03-19 14:27 ` rguenth at gcc dot gnu.org
2015-03-19 14:31 ` rguenth at gcc dot gnu.org
2015-06-26 20:00 ` [Bug middle-end/63155] [4.9/5/6 " jakub at gcc dot gnu.org
2015-06-26 20:31 ` jakub 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).