https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79416
Jan Hubicka <hubicka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hubicka at gcc dot gnu.org --- Comment #4 from Jan Hubicka <hubicka at gcc dot gnu.org> --- With trunk I get: phase opt and generate : 82.04 (100%) 25.20 (100%) 107.23 (100%) 15103M (100%) callgraph ipa passes : 78.81 ( 96%) 24.72 ( 98%) 103.53 ( 96%) 15021M ( 99%) integration : 32.50 ( 40%) 8.29 ( 33%) 40.44 ( 38%) 10311M ( 68%) tree Early VRP : 4.28 ( 5%) 0.04 ( 0%) 4.13 ( 4%) 1154k ( 0%) tree operand scan : 13.42 ( 16%) 4.64 ( 18%) 18.23 ( 17%) 1409M ( 9%) remove unused locals : 6.16 ( 8%) 0.07 ( 0%) 6.12 ( 6%) 0 ( 0%) 13% of overall runtime is ggc_internal_alloc. I wonder why early VRP become expensive. Also remove unused locals could be quite likely tamed down - we run it many times and perhaps we can keep tract of changes.