https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119516
--- Comment #5 from Marc Poulhiès <dkm at gcc dot gnu.org> --- Here's the -ftime-report from a successful run at -O2 (https://godbolt.org/z/KEvs93bcx) Time variable wall GGC phase setup : 0.02 ( 0%) 1822k ( 1%) phase parsing : 4.70 ( 27%) 139M ( 46%) phase lang. deferred : 1.43 ( 8%) 38M ( 13%) phase opt and generate : 11.45 ( 65%) 120M ( 40%) phase last asm : 0.11 ( 1%) 1873k ( 1%) |name lookup : 0.82 ( 5%) 4465k ( 1%) |overload resolution : 1.41 ( 8%) 37M ( 12%) garbage collection : 0.93 ( 5%) 0 ( 0%) dump files : 0.05 ( 0%) 0 ( 0%) callgraph construction : 0.10 ( 1%) 2441k ( 1%) callgraph optimization : 0.10 ( 1%) 15k ( 0%) callgraph functions expansion : 9.24 ( 52%) 80M ( 27%) callgraph ipa passes : 1.87 ( 11%) 24M ( 8%) ipa function summary : 0.02 ( 0%) 514k ( 0%) ipa dead code removal : 0.01 ( 0%) 0 ( 0%) ipa cp : 0.02 ( 0%) 361k ( 0%) ipa inlining heuristics : 0.07 ( 0%) 2097k ( 1%) ipa function splitting : 0.02 ( 0%) 422k ( 0%) ipa pure const : 0.02 ( 0%) 32k ( 0%) ipa icf : 0.01 ( 0%) 0 ( 0%) ipa SRA : 0.01 ( 0%) 266k ( 0%) ipa modref : 0.01 ( 0%) 199k ( 0%) cfg cleanup : 0.08 ( 0%) 514k ( 0%) CFG verifier : 0.53 ( 3%) 0 ( 0%) trivially dead code : 0.03 ( 0%) 2648 ( 0%) df scan insns : 0.02 ( 0%) 2400 ( 0%) df reaching defs : 0.06 ( 0%) 0 ( 0%) df live regs : 0.18 ( 1%) 38k ( 0%) df live&initialized regs : 0.07 ( 0%) 0 ( 0%) df use-def / def-use chains : 0.03 ( 0%) 0 ( 0%) df reg dead/unused notes : 0.07 ( 0%) 599k ( 0%) register information : 0.02 ( 0%) 0 ( 0%) alias analysis : 0.04 ( 0%) 1322k ( 0%) alias stmt walking : 0.10 ( 1%) 287k ( 0%) register scan : 0.01 ( 0%) 10k ( 0%) rebuild jump labels : 0.01 ( 0%) 144 ( 0%) preprocessing : 0.88 ( 5%) 3989k ( 1%) parser (global) : 0.79 ( 4%) 48M ( 16%) parser struct body : 0.49 ( 3%) 20M ( 7%) parser enumerator list : 0.01 ( 0%) 198k ( 0%) parser function body : 0.11 ( 1%) 6110k ( 2%) parser inl. func. body : 0.27 ( 2%) 5861k ( 2%) parser inl. meth. body : 0.59 ( 3%) 16M ( 6%) template instantiation : 1.77 ( 10%) 53M ( 18%) constant expression evaluation : 0.15 ( 1%) 2031k ( 1%) constraint normalization : 0.08 ( 0%) 2000k ( 1%) constraint satisfaction : 0.38 ( 2%) 8306k ( 3%) early inlining heuristics : 0.02 ( 0%) 478k ( 0%) inline parameters : 0.05 ( 0%) 1344k ( 0%) integration : 0.28 ( 2%) 24M ( 8%) tree gimplify : 0.06 ( 0%) 3790k ( 1%) tree eh : 0.01 ( 0%) 442k ( 0%) tree CFG construction : 0.02 ( 0%) 1533k ( 0%) tree CFG cleanup : 0.22 ( 1%) 210k ( 0%) tree tail merge : 0.01 ( 0%) 350k ( 0%) tree VRP : 0.24 ( 1%) 697k ( 0%) tree Early VRP : 0.07 ( 0%) 900k ( 0%) tree copy propagation : 0.03 ( 0%) 28k ( 0%) tree PTA : 0.10 ( 1%) 386k ( 0%) tree SSA rewrite : 0.02 ( 0%) 1078k ( 0%) tree SSA incremental : 0.10 ( 1%) 1400k ( 0%) tree operand scan : 0.17 ( 1%) 3964k ( 1%) dominator optimization : 0.31 ( 2%) 2378k ( 1%) backwards jump threading : 0.36 ( 2%) 2423k ( 1%) tree SRA : 0.03 ( 0%) 734k ( 0%) tree CCP : 0.14 ( 1%) 389k ( 0%) tree split crit edges : 0.01 ( 0%) 395k ( 0%) tree reassociation : 0.01 ( 0%) 11k ( 0%) tree PRE : 0.11 ( 1%) 1005k ( 0%) tree FRE : 0.15 ( 1%) 830k ( 0%) tree code sinking : 0.01 ( 0%) 760k ( 0%) tree linearize phis : 0.02 ( 0%) 111k ( 0%) tree forward propagate : 0.07 ( 0%) 371k ( 0%) tree conservative DCE : 0.04 ( 0%) 24k ( 0%) tree aggressive DCE : 0.03 ( 0%) 894k ( 0%) tree DSE : 0.05 ( 0%) 204k ( 0%) PHI merge : 0.01 ( 0%) 81k ( 0%) tree loop invariant motion : 0.01 ( 0%) 10k ( 0%) tree canonical iv : 0.01 ( 0%) 102k ( 0%) complete unrolling : 0.02 ( 0%) 231k ( 0%) tree vectorization : 0.01 ( 0%) 211k ( 0%) tree slp vectorization : 0.05 ( 0%) 2252k ( 1%) tree loop distribution : 0.01 ( 0%) 30k ( 0%) tree iv optimization : 0.02 ( 0%) 700k ( 0%) tree copy headers : 0.03 ( 0%) 250k ( 0%) tree SSA verifier : 0.83 ( 5%) 0 ( 0%) tree STMT verifier : 1.84 ( 10%) 0 ( 0%) gimple widening/fma detection : 0.01 ( 0%) 42k ( 0%) tree strlen optimization : 0.03 ( 0%) 91k ( 0%) tree modref : 0.02 ( 0%) 457k ( 0%) callgraph verifier : 0.10 ( 1%) 0 ( 0%) dominance frontiers : 0.01 ( 0%) 0 ( 0%) dominance computation : 0.18 ( 1%) 0 ( 0%) out of ssa : 0.01 ( 0%) 8240 ( 0%) expand vars : 0.01 ( 0%) 348k ( 0%) expand : 0.07 ( 0%) 8347k ( 3%) post expand cleanups : 0.01 ( 0%) 414k ( 0%) varconst : 0.01 ( 0%) 4384 ( 0%) lower subreg : 0.01 ( 0%) 16k ( 0%) forward prop : 0.06 ( 0%) 87k ( 0%) CSE : 0.12 ( 1%) 277k ( 0%) dead code elimination : 0.02 ( 0%) 0 ( 0%) dead store elim1 : 0.03 ( 0%) 332k ( 0%) dead store elim2 : 0.04 ( 0%) 548k ( 0%) loop init : 0.16 ( 1%) 2313k ( 1%) loop invariant motion : 0.01 ( 0%) 11k ( 0%) loop unrolling : 0.02 ( 0%) 109k ( 0%) loop fini : 0.01 ( 0%) 2432 ( 0%) CPROP : 0.09 ( 0%) 967k ( 0%) PRE : 0.03 ( 0%) 103k ( 0%) CSE 2 : 0.08 ( 0%) 175k ( 0%) branch prediction : 0.02 ( 0%) 229k ( 0%) combiner : 0.11 ( 1%) 2117k ( 1%) late combiner : 0.07 ( 0%) 97k ( 0%) if-conversion : 0.01 ( 0%) 204k ( 0%) integrated RA : 0.22 ( 1%) 3644k ( 1%) LRA non-specific : 0.10 ( 1%) 494k ( 0%) LRA virtuals elimination : 0.03 ( 0%) 714k ( 0%) LRA reload inheritance : 0.02 ( 0%) 461k ( 0%) LRA create live ranges : 0.05 ( 0%) 63k ( 0%) LRA hard reg assignment : 0.01 ( 0%) 0 ( 0%) LRA rematerialization : 0.01 ( 0%) 0 ( 0%) reload CSE regs : 0.08 ( 0%) 690k ( 0%) ree : 0.01 ( 0%) 16k ( 0%) thread pro- & epilogue : 0.03 ( 0%) 161k ( 0%) peephole 2 : 0.01 ( 0%) 65k ( 0%) hard reg cprop : 0.03 ( 0%) 13k ( 0%) scheduling 2 : 0.20 ( 1%) 255k ( 0%) machine dep reorg : 0.02 ( 0%) 34k ( 0%) reorder blocks : 0.02 ( 0%) 370k ( 0%) shorten branches : 0.01 ( 0%) 0 ( 0%) final : 0.16 ( 1%) 6055k ( 2%) symout : 0.36 ( 2%) 32M ( 11%) variable tracking : 0.10 ( 1%) 2648k ( 1%) var-tracking dataflow : 0.14 ( 1%) 34k ( 0%) var-tracking emit : 0.16 ( 1%) 4163k ( 1%) store merging : 0.01 ( 0%) 59k ( 0%) initialize rtl : 0.01 ( 0%) 12k ( 0%) access analysis : 0.04 ( 0%) 23k ( 0%) ext dce : 0.02 ( 0%) 0 ( 0%) fold mem offsets : 0.01 ( 0%) 74k ( 0%) rest of compilation : 0.13 ( 1%) 423k ( 0%) remove unused locals : 0.05 ( 0%) 1240 ( 0%) address taken : 0.05 ( 0%) 0 ( 0%) verify loop closed : 0.01 ( 0%) 0 ( 0%) verify RTL sharing : 0.45 ( 3%) 0 ( 0%) repair loop structures : 0.01 ( 0%) 384 ( 0%) TOTAL : 17.71 302M Extra diagnostic checks enabled; compiler may run slowly. Configure with --enable-checking=release to disable checks. Execution build compiler returned: 0