[PATCH, RFC] fortran [was Re: #pragma GCC unroll support]
Bernhard Reutner-Fischer
rep.dot.nop@gmail.com
Mon Feb 2 23:22:00 GMT 2015
Hi,
Some compilers IIRC use !DIR$ unroll, if memory serves me right then
the DEC compiler had !DEC$ unroll.
We could support one or the other three-letter keyword or maybe not.
I think a combination of unroll and ivdep directives is allowed (at
least in some compilers); TODO.
Not sure what other statements should be annotated with that directive?
I do not like the global variable directive_unroll but is was the easy
way out for cheap warnings.
Untested draft patch, regstrap running over night, depends on Mike's
unroll-5.diffs.txt patch in this thread (
https://gcc.gnu.org/ml/gcc-patches/2015-01/msg02733.html ).
Just stage-1 tinkering here.
Cheers,
Bernhard Reutner-Fischer (1):
fortran: !GCC$ unroll for DO
gcc/fortran/decl.c | 38 ++++++++++++++++++++
gcc/fortran/gfortran.h | 2 ++
gcc/fortran/match.h | 1 +
gcc/fortran/parse.c | 13 ++++++-
gcc/fortran/trans-decl.c | 7 ++++
gcc/fortran/trans-stmt.c | 14 ++++++++
gcc/fortran/trans.h | 3 ++
gcc/testsuite/gfortran.dg/directive_unroll_1.f90 | 46 ++++++++++++++++++++++++
gcc/testsuite/gfortran.dg/directive_unroll_2.f90 | 39 ++++++++++++++++++++
9 files changed, 162 insertions(+), 1 deletion(-)
create mode 100644 gcc/testsuite/gfortran.dg/directive_unroll_1.f90
create mode 100644 gcc/testsuite/gfortran.dg/directive_unroll_2.f90
--
2.1.4
More information about the Fortran
mailing list