Skip to content

build: Lower optimization of GCC 9 default builds from -Os to -O2

Gabriel Ferreira requested to merge Gabrielcarvfer/ns-3-dev:Gcc9BugMemory into master

A bug in GCC 9 can result in crashes due to excessive memory usage (>10GB).

I saw this recently in Nr CI jobs.

Compile command
/usr/bin/g++-9  -DEIGEN_MPL2_ONLY -DHAVE_BOOST -DHAVE_BOOST_UNITS -DHAVE_EIGEN3 -DHAVE_GSL -DHAVE_LIBXML2 -DHAVE_PACKET_H -
DHAVE_SQLITE3 -DNS3_ASSERT_ENABLE -DNS3_BUILD_PROFILE_DEBUG -DNS3_LOG_ENABLE -DPROJECT_SOURCE_PATH=\"/ns-3-dev\" -DRAW_SOCK_CREATOR=\"/ns-3-dev/build/src/fd-net-dev
ice/ns3-dev-raw-sock-creator-default\" -DTAP_DEV_CREATOR=\"/ns-3-dev/build/src/fd-net-device/ns3-dev-tap-device-creator-default\" -D__LINUX__ -I../build/include -I/
usr -I/usr/include/eigen3 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0 -I/usr/include
/gtk-3.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/libxml2  -Os -g -DNDEBUG -fPIC   -fno-semantic-interposition -fdiagnostics-color=always -Wall -std=c++2a -o contrib/nr/CMakeFiles/libnr-obj.dir/model/nr-eesm-t1.cc.o -c /ns-3-dev/contrib/nr/model/nr-eesm-t1.cc -ftime-report
GCCs -ftime-report for -Os
Time variable                                   usr           sys          wall               GGC
 phase setup                        :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)    1369 kB (  0%)
 phase parsing                      :   0.66 (  1%)   0.43 (  7%)   1.19 (  2%)  216257 kB (  2%)
 phase lang. deferred               :   0.08 (  0%)   0.03 (  0%)   0.11 (  0%)   21507 kB (  0%)
 phase opt and generate             :  49.98 ( 83%)   4.36 ( 66%)  54.39 ( 81%) 8737340 kB ( 87%)
 phase last asm                     :   9.69 ( 16%)   1.71 ( 26%)  11.44 ( 17%) 1048364 kB ( 10%)
 phase finalize                     :   0.01 (  0%)   0.03 (  0%)   0.03 (  0%)       0 kB (  0%)
 |name lookup                       :   0.07 (  0%)   0.05 (  1%)   0.18 (  0%)    4950 kB (  0%)
 |overload resolution               :   0.25 (  0%)   0.06 (  1%)   0.28 (  0%)   64860 kB (  1%)
 garbage collection                 :   4.33 (  7%)   0.00 (  0%)   4.33 (  6%)       0 kB (  0%)
 callgraph construction             :   0.05 (  0%)   0.01 (  0%)   0.05 (  0%)    9175 kB (  0%)
 callgraph optimization             :   0.01 (  0%)   0.00 (  0%)   0.04 (  0%)     130 kB (  0%)
 ipa function summary               :   0.03 (  0%)   0.00 (  0%)   0.02 (  0%)     508 kB (  0%)
 ipa dead code removal              :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)       0 kB (  0%)
 ipa cp                             :   0.04 (  0%)   0.00 (  0%)   0.05 (  0%)    9582 kB (  0%)
 ipa inlining heuristics            :   0.04 (  0%)   0.00 (  0%)   0.04 (  0%)    1071 kB (  0%)
 ipa various optimizations          :   0.17 (  0%)   0.08 (  1%)   0.23 (  0%)   70938 kB (  1%)
 ipa reference                      :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 ipa pure const                     :   0.02 (  0%)   0.00 (  0%)   0.00 (  0%)      11 kB (  0%)
 ipa icf                            :   0.05 (  0%)   0.00 (  0%)   0.06 (  0%)       0 kB (  0%)
 ipa SRA                            :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)    1243 kB (  0%)
 cfg construction                   :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)     697 kB (  0%)
 cfg cleanup                        :   0.15 (  0%)   0.01 (  0%)   0.10 (  0%)      20 kB (  0%)
 trivially dead code                :   0.08 (  0%)   0.00 (  0%)   0.08 (  0%)       0 kB (  0%)
 df scan insns                      :   0.05 (  0%)   0.01 (  0%)   0.07 (  0%)       1 kB (  0%)
 df multiple defs                   :   0.05 (  0%)   0.01 (  0%)   0.05 (  0%)       0 kB (  0%)
 df reaching defs                   :   0.21 (  0%)   0.07 (  1%)   0.29 (  0%)       0 kB (  0%)
 df live regs                       :   0.47 (  1%)   0.02 (  0%)   0.44 (  1%)       2 kB (  0%)
 df live&initialized regs           :   0.13 (  0%)   0.00 (  0%)   0.14 (  0%)       0 kB (  0%)
 df must-initialized regs           :   0.01 (  0%)   0.00 (  0%)   0.02 (  0%)       0 kB (  0%)
 df use-def / def-use chains        :   0.09 (  0%)   0.00 (  0%)   0.09 (  0%)       0 kB (  0%)
 df reg dead/unused notes           :   0.21 (  0%)   0.00 (  0%)   0.20 (  0%)    3419 kB (  0%)
 register information               :   0.05 (  0%)   0.00 (  0%)   0.04 (  0%)       0 kB (  0%)
 alias analysis                     :   0.13 (  0%)   0.00 (  0%)   0.14 (  0%)   11423 kB (  0%)
 alias stmt walking                 :   3.24 (  5%)   0.03 (  0%)   3.20 (  5%)      10 kB (  0%)
 register scan                      :   0.01 (  0%)   0.01 (  0%)   0.01 (  0%)       0 kB (  0%)
 rebuild jump labels                :   0.03 (  0%)   0.01 (  0%)   0.02 (  0%)       0 kB (  0%)
 preprocessing                      :   0.05 (  0%)   0.12 (  2%)   0.23 (  0%)    6351 kB (  0%)
 parser (global)                    :   0.23 (  0%)   0.12 (  2%)   0.43 (  1%)  103190 kB (  1%)
 parser struct body                 :   0.04 (  0%)   0.04 (  1%)   0.09 (  0%)   20009 kB (  0%)
 parser function body               :   0.03 (  0%)   0.04 (  1%)   0.03 (  0%)    5055 kB (  0%)
 parser inl. func. body             :   0.05 (  0%)   0.01 (  0%)   0.05 (  0%)    8238 kB (  0%)
 parser inl. meth. body             :   0.04 (  0%)   0.02 (  0%)   0.06 (  0%)   10981 kB (  0%)
 template instantiation             :   0.26 (  0%)   0.09 (  1%)   0.32 (  0%)   66396 kB (  1%)
 constant expression evaluation     :   0.03 (  0%)   0.02 (  0%)   0.05 (  0%)     240 kB (  0%)
 early inlining heuristics          :   0.00 (  0%)   0.03 (  0%)   0.02 (  0%)   17453 kB (  0%)
 inline parameters                  :   0.07 (  0%)   0.00 (  0%)   0.09 (  0%)    1726 kB (  0%)
 integration                        :   0.34 (  1%)   0.13 (  2%)   0.43 (  1%)   72980 kB (  1%)
 tree gimplify                      :   0.09 (  0%)   0.00 (  0%)   0.09 (  0%)   12662 kB (  0%)
 tree eh                            :   0.47 (  1%)   0.00 (  0%)   0.50 (  1%)   15868 kB (  0%)
 tree CFG construction              :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)    6763 kB (  0%)
 tree CFG cleanup                   :   0.07 (  0%)   0.02 (  0%)   0.12 (  0%)      23 kB (  0%)
 tree tail merge                    :   0.01 (  0%)   0.00 (  0%)   0.02 (  0%)       0 kB (  0%)
 tree VRP                           :   0.10 (  0%)   0.02 (  0%)   0.13 (  0%)     567 kB (  0%)
 tree Early VRP                     :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)     857 kB (  0%)
 tree copy propagation              :   0.07 (  0%)   0.01 (  0%)   0.06 (  0%)       6 kB (  0%)
 tree PTA                           :   0.13 (  0%)   0.00 (  0%)   0.15 (  0%)     138 kB (  0%)
 tree PHI insertion                 :   0.01 (  0%)   0.00 (  0%)   0.02 (  0%)    1528 kB (  0%)
 tree SSA rewrite                   :   0.04 (  0%)   0.00 (  0%)   0.06 (  0%)   12162 kB (  0%)
 tree SSA other                     :   0.02 (  0%)   0.00 (  0%)   0.00 (  0%)      50 kB (  0%)
 tree SSA incremental               :   0.78 (  1%)   0.01 (  0%)   0.77 (  1%)    1543 kB (  0%)
 tree operand scan                  :   0.12 (  0%)   0.14 (  2%)   0.32 (  0%)    7014 kB (  0%)
 dominator optimization             :   0.06 (  0%)   0.00 (  0%)   0.04 (  0%)    3015 kB (  0%)
 tree SRA                           :   0.03 (  0%)   0.00 (  0%)   0.01 (  0%)      42 kB (  0%)
 isolate eroneous paths             :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)       0 kB (  0%)
 tree CCP                           :   0.08 (  0%)   0.00 (  0%)   0.06 (  0%)    1693 kB (  0%)
 tree reassociation                 :   0.01 (  0%)   0.00 (  0%)   0.02 (  0%)       0 kB (  0%)
 tree PRE                           :   0.04 (  0%)   0.00 (  0%)   0.04 (  0%)    6878 kB (  0%)
 tree FRE                           :   0.06 (  0%)   0.00 (  0%)   0.10 (  0%)    2312 kB (  0%)
 tree code sinking                  :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)       1 kB (  0%)
 tree linearize phis                :   0.01 (  0%)   0.01 (  0%)   0.01 (  0%)      25 kB (  0%)
 tree backward propagate            :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)       0 kB (  0%)
 tree forward propagate             :   0.03 (  0%)   0.01 (  0%)   0.05 (  0%)    1603 kB (  0%)
 tree conservative DCE              :   0.04 (  0%)   0.00 (  0%)   0.06 (  0%)       6 kB (  0%)
 tree aggressive DCE                :   0.17 (  0%)   0.01 (  0%)   0.19 (  0%)     435 kB (  0%)
 tree DSE                           :   0.04 (  0%)   0.00 (  0%)   0.03 (  0%)    1028 kB (  0%)
 tree loop invariant motion         :   0.02 (  0%)   0.00 (  0%)   0.00 (  0%)       0 kB (  0%)
 scev constant prop                 :   0.01 (  0%)   0.01 (  0%)   0.00 (  0%)      66 kB (  0%)
 complete unrolling                 :   0.01 (  0%)   0.00 (  0%)   0.02 (  0%)     480 kB (  0%)
 tree iv optimization               :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)     915 kB (  0%)
 gimple CSE sin/cos                 :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)       0 kB (  0%)
 gimple widening/fma detection      :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 dominance frontiers                :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 dominance computation              :   0.07 (  0%)   0.01 (  0%)   0.12 (  0%)       0 kB (  0%)
 control dependences                :   0.56 (  1%)   0.00 (  0%)   0.57 (  1%)       0 kB (  0%)
 out of ssa                         :   0.02 (  0%)   0.00 (  0%)   0.01 (  0%)     121 kB (  0%)
 expand vars                        :   3.59 (  6%)   0.00 (  0%)   3.59 (  5%)    1318 kB (  0%)
 expand                             :   0.06 (  0%)   0.00 (  0%)   0.07 (  0%)   50388 kB (  1%)
 post expand cleanups               :   0.02 (  0%)   0.00 (  0%)   0.00 (  0%)    3072 kB (  0%)
 lower subreg                       :   0.01 (  0%)   0.00 (  0%)   0.02 (  0%)    1565 kB (  0%)
 forward prop                       :   0.05 (  0%)   0.00 (  0%)   0.05 (  0%)     974 kB (  0%)
 CSE                                :   0.16 (  0%)   0.01 (  0%)   0.17 (  0%)    3554 kB (  0%)
 dead code elimination              :   0.06 (  0%)   0.00 (  0%)   0.06 (  0%)       0 kB (  0%)
 dead store elim1                   :   0.04 (  0%)   0.00 (  0%)   0.04 (  0%)     763 kB (  0%)
 dead store elim2                   :   0.06 (  0%)   0.00 (  0%)   0.06 (  0%)     879 kB (  0%)
 loop init                          :   0.04 (  0%)   0.00 (  0%)   0.04 (  0%)     916 kB (  0%)
 loop fini                          :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 CPROP                              :   0.16 (  0%)   0.01 (  0%)   0.22 (  0%)    3142 kB (  0%)
 code hoisting                      :   0.73 (  1%)   0.02 (  0%)   0.75 (  1%)     750 kB (  0%)
 CSE 2                              :   0.05 (  0%)   0.00 (  0%)   0.05 (  0%)    1572 kB (  0%)
 branch prediction                  :   0.02 (  0%)   0.00 (  0%)   0.04 (  0%)      76 kB (  0%)
 combiner                           :   0.06 (  0%)   0.00 (  0%)   0.05 (  0%)    1119 kB (  0%)
 if-conversion                      :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)       1 kB (  0%)
 integrated RA                      :   0.25 (  0%)   0.00 (  0%)   0.25 (  0%)   30591 kB (  0%)
 LRA non-specific                   :   0.11 (  0%)   0.02 (  0%)   0.12 (  0%)     134 kB (  0%)
 LRA virtuals elimination           :   0.06 (  0%)   0.01 (  0%)   0.08 (  0%)    5444 kB (  0%)
 LRA create live ranges             :   0.06 (  0%)   0.00 (  0%)   0.07 (  0%)     210 kB (  0%)
 LRA hard reg assignment            :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 LRA rematerialization              :   0.03 (  0%)   0.00 (  0%)   0.02 (  0%)       0 kB (  0%)
 reload                             :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)       0 kB (  0%)
 reload CSE regs                    :   0.07 (  0%)   0.00 (  0%)   0.09 (  0%)    1609 kB (  0%)
 ree                                :   0.03 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 thread pro- & epilogue             :   0.04 (  0%)   0.00 (  0%)   0.03 (  0%)      56 kB (  0%)
 if-conversion 2                    :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 peephole 2                         :   0.02 (  0%)   0.00 (  0%)   0.01 (  0%)       5 kB (  0%)
 hard reg cprop                     :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)       2 kB (  0%)
 scheduling 2                       :   0.27 (  0%)   0.00 (  0%)   0.29 (  0%)     423 kB (  0%)
 machine dep reorg                  :   0.44 (  1%)   0.09 (  1%)   0.54 (  1%)     411 kB (  0%)
 reorder blocks                     :   0.00 (  0%)   0.00 (  0%)   0.02 (  0%)     704 kB (  0%)
 shorten branches                   :   1.04 (  2%)   0.24 (  4%)   1.28 (  2%)       0 kB (  0%)
 final                              :   4.80 (  8%)   0.31 (  5%)   5.11 (  8%)  919932 kB (  9%)
 symout                             :  23.70 ( 39%)   3.53 ( 54%)  27.29 ( 41%) 5379540 kB ( 54%)
 variable tracking                  :   0.35 (  1%)   0.01 (  0%)   0.35 (  1%)   15251 kB (  0%)
 var-tracking dataflow              :   0.52 (  1%)   0.00 (  0%)   0.53 (  1%)      54 kB (  0%)
 var-tracking emit                  :   8.45 ( 14%)   1.14 ( 17%)   9.56 ( 14%) 3096662 kB ( 31%)
 tree if-combine                    :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 uninit var analysis                :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 straight-line strength reduction   :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)       0 kB (  0%)
 store merging                      :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)     241 kB (  0%)
 initialize rtl                     :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)      12 kB (  0%)
 rest of compilation                :   0.79 (  1%)   0.00 (  0%)   0.84 (  1%)    2983 kB (  0%)
 remove unused locals               :   0.08 (  0%)   0.00 (  0%)   0.09 (  0%)     127 kB (  0%)
 address taken                      :   0.06 (  0%)   0.01 (  0%)   0.05 (  0%)       0 kB (  0%)
 rebuild frequencies                :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 TOTAL                              :  60.42          6.56         67.18       10024848 kB
GCCs -ftime-report for -O2
Time variable                                   usr           sys          wall               GGC
 phase setup                        :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)    1369 kB (  0%)
 phase parsing                      :   0.65 (  2%)   0.41 ( 23%)   1.17 (  3%)  216431 kB ( 21%)
 phase lang. deferred               :   0.07 (  0%)   0.04 (  2%)   0.11 (  0%)   21507 kB (  2%)
 phase opt and generate             :  35.18 ( 98%)   1.31 ( 74%)  36.54 ( 96%)  802079 kB ( 76%)
 phase last asm                     :   0.14 (  0%)   0.00 (  0%)   0.14 (  0%)    8071 kB (  1%)
 |name lookup                       :   0.10 (  0%)   0.03 (  2%)   0.13 (  0%)    4956 kB (  0%)
 |overload resolution               :   0.21 (  1%)   0.12 (  7%)   0.34 (  1%)   64834 kB (  6%)
 garbage collection                 :   0.26 (  1%)   0.00 (  0%)   0.26 (  1%)       0 kB (  0%)
 dump files                         :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 callgraph construction             :   0.05 (  0%)   0.02 (  1%)   0.05 (  0%)    8167 kB (  1%)
 callgraph optimization             :   0.03 (  0%)   0.00 (  0%)   0.04 (  0%)     130 kB (  0%)
 ipa function summary               :   0.11 (  0%)   0.00 (  0%)   0.05 (  0%)     446 kB (  0%)
 ipa dead code removal              :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)       0 kB (  0%)
 ipa cp                             :   0.04 (  0%)   0.00 (  0%)   0.06 (  0%)    5526 kB (  1%)
 ipa inlining heuristics            :   0.07 (  0%)   0.00 (  0%)   0.09 (  0%)    1665 kB (  0%)
 ipa various optimizations          :   0.50 (  1%)   0.25 ( 14%)   0.75 (  2%)  155456 kB ( 15%)
 ipa pure const                     :   0.03 (  0%)   0.00 (  0%)   0.03 (  0%)      11 kB (  0%)
 ipa icf                            :   0.04 (  0%)   0.00 (  0%)   0.04 (  0%)       0 kB (  0%)
 ipa SRA                            :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)    1357 kB (  0%)
 cfg construction                   :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)     707 kB (  0%)
 cfg cleanup                        :   0.20 (  1%)   0.00 (  0%)   0.23 (  1%)     377 kB (  0%)
 trivially dead code                :   0.15 (  0%)   0.00 (  0%)   0.15 (  0%)       0 kB (  0%)
 df scan insns                      :   0.09 (  0%)   0.00 (  0%)   0.09 (  0%)       0 kB (  0%)
 df multiple defs                   :   0.04 (  0%)   0.01 (  1%)   0.05 (  0%)       0 kB (  0%)
 df reaching defs                   :   0.30 (  1%)   0.11 (  6%)   0.40 (  1%)       0 kB (  0%)
 df live regs                       :   0.46 (  1%)   0.00 (  0%)   0.43 (  1%)       3 kB (  0%)
 df live&initialized regs           :   0.14 (  0%)   0.00 (  0%)   0.14 (  0%)       0 kB (  0%)
 df must-initialized regs           :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)       0 kB (  0%)
 df use-def / def-use chains        :   0.15 (  0%)   0.00 (  0%)   0.16 (  0%)       0 kB (  0%)
 df reg dead/unused notes           :   0.27 (  1%)   0.00 (  0%)   0.26 (  1%)    4001 kB (  0%)
 register information               :   0.07 (  0%)   0.00 (  0%)   0.07 (  0%)       0 kB (  0%)
 alias analysis                     :   0.17 (  0%)   0.00 (  0%)   0.18 (  0%)    9305 kB (  1%)
 alias stmt walking                 :   9.38 ( 26%)   0.05 (  3%)   9.48 ( 25%)      24 kB (  0%)
 register scan                      :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)     637 kB (  0%)
 rebuild jump labels                :   0.06 (  0%)   0.00 (  0%)   0.06 (  0%)       0 kB (  0%)
 preprocessing                      :   0.05 (  0%)   0.07 (  4%)   0.21 (  1%)    6362 kB (  1%)
 parser (global)                    :   0.21 (  1%)   0.16 (  9%)   0.35 (  1%)  105284 kB ( 10%)
 parser struct body                 :   0.06 (  0%)   0.09 (  5%)   0.08 (  0%)   18983 kB (  2%)
 parser function body               :   0.02 (  0%)   0.01 (  1%)   0.09 (  0%)    5055 kB (  0%)
 parser inl. func. body             :   0.05 (  0%)   0.02 (  1%)   0.09 (  0%)    6364 kB (  1%)
 parser inl. meth. body             :   0.07 (  0%)   0.00 (  0%)   0.06 (  0%)   11941 kB (  1%)
 template instantiation             :   0.19 (  1%)   0.09 (  5%)   0.34 (  1%)   66403 kB (  6%)
 constant expression evaluation     :   0.04 (  0%)   0.01 (  1%)   0.05 (  0%)     242 kB (  0%)
 early inlining heuristics          :   0.02 (  0%)   0.00 (  0%)   0.03 (  0%)   17296 kB (  2%)
 inline parameters                  :   0.10 (  0%)   0.00 (  0%)   0.09 (  0%)    1486 kB (  0%)
 integration                        :   0.56 (  2%)   0.27 ( 15%)   0.73 (  2%)  162822 kB ( 16%)
 tree gimplify                      :   0.09 (  0%)   0.00 (  0%)   0.10 (  0%)   13415 kB (  1%)
 tree eh                            :   0.50 (  1%)   0.00 (  0%)   0.50 (  1%)   15869 kB (  2%)
 tree CFG construction              :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)    6763 kB (  1%)
 tree CFG cleanup                   :   0.28 (  1%)   0.01 (  1%)   0.28 (  1%)      23 kB (  0%)
 tree tail merge                    :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)      12 kB (  0%)
 tree VRP                           :   0.29 (  1%)   0.06 (  3%)   0.33 (  1%)    2992 kB (  0%)
 tree Early VRP                     :   0.04 (  0%)   0.00 (  0%)   0.05 (  0%)     492 kB (  0%)
 tree copy propagation              :   0.15 (  0%)   0.00 (  0%)   0.15 (  0%)       6 kB (  0%)
 tree PTA                           :   0.29 (  1%)   0.01 (  1%)   0.29 (  1%)    1780 kB (  0%)
 tree PHI insertion                 :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)    1528 kB (  0%)
 tree SSA rewrite                   :   0.10 (  0%)   0.00 (  0%)   0.10 (  0%)   19503 kB (  2%)
 tree SSA other                     :   0.02 (  0%)   0.01 (  1%)   0.01 (  0%)      49 kB (  0%)
 tree SSA incremental               :   1.14 (  3%)   0.01 (  1%)   1.14 (  3%)    5434 kB (  1%)
 tree operand scan                  :   0.33 (  1%)   0.25 ( 14%)   0.73 (  2%)   14869 kB (  1%)
 dominator optimization             :   0.20 (  1%)   0.01 (  1%)   0.22 (  1%)   15311 kB (  1%)
 backwards jump threading           :   0.02 (  0%)   0.00 (  0%)   0.01 (  0%)       2 kB (  0%)
 tree SRA                           :   0.04 (  0%)   0.00 (  0%)   0.03 (  0%)      54 kB (  0%)
 isolate eroneous paths             :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 tree CCP                           :   0.15 (  0%)   0.00 (  0%)   0.14 (  0%)     980 kB (  0%)
 tree split crit edges              :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)    1266 kB (  0%)
 tree reassociation                 :   0.03 (  0%)   0.00 (  0%)   0.02 (  0%)       0 kB (  0%)
 tree PRE                           :   0.19 (  1%)   0.00 (  0%)   0.23 (  1%)   13536 kB (  1%)
 tree FRE                           :   0.23 (  1%)   0.00 (  0%)   0.18 (  0%)    5550 kB (  1%)
 tree code sinking                  :   0.02 (  0%)   0.00 (  0%)   0.01 (  0%)      11 kB (  0%)
 tree linearize phis                :   0.03 (  0%)   0.00 (  0%)   0.04 (  0%)      18 kB (  0%)
 tree backward propagate            :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 tree forward propagate             :   0.09 (  0%)   0.00 (  0%)   0.09 (  0%)      67 kB (  0%)
 tree conservative DCE              :   0.10 (  0%)   0.00 (  0%)   0.11 (  0%)      14 kB (  0%)
 tree aggressive DCE                :   0.36 (  1%)   0.01 (  1%)   0.37 (  1%)     440 kB (  0%)
 tree DSE                           :   0.23 (  1%)   0.00 (  0%)   0.22 (  1%)       6 kB (  0%)
 tree loop invariant motion         :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)       0 kB (  0%)
 scev constant prop                 :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)      67 kB (  0%)
 complete unrolling                 :   0.01 (  0%)   0.00 (  0%)   0.02 (  0%)     495 kB (  0%)
 tree iv optimization               :   0.02 (  0%)   0.00 (  0%)   0.01 (  0%)    1076 kB (  0%)
 tree SSA uncprop                   :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 gimple CSE sin/cos                 :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 gimple widening/fma detection      :   0.03 (  0%)   0.00 (  0%)   0.02 (  0%)       0 kB (  0%)
 tree strlen optimization           :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 dominance frontiers                :   0.04 (  0%)   0.00 (  0%)   0.04 (  0%)       0 kB (  0%)
 dominance computation              :   0.23 (  1%)   0.00 (  0%)   0.26 (  1%)       0 kB (  0%)
 control dependences                :   1.20 (  3%)   0.00 (  0%)   1.20 (  3%)       0 kB (  0%)
 out of ssa                         :   0.03 (  0%)   0.00 (  0%)   0.03 (  0%)     380 kB (  0%)
 expand vars                        :   8.58 ( 24%)   0.00 (  0%)   8.58 ( 23%)    2617 kB (  0%)
 expand                             :   0.14 (  0%)   0.04 (  2%)   0.18 (  0%)  101840 kB ( 10%)
 post expand cleanups               :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)    3099 kB (  0%)
 varconst                           :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)       1 kB (  0%)
 lower subreg                       :   0.03 (  0%)   0.00 (  0%)   0.03 (  0%)    1566 kB (  0%)
 forward prop                       :   0.10 (  0%)   0.01 (  1%)   0.09 (  0%)    2911 kB (  0%)
 CSE                                :   0.19 (  1%)   0.00 (  0%)   0.18 (  0%)    1427 kB (  0%)
 dead code elimination              :   0.08 (  0%)   0.00 (  0%)   0.07 (  0%)       0 kB (  0%)
 dead store elim1                   :   0.13 (  0%)   0.00 (  0%)   0.13 (  0%)    2552 kB (  0%)
 dead store elim2                   :   0.11 (  0%)   0.00 (  0%)   0.12 (  0%)    5852 kB (  1%)
 loop init                          :   0.13 (  0%)   0.00 (  0%)   0.14 (  0%)     998 kB (  0%)
 loop invariant motion              :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)       1 kB (  0%)
 CPROP                              :   0.02 (  0%)   0.00 (  0%)   0.03 (  0%)      51 kB (  0%)
 CSE 2                              :   0.13 (  0%)   0.00 (  0%)   0.12 (  0%)     578 kB (  0%)
 branch prediction                  :   0.11 (  0%)   0.00 (  0%)   0.11 (  0%)      92 kB (  0%)
 combiner                           :   0.14 (  0%)   0.00 (  0%)   0.13 (  0%)    4710 kB (  0%)
 if-conversion                      :   0.02 (  0%)   0.00 (  0%)   0.03 (  0%)     513 kB (  0%)
 integrated RA                      :   0.39 (  1%)   0.00 (  0%)   0.40 (  1%)   33298 kB (  3%)
 LRA non-specific                   :   0.24 (  1%)   0.01 (  1%)   0.23 (  1%)    3281 kB (  0%)
 LRA virtuals elimination           :   0.06 (  0%)   0.00 (  0%)   0.07 (  0%)    7458 kB (  1%)
 LRA create live ranges             :   0.03 (  0%)   0.00 (  0%)   0.03 (  0%)     682 kB (  0%)
 LRA hard reg assignment            :   0.01 (  0%)   0.01 (  1%)   0.02 (  0%)       0 kB (  0%)
 reload CSE regs                    :   0.32 (  1%)   0.00 (  0%)   0.31 (  1%)    6070 kB (  1%)
 ree                                :   0.03 (  0%)   0.00 (  0%)   0.04 (  0%)       0 kB (  0%)
 thread pro- & epilogue             :   0.07 (  0%)   0.00 (  0%)   0.07 (  0%)      52 kB (  0%)
 if-conversion 2                    :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 combine stack adjustments          :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)       0 kB (  0%)
 peephole 2                         :   0.04 (  0%)   0.00 (  0%)   0.03 (  0%)       2 kB (  0%)
 hard reg cprop                     :   0.05 (  0%)   0.00 (  0%)   0.05 (  0%)       1 kB (  0%)
 scheduling 2                       :   0.57 (  2%)   0.02 (  1%)   0.60 (  2%)     994 kB (  0%)
 machine dep reorg                  :   0.03 (  0%)   0.00 (  0%)   0.04 (  0%)     411 kB (  0%)
 reorder blocks                     :   0.08 (  0%)   0.00 (  0%)   0.10 (  0%)    1314 kB (  0%)
 shorten branches                   :   0.05 (  0%)   0.00 (  0%)   0.05 (  0%)       0 kB (  0%)
 final                              :   0.18 (  0%)   0.01 (  1%)   0.18 (  0%)   27137 kB (  3%)
 symout                             :   0.21 (  1%)   0.03 (  2%)   0.23 (  1%)   88187 kB (  8%)
 variable tracking                  :   0.44 (  1%)   0.00 (  0%)   0.46 (  1%)   29713 kB (  3%)
 var-tracking dataflow              :   1.88 (  5%)   0.03 (  2%)   1.91 (  5%)     865 kB (  0%)
 var-tracking emit                  :   0.01 (  0%)   0.00 (  0%)   0.03 (  0%)     926 kB (  0%)
 uninit var analysis                :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 straight-line strength reduction   :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)       0 kB (  0%)
 store merging                      :   0.05 (  0%)   0.00 (  0%)   0.05 (  0%)    1827 kB (  0%)
 initialize rtl                     :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)      12 kB (  0%)
 address lowering                   :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)       0 kB (  0%)
 rest of compilation                :   0.33 (  1%)   0.00 (  0%)   0.34 (  1%)    2296 kB (  0%)
 remove unused locals               :   0.19 (  1%)   0.00 (  0%)   0.19 (  1%)     127 kB (  0%)
 address taken                      :   0.07 (  0%)   0.07 (  4%)   0.14 (  0%)       0 kB (  0%)
 rebuild frequencies                :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)       0 kB (  0%)
 TOTAL                              :  36.04          1.76         37.97        1049468 kB
Edited by Gabriel Ferreira

Merge request reports