On Wed, 10 Jan 2024 23:24:22 +0100 Harald Anlauf <anl...@gmx.de> wrote:
> diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h > index 82f388c05f8..88502c1e3f0 100644 > --- a/gcc/fortran/gfortran.h > +++ b/gcc/fortran/gfortran.h > @@ -2926,6 +2926,10 @@ gfc_dt; > typedef struct gfc_forall_iterator > { > gfc_expr *var, *start, *end, *stride; > + unsigned short unroll; > + bool ivdep; > + bool vector; > + bool novector; > struct gfc_forall_iterator *next; > } [] > diff --git a/gcc/fortran/trans-stmt.cc b/gcc/fortran/trans-stmt.cc > index a718dce237f..59a9cf99f9b 100644 > --- a/gcc/fortran/trans-stmt.cc > +++ b/gcc/fortran/trans-stmt.cc > @@ -41,6 +41,10 @@ typedef struct iter_info > tree start; > tree end; > tree step; > + unsigned short unroll; > + bool ivdep; > + bool vector; > + bool novector; > struct iter_info *next; > } Given that we already have in gfortran.h > typedef struct > { > gfc_expr *var, *start, *end, *step; > unsigned short unroll; > bool ivdep; > bool vector; > bool novector; > } > gfc_iterator; would it make sense to break out these loop annotation flags into its own let's say struct gfc_iterator_flags and use pointers to that flags instead? LGTM otherwise. Thanks for the patch!