bool (* is_costly_dependence) (rtx, rtx, rtx, int, int);
} sched;
+ /* Functions relating to vectorization. */
+ struct vectorize
+ {
+ /* The following member value is a pointer to a function called
+ by the vectorizer, and when expanding a MISALIGNED_INDIREC_REF
+ expression. If the hook returns true (false) then a move* pattern
+ to/from memory can (cannot) be generated for this mode even if the
+ memory location is unaligned. */
+ bool (* misaligned_mem_ok) (enum machine_mode);
+
+ /* The following member values are pointers to functions called
+ by the vectorizer, and return the decl of the target builtin
+ function. */
+ tree (* builtin_mask_for_load) (void);
+ tree (* builtin_mask_for_store) (void);
+ } vectorize;
+
/* Return machine mode for filter value. */
enum machine_mode (* eh_return_filter_mode) (void);
the port wishes to automatically clobber for all asms. */
tree (* md_asm_clobbers) (tree);
+ /* This target hook allows the backend to specify a calling convention
+ in the debug information. This function actually returns an
+ enum dwarf_calling_convention, but because of forward declarations
+ and not wanting to include dwarf2.h everywhere target.h is included
+ the function is being declared as an int. */
+ int (* dwarf_calling_convention) (tree);
+
/* Functions relating to calls - argument passing, returns, etc. */
struct calls {
bool (*promote_function_args) (tree fntype);