[Bug lto/87988] [9 regression] Streaming of ABSTRACT_ORIGIN is expensive

rguenther at suse dot de gcc-bugzilla@gcc.gnu.org
Tue Nov 27 11:59:00 GMT 2018


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87988

--- Comment #8 from rguenther at suse dot de <rguenther at suse dot de> ---
On November 27, 2018 12:01:03 PM GMT+01:00, "hubicka at gcc dot gnu.org"
<gcc-bugzilla@gcc.gnu.org> wrote:
>https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87988
>
>--- Comment #7 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
>Hi,
>ltrans files are 1374K without and 1339K with patch.
>
>WPA report without patch:
>[WPA] read 13690507 SCCs of average size 1.397311
>[WPA] 19129895 tree bodies read in total
>[WPA] tree SCC table: size 4194301, 2847668 elements, collision ratio:
>0.834030
>[WPA] tree SCC max chain length 156 (size 1)
>[WPA] Compared 5298938 SCCs, 3633923 collisions (0.685783)
>[WPA] Merged 5282405 SCCs
>[WPA] Merged 9857161 tree bodies
>[WPA] Merged 3063763 types
>[WPA] 1614359 types prevailed (2464626 associated trees)
>[WPA] GIMPLE canonical type table: size 32749, 22785 elements, 149648
>searches,
>63491 collisions (ratio: 0.424269)
>[WPA] GIMPLE canonical type pointer-map: 22785 elements, 348123
>searches
>[WPA] # of input files: 2236
>WPA] Compression: 298531604 input bytes, 898586109 uncompressed bytes
>(ratio:
>3.010020)
>[WPA] Size of mmap'd section decls: 298531604 bytes
>
>WPA report with patch:
>WPA] read 13139926 SCCs of average size 1.412202
>[WPA] 18556224 tree bodies read in total
>[WPA] tree SCC table: size 4194301, 2725601 elements, collision ratio:
>0.813527
>[WPA] tree SCC max chain length 153 (size 1)
>[WPA] Compared 5043033 SCCs, 3379920 collisions (0.670216)
>[WPA] Merged 5027945 SCCs
>[WPA] Merged 9584037 tree bodies
>[WPA] Merged 2957501 types
>[WPA] 1557131 types prevailed (2402973 associated trees)
>[WPA] GIMPLE canonical type table: size 32749, 22783 elements, 148468
>searches,
>63408 collisions (ratio: 0.427082)
>[WPA] GIMPLE canonical type pointer-map: 22783 elements, 347231
>searches
>[WPA] Compression: 288287953 input bytes, 867825506 uncompressed bytes
>(ratio:
>3.010273)
>[WPA] Size of mmap'd section decls: 288287953 bytes
>
>
>The WPA report after optimization without patch:
>WPA statistics
>[WPA] read 13690507 SCCs of average size 1.397311
>[WPA] 19129895 tree bodies read in total
>[WPA] # of input files: 2236
>[WPA] # of input cgraph nodes: 411683
>[WPA] # of function bodies: 83824
>[WPA] # of output files: 128
>[WPA] # of output symtab nodes: 1050843
>[WPA] # of output tree pickle references: 708465
>[WPA] # of output tree bodies: 190996
>[WPA] # callgraph partitions: 128
>[WPA] Compression: 416611153 input bytes, 1228624058 uncompressed bytes
>(ratio:
>2.949090)
>[WPA] Size of mmap'd section decls: 298531604 bytes
>[WPA] Size of mmap'd section function_body: 72959123 bytes
>
>with patch:
>WPA statistics
>[WPA] read 13139926 SCCs of average size 1.412202
>[WPA] 18556224 tree bodies read in total
>[WPA] # of input files: 2236
>[WPA] # of input cgraph nodes: 411683
>[WPA] # of function bodies: 83824
>[WPA] # of output files: 128
>[WPA] # of output symtab nodes: 1050843
>[WPA] # of output tree pickle references: 685935
>[WPA] # of output tree bodies: 183785
>[WPA] # callgraph partitions: 128
>[WPA] Compression: 404728108 input bytes, 1193421138 uncompressed bytes
>(ratio:
>2.948699)
>[WPA] Size of mmap'd section decls: 288287953 bytes
>[WPA] Size of mmap'd section function_body: 71319730 bytes

That makes it not worth the trouble? It might be most of the trees are still
reachable via DECL_ABSTRACT_ORIGIN from the locals (even if they are unused). 

Do we now aggressively prune unused locals from BLOCK_VARS?


More information about the Gcc-bugs mailing list