aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/gfortran.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/gfortran.h')
-rw-r--r--gcc/fortran/gfortran.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h
index 530e007..4dd6298 100644
--- a/gcc/fortran/gfortran.h
+++ b/gcc/fortran/gfortran.h
@@ -2764,6 +2764,27 @@ bool gfc_in_match_data (void);
match gfc_match_char_spec (gfc_typespec *);
extern int directive_unroll;
+/* SIMD clause enum. */
+enum gfc_simd_clause
+{
+ SIMD_NONE = (1 << 0),
+ SIMD_INBRANCH = (1 << 1),
+ SIMD_NOTINBRANCH = (1 << 2)
+};
+
+/* Tuple for parsing of vectorized built-ins. */
+struct gfc_vect_builtin_tuple
+{
+ gfc_vect_builtin_tuple (const char *n, gfc_simd_clause t)
+ : name (n), simd_type (t) {}
+
+ const char *name;
+ gfc_simd_clause simd_type;
+};
+
+/* Map of middle-end built-ins that should be vectorized. */
+extern hash_map<nofree_string_hash, int> *gfc_vectorized_builtins;
+
/* Handling Parameterized Derived Types */
bool gfc_insert_kind_parameter_exprs (gfc_expr *);
bool gfc_insert_parameter_exprs (gfc_expr *, gfc_actual_arglist *);
@@ -3502,5 +3523,6 @@ bool gfc_is_reallocatable_lhs (gfc_expr *);
/* trans-decl.c */
void finish_oacc_declare (gfc_namespace *, gfc_symbol *, bool);
+void gfc_adjust_builtins (void);
#endif /* GCC_GFORTRAN_H */