This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug optimization/14362] [tree-ssa] [gfortran] Memory leak during optimisation?


------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]