public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug optimization/15139] New: cc1 uses excessive amounts of memory compiling small routine
@ 2004-04-25 23:00 p dot van-hoof at qub dot ac dot uk
  2004-04-25 23:27 ` [Bug optimization/15139] " p dot van-hoof at qub dot ac dot uk
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: p dot van-hoof at qub dot ac dot uk @ 2004-04-25 23:00 UTC (permalink / raw)
  To: gcc-bugs

When compiling the attached routine with

gcc -c -O2 -funroll-loops a.c

cc1 will use excessive amounts of memory. I killed the process when it reached
2700 MB, but it was still steadily growing in size. Given the fact that the
routine is only 20 lines long, this seems to point to a genuine problem in the
compiler, not just a badly optimized component. The problem only arrizes with
gcc 3.4.0, not 3.3.3 or the mainline.

-- 
           Summary: cc1 uses excessive amounts of memory compiling small
                    routine
           Product: gcc
           Version: 3.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: p dot van-hoof at qub dot ac dot uk
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


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


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

* [Bug optimization/15139] cc1 uses excessive amounts of memory compiling small routine
  2004-04-25 23:00 [Bug optimization/15139] New: cc1 uses excessive amounts of memory compiling small routine p dot van-hoof at qub dot ac dot uk
@ 2004-04-25 23:27 ` p dot van-hoof at qub dot ac dot uk
  2004-04-25 23:47 ` [Bug optimization/15139] [3.4 Regression] " pinskia at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: p dot van-hoof at qub dot ac dot uk @ 2004-04-25 23:27 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From p dot van-hoof at qub dot ac dot uk  2004-04-25 22:20 -------
Created an attachment (id=6162)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=6162&action=view)
code that causes the problem


-- 


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


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

* [Bug optimization/15139] [3.4 Regression] cc1 uses excessive amounts of memory compiling small routine
  2004-04-25 23:00 [Bug optimization/15139] New: cc1 uses excessive amounts of memory compiling small routine p dot van-hoof at qub dot ac dot uk
  2004-04-25 23:27 ` [Bug optimization/15139] " p dot van-hoof at qub dot ac dot uk
@ 2004-04-25 23:47 ` pinskia at gcc dot gnu dot org
  2004-06-22 17:04 ` [Bug rtl-optimization/15139] " mmitchel at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-04-25 23:47 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |memory-hog
            Summary|cc1 uses excessive amounts  |[3.4 Regression] cc1 uses
                   |of memory compiling small   |excessive amounts of memory
                   |routine                     |compiling small routine
   Target Milestone|---                         |3.4.1


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


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

* [Bug rtl-optimization/15139] [3.4 Regression] cc1 uses excessive amounts of memory compiling small routine
  2004-04-25 23:00 [Bug optimization/15139] New: cc1 uses excessive amounts of memory compiling small routine p dot van-hoof at qub dot ac dot uk
  2004-04-25 23:27 ` [Bug optimization/15139] " p dot van-hoof at qub dot ac dot uk
  2004-04-25 23:47 ` [Bug optimization/15139] [3.4 Regression] " pinskia at gcc dot gnu dot org
@ 2004-06-22 17:04 ` mmitchel at gcc dot gnu dot org
  2004-06-22 17:38 ` mmitchel at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-06-22 17:04 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2004-06-22 17:04 -------
Jan, can you look at this problem?  It seems to be x86-64 specific.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hubicka at gcc dot gnu dot
                   |                            |org


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


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

* [Bug rtl-optimization/15139] [3.4 Regression] cc1 uses excessive amounts of memory compiling small routine
  2004-04-25 23:00 [Bug optimization/15139] New: cc1 uses excessive amounts of memory compiling small routine p dot van-hoof at qub dot ac dot uk
                   ` (2 preceding siblings ...)
  2004-06-22 17:04 ` [Bug rtl-optimization/15139] " mmitchel at gcc dot gnu dot org
@ 2004-06-22 17:38 ` mmitchel at gcc dot gnu dot org
  2004-06-25 22:20 ` hubicka at ucw dot cz
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-06-22 17:38 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2004-06-22 17:37 -------
This is a serious x86-64 specific bug.  The compiler goes into an infinite loop,
creating a giant RTL structure.

Postponed until GCC 3.4.2, since x86-64 is not a primary platform.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2004-06-22 17:38:00
               date|                            |
   Target Milestone|3.4.1                       |3.4.2


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


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

* [Bug rtl-optimization/15139] [3.4 Regression] cc1 uses excessive amounts of memory compiling small routine
  2004-04-25 23:00 [Bug optimization/15139] New: cc1 uses excessive amounts of memory compiling small routine p dot van-hoof at qub dot ac dot uk
                   ` (3 preceding siblings ...)
  2004-06-22 17:38 ` mmitchel at gcc dot gnu dot org
@ 2004-06-25 22:20 ` hubicka at ucw dot cz
  2004-08-29 18:53 ` mmitchel at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: hubicka at ucw dot cz @ 2004-06-25 22:20 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From hubicka at ucw dot cz  2004-06-25 22:13 -------
Subject: Re:  [3.4 Regression] cc1 uses excessive amounts of memory compiling small routine

> 
> ------- Additional Comments From mmitchel at gcc dot gnu dot org  2004-06-22 17:04 -------
> Jan, can you look at this problem?  It seems to be x86-64 specific.

Unforutnately I managed to mess up my 3.4 tree checkout before leaving
and have no x86-64 machine here (and I checked that it does not
reproduce on mainline), but I will try to figure out what I can do
tomorrow (ie whether I can download the tree here and reproduce it on
the cross)

Honza
> 
> -- 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                  CC|                            |hubicka at gcc dot gnu dot
>                    |                            |org
> 
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15139
> 
> ------- You are receiving this mail because: -------
> You are on the CC list for the bug, or are watching someone who is.


-- 


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


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

* [Bug rtl-optimization/15139] [3.4 Regression] cc1 uses excessive amounts of memory compiling small routine
  2004-04-25 23:00 [Bug optimization/15139] New: cc1 uses excessive amounts of memory compiling small routine p dot van-hoof at qub dot ac dot uk
                   ` (4 preceding siblings ...)
  2004-06-25 22:20 ` hubicka at ucw dot cz
@ 2004-08-29 18:53 ` mmitchel at gcc dot gnu dot org
  2004-11-01  0:47 ` mmitchel at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-08-29 18:53 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2004-08-29 18:47 -------
Postponed until GCC 3.4.3.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.4.2                       |3.4.3


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


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

* [Bug rtl-optimization/15139] [3.4 Regression] cc1 uses excessive amounts of memory compiling small routine
  2004-04-25 23:00 [Bug optimization/15139] New: cc1 uses excessive amounts of memory compiling small routine p dot van-hoof at qub dot ac dot uk
                   ` (5 preceding siblings ...)
  2004-08-29 18:53 ` mmitchel at gcc dot gnu dot org
@ 2004-11-01  0:47 ` mmitchel at gcc dot gnu dot org
  2005-01-12 10:47 ` jakub at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-11-01  0:47 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2004-11-01 00:46 -------
Postponed until GCC 3.4.4.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.4.3                       |3.4.4


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


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

* [Bug rtl-optimization/15139] [3.4 Regression] cc1 uses excessive amounts of memory compiling small routine
  2004-04-25 23:00 [Bug optimization/15139] New: cc1 uses excessive amounts of memory compiling small routine p dot van-hoof at qub dot ac dot uk
                   ` (6 preceding siblings ...)
  2004-11-01  0:47 ` mmitchel at gcc dot gnu dot org
@ 2005-01-12 10:47 ` jakub at gcc dot gnu dot org
  2005-01-19  9:31 ` cvs-commit at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: jakub at gcc dot gnu dot org @ 2005-01-12 10:47 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From jakub at gcc dot gnu dot org  2005-01-12 10:47 -------
Patch here: <http://gcc.gnu.org/ml/gcc-patches/2005-01/msg00612.html>

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED
           Keywords|                            |patch
   Last reconfirmed|2004-06-22 17:38:00         |2005-01-12 10:47:27
               date|                            |


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


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

* [Bug rtl-optimization/15139] [3.4 Regression] cc1 uses excessive amounts of memory compiling small routine
  2004-04-25 23:00 [Bug optimization/15139] New: cc1 uses excessive amounts of memory compiling small routine p dot van-hoof at qub dot ac dot uk
                   ` (7 preceding siblings ...)
  2005-01-12 10:47 ` jakub at gcc dot gnu dot org
@ 2005-01-19  9:31 ` cvs-commit at gcc dot gnu dot org
  2005-01-19 11:19 ` cvs-commit at gcc dot gnu dot org
  2005-01-19 11:21 ` jakub at gcc dot gnu dot org
  10 siblings, 0 replies; 12+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-01-19  9:31 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-01-19 09:31 -------
Subject: Bug 15139

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	jakub@gcc.gnu.org	2005-01-19 09:31:16

Modified files:
	gcc            : ChangeLog Makefile.in combine.c params.def 
	                 params.h 
	gcc/doc        : invoke.texi 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/gcc.dg: 20050111-2.c 

Log message:
	PR rtl-optimization/15139
	* combine.c: Include params.h.
	(count_rtxs): New function.
	(record_value_for_reg): If replace_rtx would replace at least
	2 occurrences of REG in VALUE and TEM is really large, replace REG with
	(clobber (const_int 0)) instead of TEM.
	* params.def (PARAM_MAX_LAST_VALUE_RTL): New.
	* params.h (MAX_LAST_VALUE_RTL): New.
	* Makefile.in (combine.o): Depend on $(PARAMS_H).
	* doc/invoke.texi (--param max-last-value-rtl=N): Document.
	
	* gcc.dg/20050111-2.c: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.7184&r2=2.7185
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/Makefile.in.diff?cvsroot=gcc&r1=1.1442&r2=1.1443
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/combine.c.diff?cvsroot=gcc&r1=1.468&r2=1.469
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/params.def.diff?cvsroot=gcc&r1=1.51&r2=1.52
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/params.h.diff?cvsroot=gcc&r1=1.25&r2=1.26
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/invoke.texi.diff?cvsroot=gcc&r1=1.568&r2=1.569
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.4908&r2=1.4909
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20050111-2.c.diff?cvsroot=gcc&r1=NONE&r2=1.1



-- 


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


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

* [Bug rtl-optimization/15139] [3.4 Regression] cc1 uses excessive amounts of memory compiling small routine
  2004-04-25 23:00 [Bug optimization/15139] New: cc1 uses excessive amounts of memory compiling small routine p dot van-hoof at qub dot ac dot uk
                   ` (8 preceding siblings ...)
  2005-01-19  9:31 ` cvs-commit at gcc dot gnu dot org
@ 2005-01-19 11:19 ` cvs-commit at gcc dot gnu dot org
  2005-01-19 11:21 ` jakub at gcc dot gnu dot org
  10 siblings, 0 replies; 12+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-01-19 11:19 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-01-19 11:18 -------
Subject: Bug 15139

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_4-branch
Changes by:	jakub@gcc.gnu.org	2005-01-19 11:18:20

Modified files:
	gcc            : ChangeLog params.def combine.c Makefile.in 
	                 params.h 
	gcc/testsuite  : ChangeLog 
	gcc/doc        : invoke.texi 
Added files:
	gcc/testsuite/gcc.dg: 20050111-2.c 

Log message:
	PR rtl-optimization/15139
	* combine.c: Include params.h.
	(count_rtxs): New function.
	(record_value_for_reg): If replace_rtx would replace at least
	2 occurrences of REG in VALUE and TEM is really large, replace REG with
	(clobber (const_int 0)) instead of TEM.
	* params.def (PARAM_MAX_LAST_VALUE_RTL): New.
	* params.h (MAX_LAST_VALUE_RTL): New.
	* Makefile.in (combine.o): Depend on $(PARAMS_H).
	* doc/invoke.texi (--param max-last-value-rtl=N): Document.
	
	* gcc.dg/20050111-2.c: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=2.2326.2.778&r2=2.2326.2.779
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/params.def.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.33.4.2&r2=1.33.4.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/combine.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.400.4.12&r2=1.400.4.13
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/Makefile.in.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.1223.2.21&r2=1.1223.2.22
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/params.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.16&r2=1.16.16.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.3389.2.347&r2=1.3389.2.348
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/invoke.texi.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.390.2.34&r2=1.390.2.35
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20050111-2.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=NONE&r2=1.1.2.1



-- 


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


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

* [Bug rtl-optimization/15139] [3.4 Regression] cc1 uses excessive amounts of memory compiling small routine
  2004-04-25 23:00 [Bug optimization/15139] New: cc1 uses excessive amounts of memory compiling small routine p dot van-hoof at qub dot ac dot uk
                   ` (9 preceding siblings ...)
  2005-01-19 11:19 ` cvs-commit at gcc dot gnu dot org
@ 2005-01-19 11:21 ` jakub at gcc dot gnu dot org
  10 siblings, 0 replies; 12+ messages in thread
From: jakub at gcc dot gnu dot org @ 2005-01-19 11:21 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From jakub at gcc dot gnu dot org  2005-01-19 11:21 -------
Fixed in CVS.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


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


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

end of thread, other threads:[~2005-01-19 11:21 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-04-25 23:00 [Bug optimization/15139] New: cc1 uses excessive amounts of memory compiling small routine p dot van-hoof at qub dot ac dot uk
2004-04-25 23:27 ` [Bug optimization/15139] " p dot van-hoof at qub dot ac dot uk
2004-04-25 23:47 ` [Bug optimization/15139] [3.4 Regression] " pinskia at gcc dot gnu dot org
2004-06-22 17:04 ` [Bug rtl-optimization/15139] " mmitchel at gcc dot gnu dot org
2004-06-22 17:38 ` mmitchel at gcc dot gnu dot org
2004-06-25 22:20 ` hubicka at ucw dot cz
2004-08-29 18:53 ` mmitchel at gcc dot gnu dot org
2004-11-01  0:47 ` mmitchel at gcc dot gnu dot org
2005-01-12 10:47 ` jakub at gcc dot gnu dot org
2005-01-19  9:31 ` cvs-commit at gcc dot gnu dot org
2005-01-19 11:19 ` cvs-commit at gcc dot gnu dot org
2005-01-19 11:21 ` jakub at gcc dot gnu dot 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).