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
