This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/14362] [tree-ssa] [gfortran] Memory leak during optimisation?
- From: "dnovillo at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 1 Mar 2004 16:15:38 -0000
- Subject: [Bug optimization/14362] [tree-ssa] [gfortran] Memory leak during optimisation?
- References: <20040301120615.14362.schnetter@aei.mpg.de>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From dnovillo at gcc dot gnu dot org 2004-03-01 16:15 -------
It seems to be variable tracking. Memory usage stabilizes at about 113Mb, and
then when rest_of_compilation calls rest_of_handle_variable_tracking, memory
utilization jumps to 267Mb, 589Mb, 949Mb, ... until the machine crashes.
I stopped compilation inside gdb at this spot:
(gdb) bt
#0 0xb74e7a15 in _int_malloc () from /lib/tls/libc.so.6
#1 0xb74e6b0d in malloc () from /lib/tls/libc.so.6
#2 0x084c61c2 in xmalloc (size=3076173400)
at /home/cygnus/dnovillo/tree-ssa-00/src/libiberty/xmalloc.c:143
#3 0x0843053f in pool_alloc (pool=0x86d91e8)
at /home/cygnus/dnovillo/tree-ssa-00/src/gcc/alloc-pool.c:249
#4 0x08381bb0 in vars_copy_1 (slot=0x2de9a808, data=0xd0f5e08)
at /home/cygnus/dnovillo/tree-ssa-00/src/gcc/var-tracking.c:748
#5 0x084c54e8 in htab_traverse_noresize (htab=0x2debb6c0,
callback=0x8381b73 <vars_copy_1>, info=0x1)
at /home/cygnus/dnovillo/tree-ssa-00/src/libiberty/hashtab.c:626
#6 0x08381d40 in vars_copy (dst=0xd0f5e08, src=0xd0f5da8)
at /home/cygnus/dnovillo/tree-ssa-00/src/gcc/var-tracking.c:792
#7 0x08382160 in dataflow_set_copy (dst=0xce23910, src=0xce23834)
at /home/cygnus/dnovillo/tree-ssa-00/src/gcc/var-tracking.c:925
#8 0x08383478 in compute_bb_dataflow (bb=0xb5aa9074)
at /home/cygnus/dnovillo/tree-ssa-00/src/gcc/var-tracking.c:1522
#9 0x083839a0 in vt_find_locations ()
at /home/cygnus/dnovillo/tree-ssa-00/src/gcc/var-tracking.c:1642
#10 0x08385c15 in variable_tracking_main ()
at /home/cygnus/dnovillo/tree-ssa-00/src/gcc/var-tracking.c:2627
#11 0x083fbd01 in rest_of_handle_variable_tracking (decl=0xb7199bc8,
insns=0xb6fa5a00)
at /home/cygnus/dnovillo/tree-ssa-00/src/gcc/toplev.c:2224
#12 0x083fdeb2 in rest_of_compilation (decl=0xb7199bc8)
at /home/cygnus/dnovillo/tree-ssa-00/src/gcc/toplev.c:3479
If the test is compiled without -g3 -gdwarf-2, it compiles just fine. The tree
optimizers take a grand total of 5% of compile time. most of the work is done
by loop analysisi (19%), web (10%) and global alloc (24%).
Assigning it to Josef as he's the one cvs ann shows in var-tracking.c
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |dberlin at gcc dot gnu dot
| |org
AssignedTo|unassigned at gcc dot gnu |zlomek at gcc dot gnu dot
|dot org |org
Status|NEW |ASSIGNED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14362