Functions |
bool | default_legitimate_address_p (enum machine_mode, rtx, bool) |
void | default_external_libcall (rtx) |
rtx | default_legitimize_address (rtx, rtx, enum machine_mode) |
int | default_unspec_may_trap_p (const_rtx, unsigned) |
enum machine_mode | default_promote_function_mode (const_tree, enum machine_mode, int *, const_tree, int) |
enum machine_mode | default_promote_function_mode_always_promote (const_tree, enum machine_mode, int *, const_tree, int) |
enum machine_mode | default_cc_modes_compatible (enum machine_mode, enum machine_mode) |
bool | default_return_in_memory (const_tree, const_tree) |
rtx | default_expand_builtin_saveregs (void) |
void | default_setup_incoming_varargs (cumulative_args_t, enum machine_mode, tree, int *, int) |
rtx | default_builtin_setjmp_frame_value (void) |
bool | default_pretend_outgoing_varargs_named (cumulative_args_t) |
enum machine_mode | default_eh_return_filter_mode (void) |
enum machine_mode | default_libgcc_cmp_return_mode (void) |
enum machine_mode | default_libgcc_shift_count_mode (void) |
enum machine_mode | default_unwind_word_mode (void) |
unsigned HOST_WIDE_INT | default_shift_truncation_mask (enum machine_mode) |
unsigned int | default_min_divisions_for_recip_mul (enum machine_mode) |
int | default_mode_rep_extended (enum machine_mode, enum machine_mode) |
tree | default_stack_protect_guard (void) |
tree | default_external_stack_protect_fail (void) |
tree | default_hidden_stack_protect_fail (void) |
enum machine_mode | default_mode_for_suffix (char) |
tree | default_cxx_guard_type (void) |
tree | default_cxx_get_cookie_size (tree) |
bool | hook_pass_by_reference_must_pass_in_stack (cumulative_args_t, enum machine_mode mode, const_tree, bool) |
bool | hook_callee_copies_named (cumulative_args_t ca, enum machine_mode, const_tree, bool) |
void | default_print_operand (FILE *, rtx, int) |
void | default_print_operand_address (FILE *, rtx) |
bool | default_print_operand_punct_valid_p (unsigned char) |
tree | default_mangle_assembler_name (const char *) |
bool | default_scalar_mode_supported_p (enum machine_mode) |
bool | targhook_words_big_endian (void) |
bool | targhook_float_words_big_endian (void) |
bool | default_decimal_float_supported_p (void) |
bool | default_fixed_point_supported_p (void) |
bool | default_has_ifunc_p (void) |
const char * | default_invalid_within_doloop (const_rtx) |
tree | default_builtin_vectorized_function (tree, tree, tree) |
tree | default_builtin_vectorized_conversion (unsigned int, tree, tree) |
int | default_builtin_vectorization_cost (enum vect_cost_for_stmt, tree, int) |
tree | default_builtin_reciprocal (unsigned int, bool, bool) |
HOST_WIDE_INT | default_vector_alignment (const_tree) |
bool | default_builtin_vector_alignment_reachable (const_tree, bool) |
bool | default_builtin_support_vector_misalignment (enum machine_mode mode, const_tree, int, bool) |
enum machine_mode | default_preferred_simd_mode (enum machine_mode mode) |
unsigned int | default_autovectorize_vector_sizes (void) |
void * | default_init_cost (struct loop *) |
unsigned | default_add_stmt_cost (void *, int, enum vect_cost_for_stmt, struct _stmt_vec_info *, int, enum vect_cost_model_location) |
void | default_finish_cost (void *, unsigned *, unsigned *, unsigned *) |
void | default_destroy_cost_data (void *) |
bool | hook_bool_CUMULATIVE_ARGS_false (cumulative_args_t) |
bool | hook_bool_CUMULATIVE_ARGS_true (cumulative_args_t) |
bool | hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false (cumulative_args_t, enum machine_mode, const_tree, bool) |
bool | hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true (cumulative_args_t, enum machine_mode, const_tree, bool) |
int | hook_int_CUMULATIVE_ARGS_mode_tree_bool_0 (cumulative_args_t, enum machine_mode, tree, bool) |
const char * | hook_invalid_arg_for_unprototyped_fn (const_tree, const_tree, const_tree) |
void | default_function_arg_advance (cumulative_args_t, enum machine_mode, const_tree, bool) |
rtx | default_function_arg (cumulative_args_t, enum machine_mode, const_tree, bool) |
rtx | default_function_incoming_arg (cumulative_args_t, enum machine_mode, const_tree, bool) |
unsigned int | default_function_arg_boundary (enum machine_mode, const_tree) |
unsigned int | default_function_arg_round_boundary (enum machine_mode, const_tree) |
bool | hook_bool_const_rtx_commutative_p (const_rtx, int) |
rtx | default_function_value (const_tree, const_tree, bool) |
rtx | default_libcall_value (enum machine_mode, const_rtx) |
bool | default_function_value_regno_p (const unsigned int) |
rtx | default_internal_arg_pointer (void) |
rtx | default_static_chain (const_tree, bool) |
void | default_trampoline_init (rtx, tree, rtx) |
int | default_return_pops_args (tree, tree, int) |
reg_class_t | default_branch_target_register_class (void) |
bool | default_lra_p (void) |
int | default_register_priority (int) |
bool | default_register_usage_leveling_p (void) |
bool | default_different_addr_displacement_p (void) |
reg_class_t | default_secondary_reload (bool, rtx, reg_class_t, enum machine_mode, secondary_reload_info *) |
void | default_target_option_override (void) |
void | hook_void_bitmap (bitmap) |
int | default_reloc_rw_mask (void) |
tree | default_mangle_decl_assembler_name (tree, tree) |
tree | default_emutls_var_fields (tree, tree *) |
tree | default_emutls_var_init (tree, tree, tree) |
bool | default_hard_regno_scratch_ok (unsigned int) |
bool | default_mode_dependent_address_p (const_rtx, addr_space_t) |
bool | default_target_option_valid_attribute_p (tree, tree, tree, int) |
bool | default_target_option_pragma_parse (tree, tree) |
bool | default_target_can_inline_p (tree, tree) |
bool | default_valid_pointer_mode (enum machine_mode) |
bool | default_ref_may_alias_errno (struct ao_ref_s *) |
enum machine_mode | default_addr_space_pointer_mode (addr_space_t) |
enum machine_mode | default_addr_space_address_mode (addr_space_t) |
bool | default_addr_space_valid_pointer_mode (enum machine_mode, addr_space_t) |
bool | default_addr_space_legitimate_address_p (enum machine_mode, rtx, bool, addr_space_t) |
rtx | default_addr_space_legitimize_address (rtx, rtx, enum machine_mode, addr_space_t) |
bool | default_addr_space_subset_p (addr_space_t, addr_space_t) |
rtx | default_addr_space_convert (rtx, tree, tree) |
unsigned int | default_case_values_threshold (void) |
bool | default_have_conditional_execution (void) |
bool | default_libc_has_function (enum function_class) |
bool | no_c99_libc_has_function (enum function_class) |
bool | gnu_libc_has_function (enum function_class) |
tree | default_builtin_tm_load_store (tree) |
int | default_memory_move_cost (enum machine_mode, reg_class_t, bool) |
int | default_register_move_cost (enum machine_mode, reg_class_t, reg_class_t) |
bool | default_profile_before_prologue (void) |
reg_class_t | default_preferred_reload_class (rtx, reg_class_t) |
reg_class_t | default_preferred_output_reload_class (rtx, reg_class_t) |
reg_class_t | default_preferred_rename_class (reg_class_t rclass) |
bool | default_class_likely_spilled_p (reg_class_t) |
unsigned char | default_class_max_nregs (reg_class_t, enum machine_mode) |
enum unwind_info_type | default_debug_unwind_info (void) |
void | default_canonicalize_comparison (int *, rtx *, rtx *, bool) |
int | default_label_align_after_barrier_max_skip (rtx) |
int | default_loop_align_max_skip (rtx) |
int | default_label_align_max_skip (rtx) |
int | default_jump_align_max_skip (rtx) |
section * | default_function_section (tree decl, enum node_frequency freq, bool startup, bool exit) |
enum machine_mode | default_get_reg_raw_mode (int) |
void * | default_get_pch_validity (size_t *) |
const char * | default_pch_valid_p (const void *, size_t) |
void | default_asm_output_ident_directive (const char *) |
enum machine_mode | default_cstore_mode (enum insn_code) |
bool | default_member_type_forces_blk (const_tree, enum machine_mode) |
bool default_legitimate_address_p |
( |
enum machine_mode |
mode, |
|
|
rtx |
addr, |
|
|
bool |
strict |
|
) |
| |
@verbatim Default target hook functions.
Copyright (C) 2003-2013 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see http://www.gnu.org/licenses/.
@verbatim Default target hook functions.
Copyright (C) 2003-2013 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see http://www.gnu.org/licenses/.
The migration of target macros to target hooks works as follows:
1. Create a target hook that uses the existing target macros to
implement the same functionality.
2. Convert all the MI files to use the hook instead of the macro.
3. Repeat for a majority of the remaining target macros. This will
take some time.
4. Tell target maintainers to start migrating.
5. Eventually convert the backends to override the hook instead of
defining the macros. This will take some time too.
6. TBD when, poison the macros. Unmigrated targets will break at
this point.
Note that we expect steps 1-3 to be done by the people that
understand what the MI does with each macro, and step 5 to be done
by the target maintainers for their respective targets.
Note that steps 1 and 2 don't have to be done together, but no
target can override the new hook until step 2 is complete for it.
Once the macros are poisoned, we will revert to the old migration
rules - migrate the macro, callers, and targets all at once. This
comment can thus be removed at that point.