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

yuki.tanaka at defaultcase dot de changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|alias                       |

--- Comment #2 from yuki.tanaka at defaultcase dot de ---
This started being slow somewhere between GCC 11.5 and 12.1.

$ for v in 11 12; do
  ~/build-$v/gcc/xgcc -B ~/build-$v/gcc -mcpu=cortex-m3 -mthumb -O3
-ftime-report -DN_COPIES=50 -S cunrolli-hog.c -o /dev/null
done

Time variable                                   usr           sys          wall
          GGC
 phase setup                        :   0.00 (  0%)   0.01 (  1%)   0.02 (  0%)
 2753k (  2%)
 phase parsing                      :   0.17 (  3%)   0.50 ( 53%)   0.69 (  9%)
   19M ( 12%)
 phase opt and generate             :   6.20 ( 97%)   0.43 ( 46%)   6.63 ( 90%)
  142M ( 87%)
 phase last asm                     :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)
    0  (  0%)
 callgraph construction             :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)
 4239k (  3%)
 callgraph functions expansion      :   6.05 ( 95%)   0.40 ( 43%)   6.46 ( 88%)
  118M ( 72%)
 callgraph ipa passes               :   0.05 (  1%)   0.01 (  1%)   0.06 (  1%)
 1377k (  1%)
 cfg cleanup                        :   0.04 (  1%)   0.01 (  1%)   0.02 (  0%)
 1974k (  1%)
 trivially dead code                :   0.04 (  1%)   0.00 (  0%)   0.03 (  0%)
    0  (  0%)
 df scan insns                      :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)
   96  (  0%)
 df reaching defs                   :   0.04 (  1%)   0.00 (  0%)   0.05 (  1%)
    0  (  0%)
 df live regs                       :   0.07 (  1%)   0.00 (  0%)   0.08 (  1%)
    0  (  0%)
 df live&initialized regs           :   0.04 (  1%)   0.00 (  0%)   0.00 (  0%)
    0  (  0%)
 df use-def / def-use chains        :   0.00 (  0%)   0.00 (  0%)   0.02 (  0%)
    0  (  0%)
 df reg dead/unused notes           :   0.05 (  1%)   0.01 (  1%)   0.02 (  0%)
  558k (  0%)
 register information               :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
    0  (  0%)
 alias analysis                     :   0.07 (  1%)   0.00 (  0%)   0.05 (  1%)
 3336k (  2%)
 alias stmt walking                 :   2.84 ( 45%)   0.11 ( 12%)   2.96 ( 40%)
 8241k (  5%)
 rebuild jump labels                :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)
    0  (  0%)
 preprocessing                      :   0.04 (  1%)   0.10 ( 11%)   0.26 (  4%)
 3896k (  2%)
 lexical analysis                   :   0.09 (  1%)   0.18 ( 19%)   0.22 (  3%)
    0  (  0%)
 parser (global)                    :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
  125k (  0%)
 parser function body               :   0.04 (  1%)   0.22 ( 23%)   0.20 (  3%)
   15M (  9%)
 integration                        :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
   96k (  0%)
 tree gimplify                      :   0.05 (  1%)   0.01 (  1%)   0.05 (  1%)
   10M (  6%)
 tree eh                            :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)
    0  (  0%)
 tree CFG construction              :   0.03 (  0%)   0.00 (  0%)   0.03 (  0%)
 7511k (  4%)
 tree CFG cleanup                   :   0.02 (  0%)   0.01 (  1%)   0.02 (  0%)
  256k (  0%)
 tree VRP                           :   0.07 (  1%)   0.00 (  0%)   0.08 (  1%)
 2228k (  1%)
 tree Early VRP                     :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)
  238k (  0%)
 tree copy propagation              :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)
  840  (  0%)
 tree PTA                           :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)
  184  (  0%)
 tree SSA rewrite                   :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)
  448  (  0%)
 tree SSA incremental               :   0.04 (  1%)   0.01 (  1%)   0.06 (  1%)
 1875k (  1%)
 tree operand scan                  :   0.01 (  0%)   0.01 (  1%)   0.05 (  1%)
 1958k (  1%)
 dominator optimization             :   0.06 (  1%)   0.00 (  0%)   0.06 (  1%)
 1836k (  1%)
 backwards jump threading           :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)
    0  (  0%)
 isolate eroneous paths             :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)
    0  (  0%)
 tree CCP                           :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)
   34k (  0%)
 tree reassociation                 :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)
  111k (  0%)
 tree PRE                           :   0.13 (  2%)   0.00 (  0%)   0.15 (  2%)
 1280k (  1%)
 tree FRE                           :   0.12 (  2%)   0.00 (  0%)   0.07 (  1%)
 1022k (  1%)
 tree forward propagate             :   0.02 (  0%)   0.00 (  0%)   0.01 (  0%)
  306k (  0%)
 tree conservative DCE              :   0.02 (  0%)   0.01 (  1%)   0.02 (  0%)
    0  (  0%)
 tree aggressive DCE                :   0.00 (  0%)   0.01 (  1%)   0.01 (  0%)
 3216  (  0%)
 tree DSE                           :   0.01 (  0%)   0.00 (  0%)   0.02 (  0%)
    0  (  0%)
 tree loop invariant motion         :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)
   90k (  0%)
 tree loop interchange              :   0.04 (  1%)   0.00 (  0%)   0.04 (  1%)
 3490k (  2%)
 tree loop unswitching              :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)
   33k (  0%)
 unroll and jam                     :   0.03 (  0%)   0.00 (  0%)   0.04 (  1%)
 1778k (  1%)
 complete unrolling                 :   0.09 (  1%)   0.04 (  4%)   0.11 (  1%)
 6893k (  4%)
 tree vectorization                 :   0.28 (  4%)   0.01 (  1%)   0.30 (  4%)
   23M ( 14%)
 tree slp vectorization             :   0.05 (  1%)   0.00 (  0%)   0.05 (  1%)
 4144k (  2%)
 tree loop distribution             :   0.13 (  2%)   0.00 (  0%)   0.13 (  2%)
 6172k (  4%)
 tree iv optimization               :   0.22 (  3%)   0.01 (  1%)   0.23 (  3%)
   15M (  9%)
 predictive commoning               :   0.05 (  1%)   0.01 (  1%)   0.06 (  1%)
 2833k (  2%)
 tree strlen optimization           :   0.01 (  0%)   0.00 (  0%)   0.02 (  0%)
  900k (  1%)
 dominance frontiers                :   0.00 (  0%)   0.01 (  1%)   0.00 (  0%)
    0  (  0%)
 dominance computation              :   0.01 (  0%)   0.00 (  0%)   0.03 (  0%)
    0  (  0%)
 expand vars                        :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
  871k (  1%)
 expand                             :   0.02 (  0%)   0.00 (  0%)   0.01 (  0%)
 4043k (  2%)
 lower subreg                       :   0.00 (  0%)   0.00 (  0%)   0.02 (  0%)
 1063k (  1%)
 forward prop                       :   0.01 (  0%)   0.00 (  0%)   0.03 (  0%)
  143k (  0%)
 CSE                                :   0.08 (  1%)   0.00 (  0%)   0.08 (  1%)
  413k (  0%)
 dead code elimination              :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
    0  (  0%)
 dead store elim1                   :   0.01 (  0%)   0.00 (  0%)   0.02 (  0%)
  749k (  0%)
 dead store elim2                   :   0.02 (  0%)   0.00 (  0%)   0.01 (  0%)
  701k (  0%)
 loop init                          :   0.03 (  0%)   0.00 (  0%)   0.01 (  0%)
 2091k (  1%)
 loop invariant motion              :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)
    0  (  0%)
 loop doloop                        :   0.02 (  0%)   0.00 (  0%)   0.00 (  0%)
  128k (  0%)
 CPROP                              :   0.04 (  1%)   0.00 (  0%)   0.04 (  1%)
 1717k (  1%)
 PRE                                :   0.14 (  2%)   0.02 (  2%)   0.15 (  2%)
   18k (  0%)
 CSE 2                              :   0.04 (  1%)   0.00 (  0%)   0.05 (  1%)
  148k (  0%)
 combiner                           :   0.19 (  3%)   0.03 (  3%)   0.22 (  3%)
 4830k (  3%)
 scheduling                         :   0.18 (  3%)   0.00 (  0%)   0.18 (  2%)
 1476k (  1%)
 integrated RA                      :   0.28 (  4%)   0.09 ( 10%)   0.38 (  5%)
 6806k (  4%)
 LRA non-specific                   :   0.03 (  0%)   0.00 (  0%)   0.05 (  1%)
   69k (  0%)
 LRA virtuals elimination           :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)
   19k (  0%)
 LRA reload inheritance             :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)
 6688  (  0%)
 LRA create live ranges             :   0.01 (  0%)   0.00 (  0%)   0.02 (  0%)
 6072  (  0%)
 LRA hard reg assignment            :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)
    0  (  0%)
 LRA rematerialization              :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)
    0  (  0%)
 reload                             :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)
   24  (  0%)
 reload CSE regs                    :   0.04 (  1%)   0.00 (  0%)   0.06 (  1%)
 1233k (  1%)
 load CSE after reload              :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)
 8448  (  0%)
 peephole 2                         :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
   47k (  0%)
 hard reg cprop                     :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
    0  (  0%)
 scheduling 2                       :   0.05 (  1%)   0.00 (  0%)   0.06 (  1%)
   79k (  0%)
 machine dep reorg                  :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
   97k (  0%)
 shorten branches                   :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)
    0  (  0%)
 final                              :   0.01 (  0%)   0.00 (  0%)   0.02 (  0%)
   48  (  0%)
 initialize rtl                     :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)
 7744  (  0%)
 tree loop if-conversion            :   0.05 (  1%)   0.02 (  2%)   0.07 (  1%)
 4316k (  3%)
 rest of compilation                :   0.01 (  0%)   0.00 (  0%)   0.03 (  0%)
   44k (  0%)
 TOTAL                              :   6.38          0.94          7.34       
  164M

Time variable                                   usr           sys          wall
          GGC
 phase setup                        :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
 2755k (  1%)
 phase parsing                      :   0.22 (  0%)   0.46 ( 31%)   0.68 (  1%)
   19M (  6%)
 phase opt and generate             :  67.88 (100%)   1.03 ( 69%)  68.92 ( 99%)
  293M ( 93%)
 garbage collection                 :   0.03 (  0%)   0.00 (  0%)   0.02 (  0%)
    0  (  0%)
 callgraph construction             :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)
 4239k (  1%)
 callgraph functions expansion      :  67.72 ( 99%)   1.01 ( 68%)  68.74 ( 99%)
  270M ( 86%)
 callgraph ipa passes               :   0.07 (  0%)   0.00 (  0%)   0.08 (  0%)
 1305k (  0%)
 ipa modref                         :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
 2504  (  0%)
 cfg cleanup                        :   0.02 (  0%)   0.01 (  1%)   0.04 (  0%)
 1960k (  1%)
 trivially dead code                :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)
    0  (  0%)
 df scan insns                      :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)
   96  (  0%)
 df reaching defs                   :   0.06 (  0%)   0.01 (  1%)   0.04 (  0%)
    0  (  0%)
 df live regs                       :   0.06 (  0%)   0.00 (  0%)   0.04 (  0%)
    0  (  0%)
 df live&initialized regs           :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)
    0  (  0%)
 df reg dead/unused notes           :   0.05 (  0%)   0.00 (  0%)   0.08 (  0%)
  571k (  0%)
 register information               :   0.01 (  0%)   0.00 (  0%)   0.03 (  0%)
    0  (  0%)
 alias analysis                     :   0.02 (  0%)   0.00 (  0%)   0.03 (  0%)
 3336k (  1%)
 alias stmt walking                 :  56.93 ( 84%)   0.41 ( 28%)  57.60 ( 83%)
   10M (  3%)
 preprocessing                      :   0.07 (  0%)   0.09 (  6%)   0.16 (  0%)
 3896k (  1%)
 lexical analysis                   :   0.08 (  0%)   0.13 (  9%)   0.29 (  0%)
    0  (  0%)
 parser function body               :   0.07 (  0%)   0.24 ( 16%)   0.23 (  0%)
   15M (  5%)
 tree gimplify                      :   0.05 (  0%)   0.01 (  1%)   0.05 (  0%)
   10M (  3%)
 tree eh                            :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
    0  (  0%)
 tree CFG construction              :   0.02 (  0%)   0.01 (  1%)   0.03 (  0%)
 7511k (  2%)
 tree CFG cleanup                   :   0.02 (  0%)   0.01 (  1%)   0.01 (  0%)
  256k (  0%)
 tree VRP                           :   0.13 (  0%)   0.01 (  1%)   0.14 (  0%)
  677k (  0%)
 tree Early VRP                     :   0.02 (  0%)   0.00 (  0%)   0.01 (  0%)
  162k (  0%)
 tree PTA                           :   0.03 (  0%)   0.00 (  0%)   0.02 (  0%)
  208  (  0%)
 tree SSA incremental               :   0.03 (  0%)   0.00 (  0%)   0.03 (  0%)
 1731k (  1%)
 tree operand scan                  :   0.01 (  0%)   0.02 (  1%)   0.04 (  0%)
 1846k (  1%)
 dominator optimization             :   0.04 (  0%)   0.01 (  1%)   0.06 (  0%)
  564k (  0%)
 backwards jump threading           :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)
 4800  (  0%)
 tree CCP                           :   0.04 (  0%)   0.01 (  1%)   0.03 (  0%)
   71k (  0%)
 tree split crit edges              :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
   55k (  0%)
 tree reassociation                 :   0.01 (  0%)   0.01 (  1%)   0.00 (  0%)
  111k (  0%)
 tree PRE                           :   7.30 ( 11%)   0.34 ( 23%)   7.38 ( 11%)
  110M ( 35%)
 tree FRE                           :   0.10 (  0%)   0.00 (  0%)   0.11 (  0%)
 1140k (  0%)
 tree code sinking                  :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)
   21k (  0%)
 tree forward propagate             :   0.03 (  0%)   0.00 (  0%)   0.02 (  0%)
  186k (  0%)
 tree conservative DCE              :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)
    0  (  0%)
 tree DSE                           :   0.02 (  0%)   0.00 (  0%)   0.03 (  0%)
   16M (  5%)
 tree loop invariant motion         :   0.00 (  0%)   0.00 (  0%)   0.02 (  0%)
   90k (  0%)
 tree loop interchange              :   0.04 (  0%)   0.00 (  0%)   0.04 (  0%)
 3490k (  1%)
 tree canonical iv                  :   0.00 (  0%)   0.01 (  1%)   0.01 (  0%)
   34k (  0%)
 tree loop unswitching              :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
   61k (  0%)
 unroll and jam                     :   0.04 (  0%)   0.00 (  0%)   0.04 (  0%)
 1779k (  1%)
 complete unrolling                 :   0.11 (  0%)   0.04 (  3%)   0.15 (  0%)
 6669k (  2%)
 tree vectorization                 :   0.55 (  1%)   0.04 (  3%)   0.58 (  1%)
   41M ( 13%)
 tree slp vectorization             :   0.16 (  0%)   0.02 (  1%)   0.18 (  0%)
   13M (  4%)
 tree loop distribution             :   0.12 (  0%)   0.00 (  0%)   0.12 (  0%)
 6172k (  2%)
 tree iv optimization               :   0.22 (  0%)   0.01 (  1%)   0.24 (  0%)
   15M (  5%)
 predictive commoning               :   0.08 (  0%)   0.00 (  0%)   0.08 (  0%)
 3140k (  1%)
 tree copy headers                  :   0.00 (  0%)   0.01 (  1%)   0.03 (  0%)
  207k (  0%)
 tree strlen optimization           :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)
 1072  (  0%)
 dominance computation              :   0.01 (  0%)   0.00 (  0%)   0.02 (  0%)
    0  (  0%)
 out of ssa                         :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)
    0  (  0%)
 expand vars                        :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)
  863k (  0%)
 expand                             :   0.01 (  0%)   0.01 (  1%)   0.02 (  0%)
 4056k (  1%)
 lower subreg                       :   0.00 (  0%)   0.01 (  1%)   0.01 (  0%)
 1062k (  0%)
 forward prop                       :   0.01 (  0%)   0.00 (  0%)   0.03 (  0%)
  142k (  0%)
 CSE                                :   0.09 (  0%)   0.00 (  0%)   0.10 (  0%)
  413k (  0%)
 dead code elimination              :   0.02 (  0%)   0.00 (  0%)   0.00 (  0%)
    0  (  0%)
 dead store elim1                   :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)
  754k (  0%)
 dead store elim2                   :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)
  710k (  0%)
 loop init                          :   0.00 (  0%)   0.00 (  0%)   0.00 (  0%)
 2171k (  1%)
 loop versioning                    :   0.01 (  0%)   0.01 (  1%)   0.01 (  0%)
    0  (  0%)
 loop invariant motion              :   0.00 (  0%)   0.00 (  0%)   0.02 (  0%)
    0  (  0%)
 loop doloop                        :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
   97k (  0%)
 CPROP                              :   0.05 (  0%)   0.00 (  0%)   0.04 (  0%)
 1710k (  1%)
 PRE                                :   0.15 (  0%)   0.00 (  0%)   0.15 (  0%)
   18k (  0%)
 auto inc dec                       :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)
  424  (  0%)
 CSE 2                              :   0.04 (  0%)   0.00 (  0%)   0.04 (  0%)
  120k (  0%)
 branch prediction                  :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)
  126k (  0%)
 combiner                           :   0.20 (  0%)   0.00 (  0%)   0.19 (  0%)
 4779k (  1%)
 scheduling                         :   0.16 (  0%)   0.00 (  0%)   0.16 (  0%)
 1472k (  0%)
 integrated RA                      :   0.24 (  0%)   0.00 (  0%)   0.23 (  0%)
 6794k (  2%)
 LRA non-specific                   :   0.03 (  0%)   0.00 (  0%)   0.06 (  0%)
   80k (  0%)
 LRA virtuals elimination           :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)
   29k (  0%)
 LRA reload inheritance             :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)
 5840  (  0%)
 LRA create live ranges             :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)
 5424  (  0%)
 LRA hard reg assignment            :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)
    0  (  0%)
 reload                             :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)
   24  (  0%)
 reload CSE regs                    :   0.05 (  0%)   0.00 (  0%)   0.05 (  0%)
 1243k (  0%)
 load CSE after reload              :   0.02 (  0%)   0.00 (  0%)   0.02 (  0%)
 7264  (  0%)
 hard reg cprop                     :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
   96  (  0%)
 scheduling 2                       :   0.07 (  0%)   0.00 (  0%)   0.07 (  0%)
   87k (  0%)
 machine dep reorg                  :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)
  105k (  0%)
 final                              :   0.02 (  0%)   0.00 (  0%)   0.01 (  0%)
   48  (  0%)
 tree loop if-conversion            :   0.07 (  0%)   0.01 (  1%)   0.12 (  0%)
 4305k (  1%)
 rest of compilation                :   0.05 (  0%)   0.00 (  0%)   0.03 (  0%)
  122k (  0%)
 TOTAL                              :  68.10          1.49         69.61       
  315M

$ for v in 11 12; do   ~/build-$v/gcc/xgcc -v; done
Using built-in specs.
COLLECT_GCC=build-11/gcc/xgcc
Target: arm-none-eabi
Configured with: gcc-11/configure --target=arm-none-eabi
--with-multilib-list=rmprofile --enable-languages=c --without-headers
--with-newlib --enable-checking=release
Thread model: single
Supported LTO compression algorithms: zlib
gcc version 11.5.0 (GCC)
Using built-in specs.
COLLECT_GCC=build-12/gcc/xgcc
Target: arm-none-eabi
Configured with: gcc-12/configure --target=arm-none-eabi
--with-multilib-list=rmprofile --enable-languages=c --without-headers
--with-newlib --enable-checking=release
Thread model: single
Supported LTO compression algorithms: zlib
gcc version 12.1.0 (GCC)

Reply via email to