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

--- Comment #19 from Andrew Macleod <amacleod at redhat dot com> ---
(In reply to GCC Commits from comment #17)
> The master branch has been updated by Andrew Macleod <amacl...@gcc.gnu.org>:
> 
> https://gcc.gnu.org/g:9e4da946c4263a4c89d5fc365b3c97ae244c5018
> 
> commit r15-2858-g9e4da946c4263a4c89d5fc365b3c97ae244c5018
> Author: Andrew MacLeod <amacl...@redhat.com>
> Date:   Thu Aug 8 16:37:28 2024 -0400
> 
>     Adjust rangers recomputation depth based on the number of BBs.
>     
>     As the number of block increase, recomputations can become more
>     expensive.  Adjust the depth limit to avoid excessive compile time.
>     
>             PR tree-optimization/114855
>             * gimple-range-gori.cc (gori_compute::gori_compute): Adjust
>             ranger_recompute_depth limit based on the number of BBs.
>             (gori_compute::may_recompute_p): Use previosuly calculated value.
>             * gimple-range-gori.h (gori_compute::m_recompute_depth): New.

With the second change, on my machine at -O1 we're down to:
 callgraph ipa passes               :  47.83 ( 11%)   1.64 ( 25%)  49.65 ( 12%)
  338M ( 17%)
 df live regs                       :  12.19 (  3%)   0.19 (  3%)  12.41 (  3%)
    0  (  0%)
 dominator optimization             : 214.20 ( 51%)   0.58 (  9%) 215.56 ( 51%)
  113M (  6%)
 backwards jump threading           :  27.58 (  7%)   0.20 (  3%)  27.95 (  7%)
   68M (  3%)
 tree CCP                           :   5.46 (  1%)   0.15 (  2%)   5.72 (  1%)
   14M (  1%)
 tree FRE                           :   5.48 (  1%)   0.20 (  3%)   5.69 (  1%)
 2063k (  0%)
 dominance computation              :   8.54 (  2%)   0.18 (  3%)   8.79 (  2%)
    0  (  0%)
 integrated RA                      :  28.48 (  7%)   0.03 (  0%)  28.61 (  7%)
   29M (  1%)
 LRA non-specific                   :  12.43 (  3%)   0.01 (  0%)  12.48 (  3%)
 8977k (  0%)
 TOTAL                              : 416.00          6.52        424.24       
 2041M

So better.  Still have some DOM work to do.  That is mostly edge range
recalculations in the path ranger and GORI.

-O2 is a different beast :-P

Reply via email to