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

hubicka at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Nov 12 16:01:00 GMT 2018


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

            Bug ID: 87988
           Summary: [9 regression] Streaming of ABSTRACT_ORIGIN is
                    expensive
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: lto
          Assignee: unassigned at gcc dot gnu.org
          Reporter: hubicka at gcc dot gnu.org
                CC: marxin at gcc dot gnu.org
  Target Milestone: ---

In GCC 9 we started to stream abstract origin everywhere.  Disabling abstract
oririgin improves compile time->WPA streaming noticeably. For firefox:

[WPA] read 14334905 SCCs of average size 1.322199                               
[WPA] 18953601 tree bodies read in total                                        
[WPA] tree SCC table: size 4194301, 2934991 elements, collision ratio: 0.848596 
[WPA] tree SCC max chain length 156 (size 1)                                    
[WPA] Compared 5840684 SCCs, 3635813 collisions (0.622498)                      
[WPA] Merged 5823982 SCCs                                                       
[WPA] Merged 9750701 tree bodies                                                
[WPA] Merged 3080308 types                                                      
[WPA] 1618547 types prevailed (2296163 associated trees)                        
[WPA] GIMPLE canonical type table: size 32749, 22785 elements, 149714 searches,
63531 collisions (ratio: 0.424349)
[WPA] GIMPLE canonical type pointer-map: 22785 elements, 348267 searches        
[WPA] Compression: 297652239 input bytes, 898765275 uncompressed bytes (ratio:
3.019515)

[WPA] read 10675278 SCCs of average size 1.427853                               
[WPA] 15242724 tree bodies read in total                                        
[WPA] tree SCC table: size 4194301, 1943675 elements, collision ratio: 0.786758 
[WPA] tree SCC max chain length 143 (size 1)                                    
[WPA] Compared 4140499 SCCs, 2713171 collisions (0.655276)                      
[WPA] Merged 4130159 SCCs                                                       
[WPA] Merged 8014996 tree bodies                                                
[WPA] Merged 2381430 types                                                      
[WPA] 1164716 types prevailed (1832970 associated trees)                        
[WPA] GIMPLE canonical type table: size 32749, 22769 elements, 141364 searches,
63213 collisions (ratio: 0.447165)
[WPA] GIMPLE canonical type pointer-map: 22769 elements, 346311 searches        
[WPA] Compression: 233507018 input bytes, 704808805 uncompressed bytes (ratio:
3.018363)

So roughly 27% of the decoded streams is attributed to abstract origins. GC
memory use is 776MB comopared to 1014 and TOTAL GGC memory is 5537389 compared
to 5028477

WPA->ltrans streaming is affected less 1.2GB compared to 1.3GB.


More information about the Gcc-bugs mailing list