20#ifndef GCC_TARGHOOKS_H
21#define GCC_TARGHOOKS_H
Definition tree-ssa-alias.h:77
Definition machmode.h:823
Definition machmode.h:263
Definition machmode.h:455
Definition machmode.h:427
Definition machmode.h:483
Definition tree-vectorizer.h:448
Definition tree-vectorizer.h:1578
unwind_info_type
Definition coretypes.h:248
unsigned char addr_space_t
Definition coretypes.h:174
class edge_def * edge
Definition coretypes.h:342
function_class
Definition coretypes.h:408
excess_precision_type
Definition coretypes.h:439
node_frequency
Definition coretypes.h:257
pad_direction
Definition coretypes.h:284
flt_eval_method
Definition coretypes.h:430
int reg_class_t
Definition coretypes.h:366
const union tree_node * const_tree
Definition coretypes.h:98
class bitmap_head * bitmap
Definition coretypes.h:51
union tree_node * tree
Definition coretypes.h:97
optimization_type
Definition coretypes.h:272
T * ggc_alloc(ALONE_CXX_MEM_STAT_INFO)
Definition ggc.h:184
HARD_REG_ELT_TYPE HARD_REG_SET
Definition hard-reg-set.h:47
Definition genautomata.cc:499
by_pieces_operation
Definition target.h:98
poly_value_estimate_kind
Definition target.h:278
void(* emit_support_tinfos_callback)(tree)
Definition target.h:284
vect_cost_for_stmt
Definition target.h:187
void default_emit_call_builtin___clear_cache(rtx, rtx)
Definition builtins.cc:5987
rtx default_legitimize_address(rtx, rtx, machine_mode)
Definition targhooks.cc:180
unsigned HOST_WIDE_INT default_shift_truncation_mask(machine_mode)
Definition targhooks.cc:264
void hook_void_CUMULATIVE_ARGS_rtx_tree(cumulative_args_t, rtx, tree)
Definition targhooks.cc:803
bool default_scalar_mode_supported_p(scalar_mode)
Definition targhooks.cc:429
bool default_valid_pointer_mode(scalar_int_mode)
Definition targhooks.cc:1618
bool hook_bool_CUMULATIVE_ARGS_false(cumulative_args_t)
Definition targhooks.cc:225
uint8_t default_memtag_tag_size()
Definition targhooks.cc:2721
bool default_goacc_fork_join(gcall *, const int[], bool)
bool default_target_option_valid_version_attribute_p(tree, tree, tree, int)
bool hook_bool_CUMULATIVE_ARGS_arg_info_false(cumulative_args_t, const function_arg_info &)
Definition targhooks.cc:771
rtx default_addr_space_convert(rtx, tree, tree)
Definition targhooks.cc:1758
rtx default_memtag_add_tag(rtx, poly_int64, uint8_t)
Definition targhooks.cc:2755
bool default_new_address_profitable_p(rtx, rtx_insn *, rtx)
Definition targhooks.cc:1796
HOST_WIDE_INT default_stack_clash_protection_alloca_probe_range(void)
Definition targhooks.cc:2649
const char * default_pch_valid_p(const void *, size_t)
Definition targhooks.cc:2389
pad_direction default_function_arg_padding(machine_mode, const_tree)
Definition targhooks.cc:837
bool default_have_conditional_execution(void)
Definition targhooks.cc:1885
void default_target_option_override(void)
machine_mode default_translate_mode_attribute(machine_mode)
Definition targhooks.cc:414
void * default_get_pch_validity(size_t *)
Definition targhooks.cc:2343
bool default_function_value_regno_p(const unsigned int)
Definition targhooks.cc:1037
machine_mode default_promote_function_mode(const_tree, machine_mode, int *, const_tree, int)
Definition targhooks.cc:143
reg_class_t default_ira_change_pseudo_allocno_class(int, reg_class_t, reg_class_t)
Definition targhooks.cc:1288
bool default_generate_pic_addr_diff_vec(void)
Definition targhooks.cc:1428
void hook_void_CUMULATIVE_ARGS_tree(cumulative_args_t, tree)
Definition targhooks.cc:797
poly_uint64 default_preferred_vector_alignment(const_tree)
Definition targhooks.cc:1506
void default_asm_out_destructor(rtx, int)
Definition targhooks.cc:1447
tree default_stack_protect_guard(void)
Definition targhooks.cc:906
void default_external_libcall(rtx)
Definition targhooks.cc:117
scalar_int_mode default_addr_space_pointer_mode(addr_space_t)
Definition targhooks.cc:1656
HOST_WIDE_INT default_constant_alignment(const_tree, HOST_WIDE_INT)
Definition targhooks.cc:1471
reg_class_t default_preferred_rename_class(reg_class_t rclass)
Definition targhooks.cc:2227
bool hook_bool_CUMULATIVE_ARGS_true(cumulative_args_t)
Definition targhooks.cc:288
void default_asm_output_ident_directive(const char *)
Definition varasm.cc:8630
HOST_WIDE_INT constant_alignment_word_strings(const_tree, HOST_WIDE_INT)
Definition targhooks.cc:1480
rtx default_libcall_value(machine_mode, const_rtx)
Definition targhooks.cc:1024
tree default_mangle_assembler_name(const char *)
Definition targhooks.cc:402
void hook_void_CUMULATIVE_ARGS(cumulative_args_t)
Definition targhooks.cc:792
vector_costs * default_vectorize_create_costs(vec_info *, bool)
Definition targhooks.cc:1610
tree default_hidden_stack_protect_fail(void)
Definition targhooks.cc:966
void default_emit_support_tinfos(emit_support_tinfos_callback)
Definition targhooks.cc:766
tree default_mangle_decl_assembler_name(tree, tree)
Definition targhooks.cc:1454
rtx default_function_value(const_tree, const_tree, bool)
Definition targhooks.cc:1007
rtx default_addr_space_legitimize_address(rtx, rtx, machine_mode, addr_space_t)
Definition targhooks.cc:1712
bool default_noce_conversion_profitable_p(rtx_insn *, struct noce_if_info *)
Definition ifcvt.cc:809
bool default_addr_space_legitimate_address_p(machine_mode, rtx, bool, addr_space_t, code_helper)
Definition targhooks.cc:1700
tree std_gimplify_va_arg_expr(tree, tree, gimple_seq *, gimple_seq *)
Definition targhooks.cc:2473
bool default_register_usage_leveling_p(void)
Definition targhooks.cc:1308
unsigned int default_dwarf_poly_indeterminate_value(unsigned int, unsigned int *, int *)
Definition targhooks.cc:2282
bool default_class_likely_spilled_p(reg_class_t)
Definition targhooks.cc:2235
scalar_int_mode default_libgcc_cmp_return_mode(void)
Definition targhooks.cc:244
opt_scalar_float_mode default_floatn_mode(int, bool)
Definition targhooks.cc:503
void default_asm_out_constructor(rtx, int)
Definition targhooks.cc:1438
machine_mode default_split_reduction(machine_mode)
Definition targhooks.cc:1557
bool default_return_in_memory(const_tree, const_tree)
Definition targhooks.cc:173
bool default_mode_dependent_address_p(const_rtx, addr_space_t)
Definition targhooks.cc:1784
bool default_keep_leaf_when_profiled()
Definition targhooks.cc:2316
bool default_preferred_div_as_shifts_over_mult(const_tree)
Definition targhooks.cc:1515
bool default_target_option_valid_attribute_p(tree, tree, tree, int)
machine_mode default_preferred_doloop_mode(machine_mode)
Definition targhooks.cc:677
void default_function_arg_advance(cumulative_args_t, const function_arg_info &)
Definition targhooks.cc:820
bool default_goacc_validate_dims(tree, int[], int, unsigned)
bool default_float_exceptions_rounding_supported_p(void)
Definition targhooks.cc:628
const char * default_invalid_within_doloop(const rtx_insn *)
Definition targhooks.cc:693
machine_mode default_preferred_simd_mode(scalar_mode mode)
Definition targhooks.cc:1549
tree default_builtin_vectorized_function(unsigned int, tree, tree)
Definition targhooks.cc:707
bool gnu_libc_has_function(enum function_class, tree)
Definition targhooks.cc:1913
unsigned char default_class_max_nregs(reg_class_t, machine_mode)
Definition targhooks.cc:2243
unsigned int default_max_noce_ifcvt_seq_cost(edge)
Definition targhooks.cc:2604
bool hook_bool_CUMULATIVE_ARGS_arg_info_true(cumulative_args_t, const function_arg_info &)
Definition targhooks.cc:778
void default_select_early_remat_modes(sbitmap)
Definition targhooks.cc:2657
poly_int64 default_return_pops_args(tree, tree, poly_int64)
Definition targhooks.cc:1282
bool default_optab_supported_p(int, machine_mode, machine_mode, optimization_type)
Definition targhooks.cc:2596
void default_goacc_reduction(gcall *)
Definition omp-offload.cc:1790
bool default_profile_before_prologue(void)
Definition targhooks.cc:2194
bool default_libgcc_floating_mode_supported_p(scalar_float_mode)
Definition targhooks.cc:476
enum flt_eval_method default_excess_precision(enum excess_precision_type)
Definition targhooks.cc:2633
bool default_push_argument(unsigned int)
Definition targhooks.cc:810
int default_compare_by_pieces_branch_ratio(machine_mode)
Definition targhooks.cc:2132
bool default_ref_may_alias_errno(class ao_ref *)
Definition targhooks.cc:1626
bool default_addr_space_subset_p(addr_space_t, addr_space_t)
Definition targhooks.cc:1723
machine_mode default_cc_modes_compatible(machine_mode, machine_mode)
Definition targhooks.cc:165
bool default_has_ifunc_p(void)
Definition targhooks.cc:656
void default_addr_space_diagnose_usage(addr_space_t, location_t)
Definition targhooks.cc:1749
rtx default_memtag_insert_random_tag(rtx, rtx)
Definition targhooks.cc:2734
bool default_legitimate_address_p(machine_mode, rtx, bool, code_helper)
Definition targhooks.cc:100
unsigned int default_function_arg_round_boundary(machine_mode, const_tree)
Definition targhooks.cc:880
scalar_int_mode default_cstore_mode(enum insn_code)
Definition targhooks.cc:2429
void hook_void_bitmap(bitmap)
Definition targhooks.cc:887
bool default_slow_unaligned_access(machine_mode, unsigned int)
Definition targhooks.cc:2054
tree default_preferred_else_value(unsigned, tree, unsigned, tree *)
Definition targhooks.cc:2664
HOST_WIDE_INT default_static_rtx_alignment(machine_mode)
Definition targhooks.cc:1463
HOST_WIDE_INT default_estimated_poly_value(poly_int64, poly_value_estimate_kind)
Definition targhooks.cc:2062
HOST_WIDE_INT default_function_arg_offset(machine_mode, const_tree)
Definition targhooks.cc:828
rtx default_expand_builtin_saveregs(void)
Definition targhooks.cc:202
tree build_va_arg_indirect_ref(tree)
Definition targhooks.cc:2463
opt_machine_mode default_vectorize_related_mode(machine_mode, scalar_mode, poly_uint64)
Definition targhooks.cc:1573
void default_trampoline_init(rtx, tree, rtx)
bool hook_pass_by_reference_must_pass_in_stack(cumulative_args_t, const function_arg_info &)
Definition targhooks.cc:344
rtx default_builtin_setjmp_frame_value(void)
Definition targhooks.cc:217
tree default_cxx_get_cookie_size(tree)
Definition targhooks.cc:313
bool default_predict_doloop_p(class loop *)
Definition targhooks.cc:669
bool hook_callee_copies_named(cumulative_args_t ca, const function_arg_info &)
Definition targhooks.cc:354
bool default_pretend_outgoing_varargs_named(cumulative_args_t)
Definition targhooks.cc:231
unsigned int default_min_arithmetic_precision(void)
Definition targhooks.cc:2625
tree default_emutls_var_init(tree, tree, tree)
Definition tree-emutls.cc:156
bool default_target_can_inline_p(tree, tree)
Definition targhooks.cc:1842
tree default_external_stack_protect_fail(void)
Definition targhooks.cc:939
void default_setup_incoming_varargs(cumulative_args_t, const function_arg_info &, int *, int)
Definition targhooks.cc:209
rtx default_function_arg(cumulative_args_t, const function_arg_info &)
Definition targhooks.cc:861
void default_canonicalize_comparison(int *, rtx *, rtx *, bool)
Definition targhooks.cc:2445
uint8_t default_memtag_granule_size()
Definition targhooks.cc:2727
tree default_cxx_guard_type(void)
Definition targhooks.cc:303
rtx default_function_incoming_arg(cumulative_args_t, const function_arg_info &)
Definition targhooks.cc:867
bool default_memtag_can_tag_addresses()
Definition targhooks.cc:2715
tree default_builtin_reciprocal(tree)
Definition targhooks.cc:760
bool default_addr_space_zero_address_valid(addr_space_t)
Definition targhooks.cc:1732
bool default_need_ipa_fn_target_info(const_tree, unsigned int &)
Definition targhooks.cc:1863
bool default_floatn_builtin_p(int)
Definition targhooks.cc:597
rtx default_memtag_extract_tag(rtx, rtx)
Definition targhooks.cc:2796
bool default_builtin_vector_alignment_reachable(const_tree, bool)
Definition targhooks.cc:1523
fixed_size_mode default_get_reg_raw_mode(int)
Definition targhooks.cc:2305
int default_memory_move_cost(machine_mode, reg_class_t, bool)
Definition targhooks.cc:2024
machine_mode default_promote_function_mode_always_promote(const_tree, machine_mode, int *, const_tree, int)
Definition targhooks.cc:155
tree default_emutls_var_fields(tree, tree *)
Definition tree-emutls.cc:119
bool hook_bool_const_rtx_commutative_p(const_rtx, int)
Definition targhooks.cc:1000
int default_register_priority(int)
Definition targhooks.cc:1302
unsigned glibc_linux_libm_function_max_error(unsigned, machine_mode, bool)
Definition targhooks.cc:1954
scalar_int_mode default_libgcc_shift_count_mode(void)
Definition targhooks.cc:250
opt_machine_mode default_get_mask_mode(machine_mode)
Definition targhooks.cc:1592
bool default_bitint_type_info(int, struct bitint_info *)
Definition targhooks.cc:2641
bool default_decimal_float_supported_p(void)
Definition targhooks.cc:640
unsigned default_fortify_source_default_level(void)
Definition targhooks.cc:1942
bool default_legitimize_address_displacement(rtx *, rtx *, poly_int64, machine_mode)
Definition targhooks.cc:187
int default_register_move_cost(machine_mode, reg_class_t, reg_class_t)
Definition targhooks.cc:2039
bool default_builtin_support_vector_misalignment(machine_mode mode, const_tree, int, bool)
Definition targhooks.cc:1532
HOST_WIDE_INT default_vector_alignment(const_tree)
Definition targhooks.cc:1491
void default_print_operand(FILE *, rtx, int)
Definition targhooks.cc:362
HARD_REG_SET default_zero_call_used_regs(HARD_REG_SET)
Definition targhooks.cc:1088
bool default_lra_p(void)
Definition targhooks.cc:1296
machine_mode default_mode_for_suffix(char)
Definition targhooks.cc:296
unsigned int default_autovectorize_vector_modes(vector_modes *, bool)
Definition targhooks.cc:1565
bool default_have_speculation_safe_value(bool)
Definition targhooks.cc:2671
bool can_use_doloop_if_innermost(const widest_int &, const widest_int &, unsigned int, bool)
Definition targhooks.cc:2587
tree default_builtin_tm_load_store(tree)
bool default_different_addr_displacement_p(void)
Definition targhooks.cc:1314
unsigned int default_case_values_threshold(void)
Definition targhooks.cc:1879
reg_class_t default_preferred_output_reload_class(rtx, reg_class_t)
Definition targhooks.cc:2219
tree default_cxx_adjust_cdtor_callabi_fntype(tree)
Definition targhooks.cc:335
int default_addr_space_debug(addr_space_t)
Definition targhooks.cc:1740
int default_unspec_may_trap_p(const_rtx, unsigned)
Definition targhooks.cc:125
enum unwind_info_type default_debug_unwind_info(void)
Definition targhooks.cc:2260
int default_goacc_dim_limit(int)
void default_print_patchable_function_entry(FILE *, unsigned HOST_WIDE_INT, bool)
Definition targhooks.cc:2145
bool default_libc_has_function(enum function_class, tree)
Definition targhooks.cc:1893
bool default_use_by_pieces_infrastructure_p(unsigned HOST_WIDE_INT, unsigned int, enum by_pieces_operation, bool)
Definition targhooks.cc:2091
unsigned int default_hard_regno_nregs(unsigned int, machine_mode)
Definition targhooks.cc:1768
bool no_c99_libc_has_function(enum function_class, tree)
Definition targhooks.cc:1920
int default_builtin_vectorization_cost(enum vect_cost_for_stmt, tree, int)
Definition targhooks.cc:723
bool speculation_safe_value_not_needed(bool)
Definition targhooks.cc:2682
bool default_const_not_ok_for_debug_p(rtx)
Definition targhooks.cc:194
const char * hook_invalid_arg_for_unprototyped_fn(const_tree, const_tree, const_tree)
Definition targhooks.cc:892
int default_reloc_rw_mask(void)
Definition targhooks.cc:1419
bool default_addr_space_valid_pointer_mode(scalar_int_mode, addr_space_t)
Definition targhooks.cc:1674
bool targhook_float_words_big_endian(void)
Definition targhooks.cc:619
reg_class_t default_preferred_reload_class(rtx, reg_class_t)
Definition targhooks.cc:2206
bool bsd_libc_has_function(enum function_class, tree)
Definition targhooks.cc:1928
reg_class_t default_secondary_reload(bool, rtx, reg_class_t, machine_mode, secondary_reload_info *)
Definition targhooks.cc:1320
scalar_int_mode default_unwind_word_mode(void)
Definition targhooks.cc:256
void default_atomic_assign_expand_fenv(tree *, tree *, tree *)
Definition targhooks.cc:2452
scalar_int_mode default_addr_space_address_mode(addr_space_t)
Definition targhooks.cc:1665
scalar_int_mode default_eh_return_filter_mode(void)
Definition targhooks.cc:238
machine_mode default_dwarf_frame_reg_mode(int)
Definition targhooks.cc:2291
bool default_hard_regno_scratch_ok(unsigned int)
Definition targhooks.cc:1776
void default_print_operand_address(FILE *, machine_mode, rtx)
Definition targhooks.cc:376
bool default_update_ipa_fn_target_info(unsigned int &, const gimple *)
Definition targhooks.cc:1869
machine_mode default_secondary_memory_needed_mode(machine_mode)
Definition targhooks.cc:1406
rtx default_static_chain(const_tree, bool)
rtx default_memtag_set_tag(rtx, rtx, rtx)
Definition targhooks.cc:2783
unsigned int default_min_divisions_for_recip_mul(machine_mode)
Definition targhooks.cc:272
section * default_function_section(tree decl, enum node_frequency freq, bool startup, bool exit)
Definition varasm.cc:594
bool default_print_operand_punct_valid_p(unsigned char)
Definition targhooks.cc:391
int default_mode_rep_extended(scalar_int_mode, scalar_int_mode)
Definition targhooks.cc:280
rtx default_speculation_safe_value(machine_mode, rtx, rtx, rtx)
Definition targhooks.cc:2691
bool default_member_type_forces_blk(const_tree, machine_mode)
Definition targhooks.cc:2437
unsigned int default_function_arg_boundary(machine_mode, const_tree)
Definition targhooks.cc:873
rtx default_internal_arg_pointer(void)
Definition targhooks.cc:1232
bool default_libc_has_fast_function(int fcode)
Definition targhooks.cc:1907
int hook_int_CUMULATIVE_ARGS_arg_info_0(cumulative_args_t, const function_arg_info &)
Definition targhooks.cc:785
bool targhook_words_big_endian(void)
Definition targhooks.cc:613
rtx default_memtag_untagged_pointer(rtx, rtx)
Definition targhooks.cc:2809
bool default_empty_mask_is_expensive(unsigned)
Definition targhooks.cc:1600
unsigned default_libm_function_max_error(unsigned, machine_mode, bool)
Definition targhooks.cc:1948
tree default_builtin_md_vectorized_function(tree, tree, tree)
Definition targhooks.cc:715
bool default_fixed_point_supported_p(void)
Definition targhooks.cc:648
bool default_target_option_pragma_parse(tree, tree)