On Sun, Apr 23, 2023 at 12:13 AM Andrew Pinski via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> While working on adding diamond shaped form to match-and-simplify
> phiopt, I Noticed that we would not reach there if do_hoist_loads
> was true. In the original code before the cleanups it was not
> obvious why but after I finished the cleanups, it was just a matter
> of removing a continue and that is what this patch does.
>
> This just happens also to fix a bug report that I noticed too.
>
> OK? Bootstrapped and tested on x86_64-linux-gnu.

OK.

> gcc/ChangeLog:
>
>         PR tree-optimize/68894
>         * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Remove the
>         continue for the do_hoist_loads diamond case.
> ---
>  gcc/tree-ssa-phiopt.cc | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/gcc/tree-ssa-phiopt.cc b/gcc/tree-ssa-phiopt.cc
> index 05f19825ce9..e4062f33efa 100644
> --- a/gcc/tree-ssa-phiopt.cc
> +++ b/gcc/tree-ssa-phiopt.cc
> @@ -243,10 +243,7 @@ tree_ssa_phiopt_worker (bool do_store_elim, bool 
> do_hoist_loads, bool early_p)
>                  is likely to perform worse than the well-predicted branch.  
> */
>               && !predictable_edge_p (EDGE_SUCC (bb, 0))
>               && !predictable_edge_p (EDGE_SUCC (bb, 1)))
> -           {
> -             hoist_adjacent_loads (bb, bb1, bb2, bb3);
> -             continue;
> -           }
> +           hoist_adjacent_loads (bb, bb1, bb2, bb3);
>         }
>
>        gimple_stmt_iterator gsi;
> --
> 2.39.1
>

Reply via email to