IA MCU psABI support: changes to libraries
[gcc.git] / gcc / targhooks.h
index 4bbf49253b913d54aac5d8b58834afc9cc62b0b8..5ae991d12508ed7c8fae37e971c59fc695f7521f 100644 (file)
@@ -1,5 +1,5 @@
 /* Default target hook functions.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -24,6 +24,8 @@ extern bool default_legitimate_address_p (machine_mode, rtx, bool);
 
 extern void default_external_libcall (rtx);
 extern rtx default_legitimize_address (rtx, rtx, machine_mode);
+extern bool default_legitimize_address_displacement (rtx *, rtx *,
+                                                    machine_mode);
 
 extern int default_unspec_may_trap_p (const_rtx, unsigned);
 extern machine_mode default_promote_function_mode (const_tree, machine_mode,
@@ -138,6 +140,7 @@ extern rtx default_static_chain (const_tree, bool);
 extern void default_trampoline_init (rtx, tree, rtx);
 extern int default_return_pops_args (tree, tree, int);
 extern reg_class_t default_branch_target_register_class (void);
+extern reg_class_t default_ira_change_pseudo_allocno_class (int, reg_class_t);
 extern bool default_lra_p (void);
 extern int default_register_priority (int);
 extern bool default_register_usage_leveling_p (void);
@@ -181,7 +184,7 @@ extern int default_memory_move_cost (machine_mode, reg_class_t, bool);
 extern int default_register_move_cost (machine_mode, reg_class_t,
                                       reg_class_t);
 
-extern bool default_use_by_pieces_infrastructure_p (unsigned int,
+extern bool default_use_by_pieces_infrastructure_p (unsigned HOST_WIDE_INT,
                                                    unsigned int,
                                                    enum by_pieces_operation,
                                                    bool);
@@ -221,4 +224,20 @@ extern bool can_use_doloop_if_innermost (const widest_int &,
                                         const widest_int &,
                                         unsigned int, bool);
 
+extern rtx default_load_bounds_for_arg (rtx, rtx, rtx);
+extern void default_store_bounds_for_arg (rtx, rtx, rtx, rtx);
+extern rtx default_load_returned_bounds (rtx);
+extern void default_store_returned_bounds (rtx,rtx);
+extern tree default_chkp_bound_type (void);
+extern enum machine_mode default_chkp_bound_mode (void);
+extern tree default_builtin_chkp_function (unsigned int);
+extern rtx default_chkp_function_value_bounds (const_tree, const_tree, bool);
+extern tree default_chkp_make_bounds_constant (HOST_WIDE_INT lb, HOST_WIDE_INT ub);
+extern int default_chkp_initialize_bounds (tree var, tree lb, tree ub,
+                                          tree *stmts);
+extern void default_setup_incoming_vararg_bounds (cumulative_args_t ca ATTRIBUTE_UNUSED,
+                                                 enum machine_mode mode ATTRIBUTE_UNUSED,
+                                                 tree type ATTRIBUTE_UNUSED,
+                                                 int *pretend_arg_size ATTRIBUTE_UNUSED,
+                                                 int second_time ATTRIBUTE_UNUSED);
 #endif /* GCC_TARGHOOKS_H */