]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/targhooks.h
delete dummy empty svn:mergeinfo properties
[thirdparty/gcc.git] / gcc / targhooks.h
CommitLineData
45550790 1/* Default target hook functions.
906bb5c3 2 Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009
3 Free Software Foundation, Inc.
45550790 4
5This file is part of GCC.
6
7GCC is free software; you can redistribute it and/or modify it under
8the terms of the GNU General Public License as published by the Free
8c4c00c1 9Software Foundation; either version 3, or (at your option) any later
45550790 10version.
11
12GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13WARRANTY; without even the implied warranty of MERCHANTABILITY or
14FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15for more details.
16
17You should have received a copy of the GNU General Public License
8c4c00c1 18along with GCC; see the file COPYING3. If not see
19<http://www.gnu.org/licenses/>. */
45550790 20
864af209 21extern void default_external_libcall (rtx);
41e3a0c7 22extern rtx default_legitimize_address (rtx, rtx, enum machine_mode);
864af209 23
77ad8e5a 24extern int default_unspec_may_trap_p (const_rtx, unsigned);
25
124ac4e4 26extern enum machine_mode default_cc_modes_compatible (enum machine_mode,
27 enum machine_mode);
28
fb80456a 29extern bool default_return_in_memory (const_tree, const_tree);
45550790 30
31extern rtx default_expand_builtin_saveregs (void);
32extern void default_setup_incoming_varargs (CUMULATIVE_ARGS *, enum machine_mode, tree, int *, int);
e3e026e8 33extern rtx default_builtin_setjmp_frame_value (void);
45550790 34extern bool default_pretend_outgoing_varargs_named (CUMULATIVE_ARGS *);
4e00ee67 35
95215948 36extern enum machine_mode default_eh_return_filter_mode (void);
0ef89dfd 37extern enum machine_mode default_libgcc_cmp_return_mode (void);
38extern enum machine_mode default_libgcc_shift_count_mode (void);
1bd43494 39extern enum machine_mode default_unwind_word_mode (void);
c49547c4 40extern unsigned HOST_WIDE_INT default_shift_truncation_mask
41 (enum machine_mode);
ac70caad 42extern unsigned int default_min_divisions_for_recip_mul (enum machine_mode);
4956440a 43extern int default_mode_rep_extended (enum machine_mode, enum machine_mode);
95215948 44
f1a0edff 45extern tree default_stack_protect_guard (void);
46extern tree default_external_stack_protect_fail (void);
47extern tree default_hidden_stack_protect_fail (void);
48
430be8e2 49extern enum machine_mode default_mode_for_suffix (char);
50
c1dc02de 51extern tree default_cxx_guard_type (void);
600f4be7 52extern tree default_cxx_get_cookie_size (tree);
b981d932 53
b981d932 54extern bool hook_pass_by_reference_must_pass_in_stack
fb80456a 55 (CUMULATIVE_ARGS *, enum machine_mode mode, const_tree, bool);
13f08ee7 56extern bool hook_callee_copies_named
fb80456a 57 (CUMULATIVE_ARGS *ca, enum machine_mode, const_tree, bool);
8ec87476 58
59extern void default_unwind_emit (FILE *, rtx);
b2aef146 60
61extern bool default_scalar_mode_supported_p (enum machine_mode);
1398cbfd 62extern bool default_decimal_float_supported_p (void);
9421ebb9 63extern bool default_fixed_point_supported_p (void);
13f08ee7 64
a9f1838b 65extern const char * default_invalid_within_doloop (const_rtx);
7dfa5ce3 66
c3cc39c4 67extern tree default_builtin_vectorized_function
68 (enum built_in_function, tree, tree);
22c2f6bd 69
9d8bf4aa 70extern tree default_builtin_vectorized_conversion (enum tree_code, tree);
71
2cd360b6 72extern tree default_builtin_reciprocal (enum built_in_function, bool, bool);
c3cc39c4 73
a9f1838b 74extern bool default_builtin_vector_alignment_reachable (const_tree, bool);
5a2538e1 75
13f08ee7 76/* These are here, and not in hooks.[ch], because not all users of
77 hooks.h include tm.h, and thus we don't have CUMULATIVE_ARGS. */
78
79extern bool hook_bool_CUMULATIVE_ARGS_false (CUMULATIVE_ARGS *);
80extern bool hook_bool_CUMULATIVE_ARGS_true (CUMULATIVE_ARGS *);
81
82extern bool hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false
fb80456a 83 (CUMULATIVE_ARGS *, enum machine_mode, const_tree, bool);
13f08ee7 84extern bool hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true
fb80456a 85 (CUMULATIVE_ARGS *, enum machine_mode, const_tree, bool);
f054eb3c 86extern int hook_int_CUMULATIVE_ARGS_mode_tree_bool_0
87 (CUMULATIVE_ARGS *, enum machine_mode, tree, bool);
10fda9eb 88extern const char *hook_invalid_arg_for_unprototyped_fn
a9f1838b 89 (const_tree, const_tree, const_tree);
90extern bool hook_bool_const_rtx_commutative_p (const_rtx, int);
fb80456a 91extern rtx default_function_value (const_tree, const_tree, bool);
567925e3 92extern rtx default_internal_arg_pointer (void);
bc620c5c 93extern enum reg_class default_branch_target_register_class (void);
d9595a8c 94#ifdef IRA_COVER_CLASSES
95extern const enum reg_class *default_ira_cover_classes (void);
96#endif
4d58fa46 97extern enum reg_class default_secondary_reload (bool, rtx, enum reg_class,
98 enum machine_mode,
99 secondary_reload_info *);
fcf2ad9f 100extern void hook_void_bitmap (bitmap);
b9fc964a 101extern bool default_handle_c_option (size_t, const char *, int);
4e151b05 102extern int default_reloc_rw_mask (void);
97a424bc 103extern tree default_mangle_decl_assembler_name (tree, tree);
38475469 104extern tree default_emutls_var_fields (tree, tree *);
105extern tree default_emutls_var_init (tree, tree, tree);
747bf50d 106extern bool default_hard_regno_scratch_ok (unsigned int);
46f8e3b0 107extern bool default_target_option_valid_attribute_p (tree, tree, tree, int);
24470055 108extern bool default_target_option_pragma_parse (tree, tree);
46f8e3b0 109extern bool default_target_option_can_inline_p (tree, tree);
906bb5c3 110extern unsigned int default_case_values_threshold (void);