public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc/guojiufu/heads/guojiufu-branch] Daily bump.
@ 2021-05-31  6:00 Jiu Fu Guo
  0 siblings, 0 replies; 3+ messages in thread
From: Jiu Fu Guo @ 2021-05-31  6:00 UTC (permalink / raw)
  To: gcc-cvs

The branch 'guojiufu/heads/guojiufu-branch' was updated to point to:

 e21e9340720... Daily bump.

It previously pointed to:

 b535e81265f... Use fast type for loop idx

Diff:

!!! WARNING: THE FOLLOWING COMMITS ARE NO LONGER ACCESSIBLE (LOST):
-------------------------------------------------------------------

  b535e81... Use fast type for loop idx
  0e1e9f6... Split loop for at safe boundary for wrap/overflow.
  af3824d... prepare code


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [gcc/guojiufu/heads/guojiufu-branch] Daily bump.
@ 2020-07-08  9:08 Jiu Fu Guo
  0 siblings, 0 replies; 3+ messages in thread
From: Jiu Fu Guo @ 2020-07-08  9:08 UTC (permalink / raw)
  To: gcc-cvs

The branch 'guojiufu/heads/guojiufu-branch' was updated to point to:

 8e3b453e087... Daily bump.

It previously pointed to:

 85a0fd39ef8... rs6000: Refine RTL unroll adjust hook for small loops

Diff:

!!! WARNING: THE FOLLOWING COMMITS ARE NO LONGER ACCESSIBLE (LOST):
-------------------------------------------------------------------

  85a0fd3... rs6000: Refine RTL unroll adjust hook for small loops
  a352793... rs6000: Refine RTL unroll adjust hook

commit 85a0fd39ef8df6b76df70110d096f22cfa8456c4
Author: guojiufu <guojiufu@linux.ibm.com>
Date:   Wed Jul 8 16:49:40 2020 +0800

    rs6000: Refine RTL unroll adjust hook for small loops

commit a3527937da17089b1bb95097726285fbdfff4b17
Author: guojiufu <guojiufu@linux.ibm.com>
Date:   Fri Jun 19 09:24:19 2020 +0800

    rs6000: Refine RTL unroll adjust hook
    
    For very small loops (< 6 insns), it would be fine to unroll 4
    times to use cache line better.  Like below loops:
     `while (i) a[--i] = NULL;   while (p < e)  *d++ = *p++;`
    
    And for very complex loops which may cause negative impact:
    branch-miss or cache-miss. Like below loop: there are calls,
    early exits and branches in loop.
    ```
      for (int i = 0; i < n; i++) {
                  int e = a[I];
                 ....
                  if (function_call(e))  break;
                 ....
      }
    ```
    
    This patch enhance RTL unroll for small loops and prevent to
    unroll complex loops.
    
    gcc/ChangeLog
    2020-07-03  Jiufu Guo  <guojiufu@linux.ibm.com>
    
            * config/rs6000/rs6000.c (rs6000_loop_unroll_adjust): Refine hook.
            (rs6000_complex_loop_p): New function.
            (num_loop_calls): New function.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [gcc/guojiufu/heads/guojiufu-branch] Daily bump.
@ 2020-05-27  2:23 Jiu Fu Guo
  0 siblings, 0 replies; 3+ messages in thread
From: Jiu Fu Guo @ 2020-05-27  2:23 UTC (permalink / raw)
  To: gcc-cvs

The branch 'guojiufu/heads/guojiufu-branch' was updated to point to:

 03d549090e3... Daily bump.

It previously pointed to:

 21dd679386c... explicit -funroll-loops override -frtl-unroll-loops

Diff:

!!! WARNING: THE FOLLOWING COMMITS ARE NO LONGER ACCESSIBLE (LOST):
-------------------------------------------------------------------

  21dd679... explicit -funroll-loops override -frtl-unroll-loops
  fcd6f0b... rs6000: Turn on -frtl-unroll-loops instead -funroll-loops a
  bba13d4... Seperate -funroll-loops for GIMPLE unroller and RTL unrolle

commit 21dd679386cbb5ce311996967454a38d543a09a9
Author: Jiufu Guo <guojiufu@linux.ibm.com>
Date:   Mon May 25 18:20:27 2020 +0800

    explicit -funroll-loops override -frtl-unroll-loops

commit fcd6f0b6ca3b4febed9db8b33cd1556a6d853e58
Author: guojiufu <guojiufu@linux.ibm.com>
Date:   Mon May 25 14:33:06 2020 +0800

    rs6000: Turn on -frtl-unroll-loops instead -funroll-loops at -O2
    
    Previously, turning -funroll-loops on at -O2, which also turn on
    GIMPLE cunroll fully.  While cunroll unrolls some complex loops.
    
    This patch turn on -frtl-unroll-loops at -O2 only, and continue to
    use previous tuned rs6000 heurisitics for small loops.  While this
    patch does not turn on GIMPLE cunroll any more.  We may tune
    cunroll in near future at -O2.
    
    In this patch, it become simpler to check/set -fweb, -frename-register
    and -munroll-only-small-loops.  Together with -frtl-unroll-loops,
    -fweb is useful, then turn -fweb on;  and -frename-registers is no
    need to be checked, because it is affected by -frtl-unroll-loops.
    
    gcc/ChangeLog
    2020-05-25  Jiufu Guo   <guojiufu@cn.ibm.com>
    
            PR target/95018
            * common/config/rs6000/rs6000-common.c
            (rs6000_option_optimization_table)
            [OPT_LEVELS_2_PLUS_SPEED_ONLY]: Replace -funroll-loops
            with -frtl-unroll-loops.  Remove -munroll-only-small-loops
            and add -fweb.
            [OPT_LEVELS_ALL]: Remove turn off -frename-registers.
            * config/rs6000/rs6000.c (rs6000_option_override_internal):
            Set -munroll-only-small-loops for explicit -funroll-loops.

commit bba13d442dda7fa416003bbbea51fc887b6cf30a
Author: guojiufu <guojiufu@linux.ibm.com>
Date:   Mon May 25 13:22:27 2020 +0800

    Seperate -funroll-loops for GIMPLE unroller and RTL unroller
    
    Currently option -funroll-loops controls both GIMPLE unroler and
    RTL unroller. It is not able to control GIMPLE cunroller and
    RTL unroller independently.  This patch introducing different flags
    to control them seperately, and this also provide more freedom to
    tune one of them without affecting another.
    
    This patch introduces two undocumented flags: -fcomplete-unroll-loops
    for GIMPLE cunroll, and -frtl-unroll-loops for RTL unroller.  And
    these two options are enabled by original -funroll-loops.
    
    ChangeLog:
    2020-05-25  Jiufu Guo   <guojiufu@cn.ibm.com>
    
            * common.opt: Add -frtl-unroll-loops and -fcomplete-unroll-loops.
            * opts.c (enable_fdo_optimizations): Replace flag_unroll_loops
            with flag_complete_unroll_loops.
            * toplev.c (process_options): set flag_rtl_unroll_loops and
            flag_complete_unroll_loops if not explicitly set by user.
            * tree-ssa-loop-ivcanon.c (pass_complete_unroll::execute): Replace
            flag_unroll_loops with flag_complete_unroll_loops.
            * loop-init.c (pass_loop2::gate): Replace flag_unroll_loops with
            flag_rtl_unroll_loops.
            (pass_rtl_unroll_loops::gate): Replace flag_unroll_loops with
            flag_rtl_unroll_loops.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-05-31  6:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-31  6:00 [gcc/guojiufu/heads/guojiufu-branch] Daily bump Jiu Fu Guo
  -- strict thread matches above, loose matches on Subject: below --
2020-07-08  9:08 Jiu Fu Guo
2020-05-27  2:23 Jiu Fu Guo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).