diff options
Diffstat (limited to 'gcc/fortran/gfortran.h')
-rw-r--r-- | gcc/fortran/gfortran.h | 22 |
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 */ |