Re: [Patch] OpenMP/Fortran: Partially fix non-rect loop nests [PR107424]

2023-01-20 Thread Jakub Jelinek via Gcc-patches
On Fri, Jan 20, 2023 at 07:00:18PM +0100, Jakub Jelinek via Gcc-patches wrote: > Though, I wonder if we shouldn't for GCC 13 just sorry_at about > steps other than constant 1/-1 (in both outer loop with var-outer referenced > in inner loop and on inner loop that references it) and for the !VAR_P ca

Re: [Patch] OpenMP/Fortran: Partially fix non-rect loop nests [PR107424]

2023-01-20 Thread Jakub Jelinek via Gcc-patches
On Fri, Jan 20, 2023 at 06:39:04PM +0100, Jakub Jelinek via Gcc-patches wrote: > > + The issue is that for those a 'count' variable is used. */ > > +dovar_init *di; > > +unsigned ix; > > +tree t = tree_var; > > +while (TREE_CODE (t) == INDIRECT_REF) > > + t = TREE_OPERAN

Re: [Patch] OpenMP/Fortran: Partially fix non-rect loop nests [PR107424]

2023-01-20 Thread Jakub Jelinek via Gcc-patches
On Thu, Jan 19, 2023 at 03:40:19PM +0100, Tobias Burnus wrote: > + gfc_symbol *var = code->ext.iterator->var->symtree->n.sym; > + > + gfc_se se; > + tree tree_var, a1, a2; > + a1 = integer_one_node; > + a2 = integer_zero_node; > + > + gfc_init_se (&se, NULL); > + gfc_conv_expr_lhs (&se, code

[Patch] OpenMP/Fortran: Partially fix non-rect loop nests [PR107424]

2023-01-19 Thread Tobias Burnus
This is all about non-rectangular loop nests in OpenMP. The attached patch depends on the obvious fix for https://gcc.gnu.org/PR108459, which is together with a nice testcase in Jakub's WIP patch attached to the PR; without, gfortran.dg/gomp/canonical-loop-1.f90 fails with an ICE (segfault). My