http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54332
--- Comment #20 from dnovillo at google dot com <dnovillo at google dot com> 2012-08-21 19:07:33 UTC --- On 2012-08-21 14:54 , hjl.tools at gmail dot com wrote: > With --enable-gather-detailed-mem-stats, I got > > Alloc-pool Kind Elt size Pools Allocated (elts) Peak > (elts) Leak (elts) > > -df_scan ref base 64 18 24808192( 387628) 11869056( > 185454) 0( 0) > -df_scan ref artificial 72 18 15168528( 210674) 2044944( > 28402) 0( 0) > +df_scan ref base 64 18 513091264( 8017051) 500077440( > 7813710) 0( 0) > +df_scan ref artificial 72 18 599905368( 8332019) 2044944( > 28402) 0( 0) > elt_loc_list 32 27 7982112( 249441) 2399488( > 74984) 0( 0) > -df_scan ref regular 72 18 71483184( 992822) 45955584( > 638272) 0( 0) > +df_scan ref regular 72 18 2091195360( 29044380) 2065579776( > 28688608) 0( 0) > df_scan insn 56 18 7681016( 137161) 3340848( > 59658) 0( 0) > > -Total 15775 253131240 > +Total 16067 3345899232 > That agrees with what I found, thanks. I've added a link to the discussion about the df verifier. The vectors need to be cleared, but I can't just free the vectors: Stack vectors must be initially allocated with VEC_stack_alloc. gcc/df-scan.c: In function 'unsigned int df_count_refs(bool, bool, bool)': gcc/df-scan.c:1507:1: internal compiler error: in vec_reserve, at vec.h:1111 }