GCC Middle and Back End API Reference
Main Page
Namespaces
Data Structures
Files
File List
Globals
targhooks.h
Go to the documentation of this file.
1
/* Default target hook functions.
2
Copyright (C) 2003-2013 Free Software Foundation, Inc.
3
4
This file is part of GCC.
5
6
GCC is free software; you can redistribute it and/or modify it under
7
the terms of the GNU General Public License as published by the Free
8
Software Foundation; either version 3, or (at your option) any later
9
version.
10
11
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12
WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with GCC; see the file COPYING3. If not see
18
<http://www.gnu.org/licenses/>. */
19
20
extern
bool
default_legitimate_address_p
(
enum
machine_mode,
rtx
,
bool
);
21
22
extern
void
default_external_libcall
(
rtx
);
23
extern
rtx
default_legitimize_address
(
rtx
,
rtx
,
enum
machine_mode);
24
25
extern
int
default_unspec_may_trap_p
(
const_rtx
,
unsigned
);
26
extern
enum
machine_mode
default_promote_function_mode
(
const_tree
,
enum
machine_mode,
27
int
*,
const_tree
,
int
);
28
extern
enum
machine_mode
default_promote_function_mode_always_promote
29
(
const_tree
,
enum
machine_mode,
int
*,
const_tree
,
int
);
30
31
extern
enum
machine_mode
default_cc_modes_compatible
(
enum
machine_mode,
32
enum
machine_mode);
33
34
extern
bool
default_return_in_memory
(
const_tree
,
const_tree
);
35
36
extern
rtx
default_expand_builtin_saveregs
(
void
);
37
extern
void
default_setup_incoming_varargs
(
cumulative_args_t
,
enum
machine_mode,
tree
,
int
*,
int
);
38
extern
rtx
default_builtin_setjmp_frame_value
(
void
);
39
extern
bool
default_pretend_outgoing_varargs_named
(
cumulative_args_t
);
40
41
extern
enum
machine_mode
default_eh_return_filter_mode
(
void
);
42
extern
enum
machine_mode
default_libgcc_cmp_return_mode
(
void
);
43
extern
enum
machine_mode
default_libgcc_shift_count_mode
(
void
);
44
extern
enum
machine_mode
default_unwind_word_mode
(
void
);
45
extern
unsigned
HOST_WIDE_INT
default_shift_truncation_mask
46
(
enum
machine_mode);
47
extern
unsigned
int
default_min_divisions_for_recip_mul
(
enum
machine_mode);
48
extern
int
default_mode_rep_extended
(
enum
machine_mode,
enum
machine_mode);
49
50
extern
tree
default_stack_protect_guard
(
void
);
51
extern
tree
default_external_stack_protect_fail
(
void
);
52
extern
tree
default_hidden_stack_protect_fail
(
void
);
53
54
extern
enum
machine_mode
default_mode_for_suffix
(
char
);
55
56
extern
tree
default_cxx_guard_type
(
void
);
57
extern
tree
default_cxx_get_cookie_size
(
tree
);
58
59
extern
bool
hook_pass_by_reference_must_pass_in_stack
60
(
cumulative_args_t
,
enum
machine_mode mode,
const_tree
,
bool
);
61
extern
bool
hook_callee_copies_named
62
(
cumulative_args_t
ca,
enum
machine_mode,
const_tree
,
bool
);
63
64
extern
void
default_print_operand
(FILE *,
rtx
,
int
);
65
extern
void
default_print_operand_address
(FILE *,
rtx
);
66
extern
bool
default_print_operand_punct_valid_p
(
unsigned
char
);
67
extern
tree
default_mangle_assembler_name
(
const
char
*);
68
69
extern
bool
default_scalar_mode_supported_p
(
enum
machine_mode);
70
extern
bool
targhook_words_big_endian
(
void
);
71
extern
bool
targhook_float_words_big_endian
(
void
);
72
extern
bool
default_decimal_float_supported_p
(
void
);
73
extern
bool
default_fixed_point_supported_p
(
void
);
74
75
extern
bool
default_has_ifunc_p
(
void
);
76
77
extern
const
char
*
default_invalid_within_doloop
(
const_rtx
);
78
79
extern
tree
default_builtin_vectorized_function
(
tree
,
tree
,
tree
);
80
81
extern
tree
default_builtin_vectorized_conversion
(
unsigned
int
,
tree
,
tree
);
82
83
extern
int
default_builtin_vectorization_cost
(
enum
vect_cost_for_stmt
,
tree
,
int
);
84
85
extern
tree
default_builtin_reciprocal
(
unsigned
int
,
bool
,
bool
);
86
87
extern
HOST_WIDE_INT
default_vector_alignment
(
const_tree
);
88
89
extern
bool
default_builtin_vector_alignment_reachable
(
const_tree
,
bool
);
90
extern
bool
91
default_builtin_support_vector_misalignment
(
enum
machine_mode mode,
92
const_tree
,
93
int
,
bool
);
94
extern
enum
machine_mode
default_preferred_simd_mode
(
enum
machine_mode mode);
95
extern
unsigned
int
default_autovectorize_vector_sizes
(
void
);
96
extern
void
*
default_init_cost
(
struct
loop
*);
97
extern
unsigned
default_add_stmt_cost
(
void
*,
int
,
enum
vect_cost_for_stmt
,
98
struct
_stmt_vec_info
*,
int
,
99
enum
vect_cost_model_location
);
100
extern
void
default_finish_cost
(
void
*,
unsigned
*,
unsigned
*,
unsigned
*);
101
extern
void
default_destroy_cost_data
(
void
*);
102
103
/* These are here, and not in hooks.[ch], because not all users of
104
hooks.h include tm.h, and thus we don't have CUMULATIVE_ARGS. */
105
106
extern
bool
hook_bool_CUMULATIVE_ARGS_false
(
cumulative_args_t
);
107
extern
bool
hook_bool_CUMULATIVE_ARGS_true
(
cumulative_args_t
);
108
109
extern
bool
hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false
110
(
cumulative_args_t
,
enum
machine_mode,
const_tree
,
bool
);
111
extern
bool
hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true
112
(
cumulative_args_t
,
enum
machine_mode,
const_tree
,
bool
);
113
extern
int
hook_int_CUMULATIVE_ARGS_mode_tree_bool_0
114
(
cumulative_args_t
,
enum
machine_mode,
tree
,
bool
);
115
extern
const
char
*
hook_invalid_arg_for_unprototyped_fn
116
(
const_tree
,
const_tree
,
const_tree
);
117
extern
void
default_function_arg_advance
118
(
cumulative_args_t
,
enum
machine_mode,
const_tree
,
bool
);
119
extern
rtx
default_function_arg
120
(
cumulative_args_t
,
enum
machine_mode,
const_tree
,
bool
);
121
extern
rtx
default_function_incoming_arg
122
(
cumulative_args_t
,
enum
machine_mode,
const_tree
,
bool
);
123
extern
unsigned
int
default_function_arg_boundary
(
enum
machine_mode,
124
const_tree
);
125
extern
unsigned
int
default_function_arg_round_boundary
(
enum
machine_mode,
126
const_tree
);
127
extern
bool
hook_bool_const_rtx_commutative_p
(
const_rtx
,
int
);
128
extern
rtx
default_function_value
(
const_tree
,
const_tree
,
bool
);
129
extern
rtx
default_libcall_value
(
enum
machine_mode,
const_rtx
);
130
extern
bool
default_function_value_regno_p
(
const
unsigned
int
);
131
extern
rtx
default_internal_arg_pointer
(
void
);
132
extern
rtx
default_static_chain
(
const_tree
,
bool
);
133
extern
void
default_trampoline_init
(
rtx
,
tree
,
rtx
);
134
extern
int
default_return_pops_args
(
tree
,
tree
,
int
);
135
extern
reg_class_t
default_branch_target_register_class
(
void
);
136
extern
bool
default_lra_p
(
void
);
137
extern
int
default_register_priority
(
int
);
138
extern
bool
default_register_usage_leveling_p
(
void
);
139
extern
bool
default_different_addr_displacement_p
(
void
);
140
extern
reg_class_t
default_secondary_reload
(
bool
,
rtx
,
reg_class_t
,
141
enum
machine_mode,
142
secondary_reload_info
*);
143
extern
void
default_target_option_override
(
void
);
144
extern
void
hook_void_bitmap
(
bitmap
);
145
extern
int
default_reloc_rw_mask
(
void
);
146
extern
tree
default_mangle_decl_assembler_name
(
tree
,
tree
);
147
extern
tree
default_emutls_var_fields
(
tree
,
tree
*);
148
extern
tree
default_emutls_var_init
(
tree
,
tree
,
tree
);
149
extern
bool
default_hard_regno_scratch_ok
(
unsigned
int
);
150
extern
bool
default_mode_dependent_address_p
(
const_rtx
,
addr_space_t
);
151
extern
bool
default_target_option_valid_attribute_p
(
tree
,
tree
,
tree
,
int
);
152
extern
bool
default_target_option_pragma_parse
(
tree
,
tree
);
153
extern
bool
default_target_can_inline_p
(
tree
,
tree
);
154
extern
bool
default_valid_pointer_mode
(
enum
machine_mode);
155
extern
bool
default_ref_may_alias_errno
(
struct
ao_ref_s
*);
156
extern
enum
machine_mode
default_addr_space_pointer_mode
(
addr_space_t
);
157
extern
enum
machine_mode
default_addr_space_address_mode
(
addr_space_t
);
158
extern
bool
default_addr_space_valid_pointer_mode
(
enum
machine_mode,
159
addr_space_t
);
160
extern
bool
default_addr_space_legitimate_address_p
(
enum
machine_mode,
rtx
,
161
bool
,
addr_space_t
);
162
extern
rtx
default_addr_space_legitimize_address
(
rtx
,
rtx
,
enum
machine_mode,
163
addr_space_t
);
164
extern
bool
default_addr_space_subset_p
(
addr_space_t
,
addr_space_t
);
165
extern
rtx
default_addr_space_convert
(
rtx
,
tree
,
tree
);
166
extern
unsigned
int
default_case_values_threshold
(
void
);
167
extern
bool
default_have_conditional_execution
(
void
);
168
169
extern
bool
default_libc_has_function
(
enum
function_class
);
170
extern
bool
no_c99_libc_has_function
(
enum
function_class
);
171
extern
bool
gnu_libc_has_function
(
enum
function_class
);
172
173
extern
tree
default_builtin_tm_load_store
(
tree
);
174
175
extern
int
default_memory_move_cost
(
enum
machine_mode,
reg_class_t
,
bool
);
176
extern
int
default_register_move_cost
(
enum
machine_mode,
reg_class_t
,
177
reg_class_t
);
178
179
extern
bool
default_profile_before_prologue
(
void
);
180
extern
reg_class_t
default_preferred_reload_class
(
rtx
,
reg_class_t
);
181
extern
reg_class_t
default_preferred_output_reload_class
(
rtx
,
reg_class_t
);
182
extern
reg_class_t
default_preferred_rename_class
(
reg_class_t
rclass);
183
extern
bool
default_class_likely_spilled_p
(
reg_class_t
);
184
extern
unsigned
char
default_class_max_nregs
(
reg_class_t
,
enum
machine_mode);
185
186
extern
enum
unwind_info_type
default_debug_unwind_info
(
void
);
187
188
extern
void
default_canonicalize_comparison
(
int
*,
rtx
*,
rtx
*,
bool
);
189
190
extern
int
default_label_align_after_barrier_max_skip
(
rtx
);
191
extern
int
default_loop_align_max_skip
(
rtx
);
192
extern
int
default_label_align_max_skip
(
rtx
);
193
extern
int
default_jump_align_max_skip
(
rtx
);
194
extern
section
*
default_function_section
(
tree
decl
,
enum
node_frequency
freq,
195
bool
startup,
bool
exit);
196
extern
enum
machine_mode
default_get_reg_raw_mode
(
int
);
197
198
extern
void
*
default_get_pch_validity
(
size_t
*);
199
extern
const
char
*
default_pch_valid_p
(
const
void
*,
size_t
);
200
201
extern
void
default_asm_output_ident_directive
(
const
char
*);
202
203
extern
enum
machine_mode
default_cstore_mode
(
enum
insn_code);
204
extern
bool
default_member_type_forces_blk
(
const_tree
,
enum
machine_mode);
205
extern
tree
build_va_arg_indirect_ref
(
tree
);
206
extern
tree
std_gimplify_va_arg_expr
(
tree
,
tree
,
gimple_seq
*,
gimple_seq
*);
207
208
extern
rtx
default_load_bounds_for_arg
(
rtx
,
rtx
,
rtx
);
209
extern
void
default_store_bounds_for_arg
(
rtx
,
rtx
,
rtx
,
rtx
);
210
extern
tree
default_fn_abi_va_list_bounds_size
(
tree
);
211
extern
tree
default_chkp_bound_type
(
void
);
212
extern
enum
machine_mode
default_chkp_bound_mode
(
void
);
213
extern
tree
default_builtin_chkp_function
(
unsigned
int
);
gcc
targhooks.h
Generated by
1.8.1.1