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 >