On Fri, Jun 19, 2026 at 11:49 AM Jeffrey Law <[email protected]> wrote:
>
>
>
> On 6/15/2026 11:00 AM, Andrew Pinski wrote:
> > This is a simplified version that I was mentioning.
> > It is based on 
> > https://gcc.gnu.org/pipermail/gcc-patches/2026-June/720170.html
> > but only handing in phi-opt. It is able to optimize
> > what is requested and will not have the regression dealing
> > with vectorization. There are some more tweaks we can do
> > to handle some more stuff.
> > Like before vectorization, if the two pointers are the same we should do
> > the factoring. Or handling stores before the load which will allow
> > us to iterate better with cs-elim limited. We can also tweak the
> > before vectorization cost to be rather based on if it just inside
> > a loop into what was done in the full patch. For the benchmark improvement
> > that was not needed.
> >
> > Changes since v1:
> > * v2: the factoring needs to be done on a diamond only, and the loads need 
> > to
> > come from the middle bbs.
> >
> >       PR tree-optimization/125557
> >
> > gcc/ChangeLog:
> >
> >       * tree-ssa-phiopt.cc (factor_out_conditional_load): New function.
> >       (factor_out_all):  Call factor_out_conditional_load.
> >
> > gcc/testsuite/ChangeLog:
> >
> >       * gcc.dg/tree-ssa/scc-diamond-1.c: New test.
> >       * gcc.dg/tree-ssa/scc-diamond-3.c: New test.
> >       * gcc.dg/tree-ssa/scc-diamond-4.c: New test.
> >       * gcc.target/aarch64/scc-diamond-2.c: New test.
> >
> > Co-Authored-by: Kyrylo Tkachov <[email protected]>
> > Signed-off-by: Kyrylo Tkachov <[email protected]>
> > Signed-off-by: Andrew Pinski <[email protected]>
> OK.  Presumably the tests include the snappy fragment Kyrylo was
> targeting in his version.  Just want to make sure as that's a major
> motivator behidn this change.

Yes gcc.dg/tree-ssa/scc-diamond-1.c is the reduced code from snappy.

Thanks,
Andrea

>
> jeff

Reply via email to