Hi Harald,

This is OK for trunk.

Thanks!

Paul

On Mon, 26 Aug 2019 at 22:13, Harald Anlauf <anl...@gmx.de> wrote:
>
> Dear all,
>
> the attached patch adds Fortran support for the following pragmas
> (loop annotations): IVDEP (ignore vector dependencies), VECTOR, and
> NOVECTOR.  Furthermore, it downgrades unsupported directives from
> error to warning (by default, it stays an error with -pedantic),
> thus fixing the PR.
>
> It has no effect on existing code (thus regtested cleanly on
> x86_64-pc-linux-gnu), but gives users an option for fine-grained
> control of optimization.  The above pragmas are supported by other
> compilers (with different sentinels, e.g. !DIR$ for Intel, Cray,
> sometimes with slightly different keywords).
>
> OK for trunk, and backport to 9?
>
> Thanks,
> Harald
>
>
> 2019-08-26  Harald Anlauf  <anl...@gmx.de>
>
>         PR fortran/91496
>         * gfortran.h: Extend struct gfc_iterator for loop annotations.
>         * array.c (gfc_copy_iterator): Copy loop annotations by IVDEP,
>         VECTOR, and NOVECTOR pragmas.
>         * decl.c (gfc_match_gcc_ivdep, gfc_match_gcc_vector)
>         (gfc_match_gcc_novector): New matcher functions handling IVDEP,
>         VECTOR, and NOVECTOR pragmas.
>         * match.h: Declare prototypes of matcher functions handling IVDEP,
>         VECTOR, and NOVECTOR pragmas.
>         * parse.c (decode_gcc_attribute, parse_do_block)
>         (parse_executable): Decode IVDEP, VECTOR, and NOVECTOR pragmas;
>         emit warning for unrecognized pragmas instead of error.
>         * trans-stmt.c (gfc_trans_simple_do, gfc_trans_do): Add code to
>         emit annotations for IVDEP, VECTOR, and NOVECTOR pragmas.
>         * gfortran.texi: Document IVDEP, VECTOR, and NOVECTOR pragmas.
>
> 2019-08-26  Harald Anlauf  <anl...@gmx.de>
>
>         PR fortran/91496
>         * gfortran.dg/pr91496.f90: New testcase.
>


-- 
"If you can't explain it simply, you don't understand it well enough"
- Albert Einstein

Reply via email to