aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/dependency.h
diff options
context:
space:
mode:
authorPaul Thomas <pault@gcc.gnu.org>2010-07-23 14:25:55 +0000
committerPaul Thomas <pault@gcc.gnu.org>2010-07-23 14:25:55 +0000
commit3d03ead0b8273efde57f6194617b35111a84b05d (patch)
treebe85c1a1d325c1a8b6496500d502795c61e15506 /gcc/fortran/dependency.h
parentc4fcd06a10ddacc81f535b165034dbaa93b6005c (diff)
downloadgcc-3d03ead0b8273efde57f6194617b35111a84b05d.zip
gcc-3d03ead0b8273efde57f6194617b35111a84b05d.tar.gz
gcc-3d03ead0b8273efde57f6194617b35111a84b05d.tar.bz2
re PR fortran/24524 (Fortran dependency checking should reverse loops)
2009-07-23 Paul Thomas <pault@gcc.gnu.org> PR fortran/24524 * trans-array.c (gfc_init_loopinfo): Initialize the reverse field. gfc_trans_scalarized_loop_end: If reverse set in dimension n, reverse the scalarization loop. gfc_conv_resolve_dependencies: Pass the reverse field of the loopinfo to gfc_dep_resolver. trans-expr.c (gfc_trans_assignment_1): Enable loop reversal for assignment by resetting loop.reverse. gfortran.h : Add the gfc_reverse enum. trans.h : Add the reverse field to gfc_loopinfo. dependency.c (gfc_check_dependency): Pass null to the new arg of gfc_dep_resolver. (gfc_check_section_vs_section): Check for reverse dependencies. (gfc_dep_resolver): Add reverse argument and deal with the loop reversal logic. dependency.h : Modify prototype for gfc_dep_resolver to include gfc_reverse *. From-SVN: r162462
Diffstat (limited to 'gcc/fortran/dependency.h')
-rw-r--r--gcc/fortran/dependency.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/fortran/dependency.h b/gcc/fortran/dependency.h
index dd786be..bac2749 100644
--- a/gcc/fortran/dependency.h
+++ b/gcc/fortran/dependency.h
@@ -29,7 +29,6 @@ typedef enum
}
gfc_dep_check;
-
/*********************** Functions prototypes **************************/
bool gfc_ref_needs_temporary_p (gfc_ref *);
@@ -41,6 +40,6 @@ int gfc_check_dependency (gfc_expr *, gfc_expr *, bool);
int gfc_is_same_range (gfc_array_ref *, gfc_array_ref *, int, int);
int gfc_expr_is_one (gfc_expr *, int);
-int gfc_dep_resolver(gfc_ref *, gfc_ref *);
+int gfc_dep_resolver(gfc_ref *, gfc_ref *, gfc_reverse *);
int gfc_are_equivalenced_arrays (gfc_expr *, gfc_expr *);