https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65076
--- Comment #4 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- markus@x4 ~ % g++ -ftime-report -Ofast -w tramp3d-v4.cpp Execution times (seconds) phase setup : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 1419 kB ( 0%) ggc phase parsing : 1.10 ( 4%) usr 0.41 (20%) sys 1.51 ( 5%) wall 167809 kB (16%) ggc phase lang. deferred : 1.94 ( 7%) usr 0.22 (11%) sys 2.16 ( 7%) wall 196631 kB (18%) ggc phase opt and generate : 23.73 (89%) usr 1.46 (70%) sys 25.18 (87%) wall 710026 kB (66%) ggc phase finalize : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc |name lookup : 0.20 ( 1%) usr 0.05 ( 2%) sys 0.36 ( 1%) wall 25424 kB ( 2%) ggc |overload resolution : 0.96 ( 4%) usr 0.10 ( 5%) sys 1.11 ( 4%) wall 116881 kB (11%) ggc garbage collection : 1.14 ( 4%) usr 0.00 ( 0%) sys 1.14 ( 4%) wall 0 kB ( 0%) ggc dump files : 0.13 ( 0%) usr 0.02 ( 1%) sys 0.20 ( 1%) wall 0 kB ( 0%) ggc callgraph construction : 0.31 ( 1%) usr 0.02 ( 1%) sys 0.46 ( 2%) wall 17921 kB ( 2%) ggc callgraph optimization : 0.37 ( 1%) usr 0.14 ( 7%) sys 0.42 ( 1%) wall 14318 kB ( 1%) ggc ipa dead code removal : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall 0 kB ( 0%) ggc ipa virtual call target : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 1 kB ( 0%) ggc ipa cp : 0.10 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall 4221 kB ( 0%) ggc ipa inlining heuristics : 0.35 ( 1%) usr 0.00 ( 0%) sys 0.35 ( 1%) wall 10474 kB ( 1%) ggc ipa function splitting : 0.01 ( 0%) usr 0.01 ( 0%) sys 0.05 ( 0%) wall 797 kB ( 0%) ggc ipa comdats : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc ipa reference : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 0 kB ( 0%) ggc ipa profile : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 0 kB ( 0%) ggc ipa pure const : 0.07 ( 0%) usr 0.01 ( 0%) sys 0.06 ( 0%) wall 100 kB ( 0%) ggc ipa icf : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 1 kB ( 0%) ggc ipa SRA : 0.19 ( 1%) usr 0.06 ( 3%) sys 0.20 ( 1%) wall 25432 kB ( 2%) ggc ipa free inline summary : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc cfg construction : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 1645 kB ( 0%) ggc cfg cleanup : 0.17 ( 1%) usr 0.00 ( 0%) sys 0.15 ( 1%) wall 984 kB ( 0%) ggc trivially dead code : 0.13 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall 0 kB ( 0%) ggc df scan insns : 0.12 ( 0%) usr 0.00 ( 0%) sys 0.15 ( 1%) wall 107 kB ( 0%) ggc df multiple defs : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall 0 kB ( 0%) ggc df reaching defs : 0.13 ( 0%) usr 0.00 ( 0%) sys 0.25 ( 1%) wall 0 kB ( 0%) ggc df live regs : 0.70 ( 3%) usr 0.03 ( 1%) sys 0.80 ( 3%) wall 0 kB ( 0%) ggc df live&initialized regs: 0.27 ( 1%) usr 0.01 ( 0%) sys 0.18 ( 1%) wall 0 kB ( 0%) ggc df use-def / def-use chains: 0.09 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall 0 kB ( 0%) ggc df reg dead/unused notes: 0.35 ( 1%) usr 0.03 ( 1%) sys 0.43 ( 1%) wall 4732 kB ( 0%) ggc register information : 0.15 ( 1%) usr 0.01 ( 0%) sys 0.09 ( 0%) wall 0 kB ( 0%) ggc alias analysis : 0.29 ( 1%) usr 0.00 ( 0%) sys 0.31 ( 1%) wall 16094 kB ( 1%) ggc alias stmt walking : 0.63 ( 2%) usr 0.01 ( 0%) sys 0.64 ( 2%) wall 795 kB ( 0%) ggc register scan : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 544 kB ( 0%) ggc rebuild jump labels : 0.07 ( 0%) usr 0.01 ( 0%) sys 0.07 ( 0%) wall 0 kB ( 0%) ggc preprocessing : 0.07 ( 0%) usr 0.13 ( 6%) sys 0.18 ( 1%) wall 3198 kB ( 0%) ggc parser (global) : 0.13 ( 0%) usr 0.16 ( 8%) sys 0.27 ( 1%) wall 50197 kB ( 5%) ggc parser struct body : 0.16 ( 1%) usr 0.02 ( 1%) sys 0.25 ( 1%) wall 24480 kB ( 2%) ggc parser enumerator list : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 291 kB ( 0%) ggc parser function body : 0.14 ( 1%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall 7849 kB ( 1%) ggc parser inl. func. body : 0.07 ( 0%) usr 0.01 ( 0%) sys 0.04 ( 0%) wall 4142 kB ( 0%) ggc parser inl. meth. body : 0.15 ( 1%) usr 0.04 ( 2%) sys 0.17 ( 1%) wall 17265 kB ( 2%) ggc template instantiation : 2.00 ( 7%) usr 0.27 (13%) sys 2.30 ( 8%) wall 256355 kB (24%) ggc early inlining heuristics: 0.05 ( 0%) usr 0.02 ( 1%) sys 0.08 ( 0%) wall 8349 kB ( 1%) ggc inline parameters : 0.15 ( 1%) usr 0.01 ( 0%) sys 0.22 ( 1%) wall 7914 kB ( 1%) ggc integration : 0.81 ( 3%) usr 0.14 ( 7%) sys 1.01 ( 3%) wall 113530 kB (11%) ggc tree gimplify : 0.24 ( 1%) usr 0.06 ( 3%) sys 0.31 ( 1%) wall 26559 kB ( 2%) ggc tree eh : 0.07 ( 0%) usr 0.01 ( 0%) sys 0.08 ( 0%) wall 11189 kB ( 1%) ggc tree CFG construction : 0.07 ( 0%) usr 0.02 ( 1%) sys 0.06 ( 0%) wall 19071 kB ( 2%) ggc tree CFG cleanup : 0.35 ( 1%) usr 0.05 ( 2%) sys 0.25 ( 1%) wall 1323 kB ( 0%) ggc tree tail merge : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall 3 kB ( 0%) ggc tree VRP : 0.35 ( 1%) usr 0.01 ( 0%) sys 0.49 ( 2%) wall 11832 kB ( 1%) ggc tree copy propagation : 0.14 ( 1%) usr 0.00 ( 0%) sys 0.12 ( 0%) wall 285 kB ( 0%) ggc tree PTA : 0.67 ( 3%) usr 0.06 ( 3%) sys 0.77 ( 3%) wall 4489 kB ( 0%) ggc tree PHI insertion : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 2920 kB ( 0%) ggc tree SSA rewrite : 0.17 ( 1%) usr 0.01 ( 0%) sys 0.15 ( 1%) wall 16594 kB ( 2%) ggc tree SSA other : 0.09 ( 0%) usr 0.03 ( 1%) sys 0.12 ( 0%) wall 1393 kB ( 0%) ggc tree SSA incremental : 0.34 ( 1%) usr 0.03 ( 1%) sys 0.36 ( 1%) wall 5838 kB ( 1%) ggc tree operand scan : 0.49 ( 2%) usr 0.02 ( 1%) sys 0.38 ( 1%) wall 49421 kB ( 5%) ggc dominator optimization : 0.17 ( 1%) usr 0.02 ( 1%) sys 0.27 ( 1%) wall 6572 kB ( 1%) ggc tree SRA : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall 1215 kB ( 0%) ggc isolate eroneous paths : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 13 kB ( 0%) ggc tree CCP : 0.62 ( 2%) usr 0.08 ( 4%) sys 0.60 ( 2%) wall 13927 kB ( 1%) ggc tree PHI const/copy prop: 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 67 kB ( 0%) ggc tree split crit edges : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall 5764 kB ( 1%) ggc tree reassociation : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 151 kB ( 0%) ggc tree PRE : 1.00 ( 4%) usr 0.03 ( 1%) sys 1.07 ( 4%) wall 14480 kB ( 1%) ggc tree FRE : 0.88 ( 3%) usr 0.04 ( 2%) sys 0.79 ( 3%) wall 8148 kB ( 1%) ggc tree code sinking : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall 1194 kB ( 0%) ggc tree linearize phis : 0.02 ( 0%) usr 0.01 ( 0%) sys 0.06 ( 0%) wall 1296 kB ( 0%) ggc tree forward propagate : 0.27 ( 1%) usr 0.05 ( 2%) sys 0.20 ( 1%) wall 2269 kB ( 0%) ggc tree conservative DCE : 0.09 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall 300 kB ( 0%) ggc tree aggressive DCE : 0.13 ( 0%) usr 0.01 ( 0%) sys 0.22 ( 1%) wall 12882 kB ( 1%) ggc tree DSE : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall 242 kB ( 0%) ggc PHI merge : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 95 kB ( 0%) ggc tree loop bounds : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 764 kB ( 0%) ggc tree loop invariant motion: 0.09 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall 26 kB ( 0%) ggc tree canonical iv : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 1366 kB ( 0%) ggc scev constant prop : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 771 kB ( 0%) ggc tree loop unswitching : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 606 kB ( 0%) ggc complete unrolling : 0.27 ( 1%) usr 0.01 ( 0%) sys 0.30 ( 1%) wall 20912 kB ( 2%) ggc tree vectorization : 0.06 ( 0%) usr 0.01 ( 0%) sys 0.15 ( 1%) wall 9013 kB ( 1%) ggc tree slp vectorization : 0.10 ( 0%) usr 0.00 ( 0%) sys 0.18 ( 1%) wall 12751 kB ( 1%) ggc tree loop distribution : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 902 kB ( 0%) ggc tree iv optimization : 0.31 ( 1%) usr 0.00 ( 0%) sys 0.30 ( 1%) wall 17198 kB ( 2%) ggc predictive commoning : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 3265 kB ( 0%) ggc tree copy headers : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 1128 kB ( 0%) ggc tree SSA uncprop : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc tree rename SSA copies : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 0 kB ( 0%) ggc tree strlen optimization: 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 1 kB ( 0%) ggc dominance frontiers : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall 0 kB ( 0%) ggc dominance computation : 0.60 ( 2%) usr 0.03 ( 1%) sys 0.54 ( 2%) wall 0 kB ( 0%) ggc control dependences : 0.00 ( 0%) usr 0.01 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc out of ssa : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall 140 kB ( 0%) ggc expand vars : 0.06 ( 0%) usr 0.02 ( 1%) sys 0.03 ( 0%) wall 4200 kB ( 0%) ggc expand : 0.27 ( 1%) usr 0.00 ( 0%) sys 0.31 ( 1%) wall 33291 kB ( 3%) ggc post expand cleanups : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 2580 kB ( 0%) ggc varconst : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 20 kB ( 0%) ggc forward prop : 0.11 ( 0%) usr 0.01 ( 0%) sys 0.18 ( 1%) wall 3934 kB ( 0%) ggc CSE : 0.35 ( 1%) usr 0.02 ( 1%) sys 0.28 ( 1%) wall 1353 kB ( 0%) ggc dead code elimination : 0.08 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall 0 kB ( 0%) ggc dead store elim1 : 0.16 ( 1%) usr 0.01 ( 0%) sys 0.25 ( 1%) wall 3232 kB ( 0%) ggc dead store elim2 : 0.18 ( 1%) usr 0.01 ( 0%) sys 0.24 ( 1%) wall 4237 kB ( 0%) ggc loop init : 0.29 ( 1%) usr 0.06 ( 3%) sys 0.25 ( 1%) wall 18739 kB ( 2%) ggc loop invariant motion : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall 401 kB ( 0%) ggc loop fini : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 0 kB ( 0%) ggc CPROP : 0.44 ( 2%) usr 0.02 ( 1%) sys 0.32 ( 1%) wall 4941 kB ( 0%) ggc PRE : 0.18 ( 1%) usr 0.00 ( 0%) sys 0.19 ( 1%) wall 1519 kB ( 0%) ggc CSE 2 : 0.21 ( 1%) usr 0.00 ( 0%) sys 0.13 ( 0%) wall 703 kB ( 0%) ggc branch prediction : 0.11 ( 0%) usr 0.01 ( 0%) sys 0.13 ( 0%) wall 4087 kB ( 0%) ggc combiner : 0.79 ( 3%) usr 0.00 ( 0%) sys 0.76 ( 3%) wall 15418 kB ( 1%) ggc if-conversion : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 175 kB ( 0%) ggc integrated RA : 1.44 ( 5%) usr 0.03 ( 1%) sys 1.41 ( 5%) wall 56992 kB ( 5%) ggc LRA non-specific : 0.40 ( 1%) usr 0.01 ( 0%) sys 0.39 ( 1%) wall 5387 kB ( 1%) ggc LRA virtuals elimination: 0.05 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall 2587 kB ( 0%) ggc LRA reload inheritance : 0.10 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall 899 kB ( 0%) ggc LRA create live ranges : 0.32 ( 1%) usr 0.00 ( 0%) sys 0.40 ( 1%) wall 819 kB ( 0%) ggc LRA hard reg assignment : 0.11 ( 0%) usr 0.00 ( 0%) sys 0.18 ( 1%) wall 0 kB ( 0%) ggc LRA rematerialization : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall 1 kB ( 0%) ggc reload : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc reload CSE regs : 0.40 ( 1%) usr 0.02 ( 1%) sys 0.51 ( 2%) wall 6295 kB ( 1%) ggc load CSE after reload : 0.11 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall 157 kB ( 0%) ggc ree : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 135 kB ( 0%) ggc thread pro- & epilogue : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall 2825 kB ( 0%) ggc if-conversion 2 : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 10 kB ( 0%) ggc combine stack adjustments: 0.02 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc peephole 2 : 0.12 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall 516 kB ( 0%) ggc hard reg cprop : 0.08 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall 79 kB ( 0%) ggc scheduling 2 : 0.72 ( 3%) usr 0.03 ( 1%) sys 0.57 ( 2%) wall 1696 kB ( 0%) ggc machine dep reorg : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 12 kB ( 0%) ggc reorder blocks : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall 2858 kB ( 0%) ggc shorten branches : 0.08 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall 0 kB ( 0%) ggc final : 0.18 ( 1%) usr 0.00 ( 0%) sys 0.21 ( 1%) wall 7228 kB ( 1%) ggc straight-line strength reduction: 0.04 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 369 kB ( 0%) ggc rest of compilation : 0.42 ( 2%) usr 0.03 ( 1%) sys 0.37 ( 1%) wall 5498 kB ( 1%) ggc unaccounted late compilation: 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc remove unused locals : 0.15 ( 1%) usr 0.02 ( 1%) sys 0.19 ( 1%) wall 36 kB ( 0%) ggc address taken : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall 0 kB ( 0%) ggc unaccounted todo : 0.38 ( 1%) usr 0.03 ( 1%) sys 0.50 ( 2%) wall 0 kB ( 0%) ggc repair loop structures : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc TOTAL : 26.77 2.09 28.87 1075919 kB