Hi Bernhard, On 1/12/24 10:44, Bernhard Reutner-Fischer wrote: > On Wed, 10 Jan 2024 23:24:22 +0100 > Harald Anlauf 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? I've created a struct gfc_loop_annot and use that directly as I think using pointers to it is probably not very efficient. Well, the struct is smaller than a pointer on a 64-bit system... > LGTM otherwise. > Thanks for the patch! Thanks for the review! If there are no further comments, I'll commit the attached version soon. Harald