On Thu, Sep 24, 2026 at 3:21 AM Thomas Schwinge <[email protected]> wrote:
>
> With commit r17-4469-ge35b8dad030bc4164fdaa81dc0a5bfca8c1bbfc3
> "cselim: cond_if_else_store_replacement_limited support skipping on store one 
> either side [PR127053]",
> we regressed:
>
>     PASS: libgomp.graphite/force-parallel-8.c (test for excess errors)
>     PASS: libgomp.graphite/force-parallel-8.c execution test
>     [-PASS:-]{+FAIL:+} libgomp.graphite/force-parallel-8.c 
> scan-tree-dump-times graphite "5 loops carried no dependency" 1
>     PASS: libgomp.graphite/force-parallel-8.c scan-tree-dump-times optimized 
> "loopfn.0" 4
>     PASS: libgomp.graphite/force-parallel-8.c scan-tree-dump-times optimized 
> "loopfn.1" 4
>
>     libgomp.graphite/force-parallel-8.c: pattern found 0 times
>
> Indeed, instead of "5" it is now "3 loops carried no dependency".
>
> Per 'diff' of '-fdump-tree-all-details-folding' for
> commit r17-4469-ge35b8dad030bc4164fdaa81dc0a5bfca8c1bbfc3
> "cselim: cond_if_else_store_replacement_limited support skipping on store one 
> either side [PR127053]"
> reverted vs. current sources, I see in 'force-parallel-8.c.050t.phiopt1':
>
>     [...]
>      ;; Function foo (foo, funcdef_no=0, decl_uid=2216, cgraph_uid=3, 
> symbol_order=2)
>
>     +factoring out stores:
>     +       then:
>     +# .MEM_30 = VDEF <.MEM_19>
>     +x[i_12][j_14] = _3;
>     +       else:
>     +# .MEM_29 = VDEF <.MEM_19>
>     +x[i_12][j_14] = _7;
>     +
>     +to use phi:
>     +cstore_33 = PHI <_3(11), _7(12)>
>     +
>     +# .MEM_18 = VDEF <.MEM_27>
>     +x[i_12][j_14] = cstore_33;
>     [...]
>
> ..., and subsequent simplification (as far as I can quickly tell) of the IR.
>
> Restore the previous state via '-fno-expensive-optimizations', to continue
> testing what was tested before.
>
>         PR tree-optimization/127053
>         libgomp/
>         * testsuite/libgomp.graphite/force-parallel-8.c:
>         'dg-additional-options -fno-expensive-optimizations'.
> ---
>  libgomp/testsuite/libgomp.graphite/force-parallel-8.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/libgomp/testsuite/libgomp.graphite/force-parallel-8.c 
> b/libgomp/testsuite/libgomp.graphite/force-parallel-8.c
> index ee5a67aa2b09..4dae03e1690d 100644
> --- a/libgomp/testsuite/libgomp.graphite/force-parallel-8.c
> +++ b/libgomp/testsuite/libgomp.graphite/force-parallel-8.c
> @@ -1,4 +1,5 @@
>  /* { dg-additional-options "-fno-thread-jumps --param max-stores-to-sink=0" 
> } */
> +/* { dg-additional-options -fno-expensive-optimizations } */

Thanks for taking care of this.  I see `--param max-stores-to-sink=0`
here too; so yes adding -fno-expensive-optimizations is the correct
fix.

>
>  #define N 1500
>
> --
> 2.34.1
>

Reply via email to