On Wed, 10 Jan 2024 23:24:22 +0100
Harald Anlauf <[email protected]> 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!