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
  }

Reply via email to