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

--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
With selective scheduling on my reduced testcase:
```
Time variable                                   usr           sys          wall
          GGC
 phase setup                        :   0.00 (  0%)   0.01 ( 25%)   0.01 (  0%)
 1825k ( 51%)
 phase parsing                      :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
  174k (  5%)
 phase opt and generate             :   4.03 (100%)   0.03 ( 75%)   4.05 ( 99%)
 1563k ( 44%)
 phase finalize                     :   0.00 (  0%)   0.00 (  0%)   0.02 (  0%)
    0  (  0%)
 callgraph functions expansion      :   4.02 (100%)   0.03 ( 75%)   4.05 ( 99%)
 1521k ( 43%)
 callgraph ipa passes               :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)
   29k (  1%)
 CFG verifier                       :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
    0  (  0%)
 df use-def / def-use chains        :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)
    0  (  0%)
 lexical analysis                   :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
    0  (  0%)
 tree operand scan                  :   0.01 (  0%)   0.00 (  0%)   0.01 (  0%)
 5120  (  0%)
 tree CCP                           :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
  224  (  0%)
 complete unrolling                 :   0.00 (  0%)   0.01 ( 25%)   0.00 (  0%)
  482k ( 14%)
 tree SSA verifier                  :   0.03 (  1%)   0.00 (  0%)   0.01 (  0%)
    0  (  0%)
 tree STMT verifier                 :   0.04 (  1%)   0.00 (  0%)   0.05 (  1%)
    0  (  0%)
 expand                             :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
  467k ( 13%)
 CSE                                :   0.01 (  0%)   0.00 (  0%)   0.00 (  0%)
    0  (  0%)
 integrated RA                      :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
   24k (  1%)
 scheduling 2                       :   3.91 ( 97%)   0.02 ( 50%)   3.92 ( 96%)
  130k (  4%)
 verify RTL sharing                 :   0.02 (  0%)   0.00 (  0%)   0.01 (  0%)
    0  (  0%)
 TOTAL                              :   4.03          0.04          4.09       
 3564k
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --enable-checking=release to disable checks.
```

Without:
```
Time variable                                   usr           sys          wall
          GGC
 phase setup                        :   0.01 (  7%)   0.00 (  0%)   0.02 ( 11%)
 1825k ( 49%)
 phase opt and generate             :   0.14 ( 93%)   0.00 (  0%)   0.14 ( 78%)
 1694k ( 46%)
 phase finalize                     :   0.00 (  0%)   0.00 (  0%)   0.02 ( 11%)
    0  (  0%)
 callgraph functions expansion      :   0.13 ( 87%)   0.00 (  0%)   0.14 ( 78%)
 1652k ( 45%)
 callgraph ipa passes               :   0.01 (  7%)   0.00 (  0%)   0.00 (  0%)
   29k (  1%)
 cfg construction                   :   0.00 (  0%)   0.00 (  0%)   0.01 (  6%)
    0  (  0%)
 CFG verifier                       :   0.02 ( 13%)   0.00 (  0%)   0.02 ( 11%)
    0  (  0%)
 alias analysis                     :   0.00 (  0%)   0.00 (  0%)   0.01 (  6%)
 1640  (  0%)
 tree VRP                           :   0.01 (  7%)   0.00 (  0%)   0.00 (  0%)
 2160  (  0%)
 tree operand scan                  :   0.01 (  7%)   0.00 (  0%)   0.01 (  6%)
 5120  (  0%)
 tree DSE                           :   0.01 (  7%)   0.00 (  0%)   0.00 (  0%)
    0  (  0%)
 complete unrolling                 :   0.01 (  7%)   0.00 (  0%)   0.00 (  0%)
  482k ( 13%)
 tree SSA verifier                  :   0.02 ( 13%)   0.00 (  0%)   0.00 (  0%)
    0  (  0%)
 tree STMT verifier                 :   0.03 ( 20%)   0.00 (  0%)   0.05 ( 28%)
    0  (  0%)
 forward prop                       :   0.01 (  7%)   0.00 (  0%)   0.00 (  0%)
    0  (  0%)
 integrated RA                      :   0.00 (  0%)   0.00 (  0%)   0.01 (  6%)
   24k (  1%)
 reload CSE regs                    :   0.01 (  7%)   0.00 (  0%)   0.00 (  0%)
   48  (  0%)
 scheduling 2                       :   0.01 (  7%)   0.00 (  0%)   0.01 (  6%)
  260k (  7%)
 initialize rtl                     :   0.00 (  0%)   0.00 (  0%)   0.01 (  6%)
   12k (  0%)
 rest of compilation                :   0.00 (  0%)   0.00 (  0%)   0.01 (  6%)
 3496  (  0%)
 TOTAL                              :   0.15          0.00          0.18       
 3695k
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --enable-checking=release to disable checks.
```

You can see selective scheduling is really bad.

Reply via email to