mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-24 11:24:05 +08:00
alpha.c (alpha_mangle_type, [...]): Constify.
* config/alpha/alpha.c (alpha_mangle_type, decl_has_samegp, alpha_in_small_data_p, alpha_split_complex_arg, alpha_stdarg_optimize_hook, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Constify. * config/arm/arm-protos.h (arm_mangle_type): Likewise. * config/arm/arm.c (arm_comp_type_attributes, arm_mangle_type): Likewise. * config/bfin/bfin.c (funkind, bfin_comp_type_attributes, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise. * config/darwin-protos.h (darwin_binds_local_p): Likewise. * config/darwin.c (darwin_binds_local_p): Likewise. * config/frv/frv.c (frv_string_begins_with, frv_in_small_data_p): Likewise. * config/i386/i386-protos.h (i386_pe_binds_local_p, i386_pe_valid_dllimport_attribute_p): Likewise. * config/i386/i386.c (ix86_function_regparm, ix86_comp_type_attributes, ix86_ms_bitfield_layout_p, x86_can_output_mi_thunk, ix86_mangle_type, TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise. * config/i386/winnt.c (i386_pe_valid_dllimport_attribute_p, i386_pe_binds_local_p): Likewise. * config/ia64/ia64.c (ia64_first_cycle_multipass_dfa_lookahead_guard_spec, ia64_needs_block_p, ia64_in_small_data_p, ia64_mangle_type, ia64_invalid_conversion, ia64_invalid_unary_op, ia64_invalid_binary_op, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise. * config/m32c/m32c.c (m32c_comp_type_attributes): Likewise. * config/m32r/m32r.c (m32r_in_small_data_p): Likewise. * config/m68k/m68k.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise. * config/mips/mips.c (mips_use_blocks_for_constant_p, mips_in_small_data_p, mips_use_anchors_for_symbol_p, mips_comp_type_attributes, TARGET_ASM_CAN_OUTPUT_MI_THUNK, mips_near_type_p, mips_far_type_p, mips_global_symbol_p, mips_symbol_binds_local_p, mips_classify_symbol): Likewise. * config/pa/pa.c (pa_commutative_p): Likewise. * config/rs6000/rs6000-protos.h (rs6000_elf_in_small_data_p): Likewise. * config/rs6000/rs6000.c (rs6000_invalid_within_doloop, rs6000_ms_bitfield_layout_p, rs6000_mangle_type, rs6000_use_blocks_for_constant_p, rs6000_vector_alignment_reachable, rs6000_is_opaque_type, invalid_arg_for_unprototyped_fn, TARGET_ASM_CAN_OUTPUT_MI_THUNK, TARGET_SPLIT_COMPLEX_ARG, rs6000_elf_in_small_data_p): Likewise. * config/s390/s390.c (s390_mangle_type, TARGET_ASM_CAN_OUTPUT_MI_THUNK, TARGET_INVALID_WITHIN_DOLOOP): Likewise. * config/score/score.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK, th_in_small_data_p): Likewise. * config/sh/sh.c (sh_ms_bitfield_layout_p, sh_dwarf_calling_convention, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise. * config/sparc/sparc.c (sparc_can_output_mi_thunk, sparc_mangle_type): Likewise. * config/spu/spu.c (spu_vector_alignment_reachable): Likewise. * config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): Likewise. * emit-rtl.c (const_fixed_htab_hash, const_fixed_htab_eq): Likewise. * hooks.c (hook_bool_mode_const_rtx_false, hook_bool_mode_const_rtx_true, hook_bool_const_tree_hwi_hwi_const_tree_false, hook_bool_const_tree_hwi_hwi_const_tree_true, hook_int_const_tree_0, hook_int_const_tree_const_tree_1, hook_constcharptr_const_tree_null, hook_constcharptr_const_rtx_null, hook_constcharptr_const_tree_const_tree_null, hook_constcharptr_int_const_tree_null, hook_constcharptr_int_const_tree_const_tree_null): New. (hook_bool_mode_rtx_false, hook_bool_mode_rtx_true, hook_bool_tree_hwi_hwi_tree_false, hook_bool_tree_hwi_hwi_tree_true, hook_int_tree_0, hook_int_tree_tree_1, hook_constcharptr_tree_null, hook_constcharptr_rtx_null, hook_constcharptr_tree_tree_null, hook_constcharptr_int_tree_null, hook_constcharptr_int_tree_tree_null): Delete. (default_can_output_mi_thunk_no_vcall): Constify. * hooks.h (hook_bool_mode_rtx_false, hook_bool_mode_rtx_true, hook_bool_tree_hwi_hwi_tree_false, hook_bool_tree_hwi_hwi_tree_true, hook_int_tree_0, hook_int_tree_tree_1, hook_constcharptr_tree_null, hook_constcharptr_rtx_null, hook_constcharptr_tree_tree_null, hook_constcharptr_int_tree_null, hook_constcharptr_int_tree_tree_null): Delete. (hook_bool_mode_const_rtx_false, hook_bool_mode_const_rtx_true, hook_bool_const_tree_hwi_hwi_const_tree_false, hook_bool_const_tree_hwi_hwi_const_tree_true, hook_int_const_tree_0, hook_int_const_tree_const_tree_1, hook_constcharptr_const_tree_null, hook_constcharptr_const_rtx_null, hook_constcharptr_const_tree_const_tree_null, hook_constcharptr_int_const_tree_null, hook_constcharptr_int_const_tree_const_tree_null): New. (default_can_output_mi_thunk_no_vcall): Constify. * integrate.c (function_attribute_inlinable_p): Likewise. * integrate.h (function_attribute_inlinable_p): Likewise. * jump.c (rtx_renumbered_equal_p): Likewise. * output.h (decl_readonly_section, categorize_decl_for_section, default_use_anchors_for_symbol_p, default_binds_local_p, default_binds_local_p_1): Likewise. * rtl.h (rtx_renumbered_equal_p, decl_default_tls_model): Likewise. * target-def.h (TARGET_ASM_CAN_OUTPUT_MI_THUNK, TARGET_VALID_DLLIMPORT_ATTRIBUTE_P, TARGET_VECTOR_OPAQUE_P, TARGET_COMMUTATIVE_P, TARGET_USE_BLOCKS_FOR_CONSTANT_P, TARGET_COMP_TYPE_ATTRIBUTES, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P, TARGET_MS_BITFIELD_LAYOUT_P, TARGET_MANGLE_TYPE, TARGET_IN_SMALL_DATA_P, TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP, TARGET_DWARF_CALLING_CONVENTION): Likewise. * target.h (can_output_mi_thunk, needs_block_p, first_cycle_multipass_dfa_lookahead_guard_spec, vector_alignment_reachable, comp_type_attributes, function_attribute_inlinable_p, ms_bitfield_layout_p, mangle_type, commutative_p, use_blocks_for_constant_p, use_anchors_for_symbol_p, in_small_data_p, binds_local_p, vector_opaque_p, dwarf_calling_convention, stdarg_optimize_hook, invalid_within_doloop, valid_dllimport_attribute_p, split_complex_arg, invalid_arg_for_unprototyped_fn, invalid_conversion, invalid_unary_op, invalid_binary_op): Likewise. * targhooks.c (default_invalid_within_doloop, hook_invalid_arg_for_unprototyped_fn, default_builtin_vector_alignment_reachable): Likewise. (hook_bool_rtx_commutative_p): Delete. (hook_bool_const_rtx_commutative_p): New. * targhooks.h (default_invalid_within_doloop, default_builtin_vector_alignment_reachable, hook_invalid_arg_for_unprototyped_fn): Constify. (hook_bool_rtx_commutative_p): Delete. (hook_bool_const_rtx_commutative_p): New. * varasm.c (bss_initializer_p, decl_default_tls_model, categorize_decl_for_section, decl_readonly_section, default_use_anchors_for_symbol_p, default_binds_local_p, default_binds_local_p_1): Constify. From-SVN: r127785
This commit is contained in:
parent
80bf9cff52
commit
3101faab46
138
gcc/ChangeLog
138
gcc/ChangeLog
@ -1,3 +1,141 @@
|
||||
2007-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* config/alpha/alpha.c (alpha_mangle_type, decl_has_samegp,
|
||||
alpha_in_small_data_p, alpha_split_complex_arg,
|
||||
alpha_stdarg_optimize_hook, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
|
||||
Constify.
|
||||
* config/arm/arm-protos.h (arm_mangle_type): Likewise.
|
||||
* config/arm/arm.c (arm_comp_type_attributes, arm_mangle_type):
|
||||
Likewise.
|
||||
* config/bfin/bfin.c (funkind, bfin_comp_type_attributes,
|
||||
TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
|
||||
* config/darwin-protos.h (darwin_binds_local_p): Likewise.
|
||||
* config/darwin.c (darwin_binds_local_p): Likewise.
|
||||
* config/frv/frv.c (frv_string_begins_with, frv_in_small_data_p):
|
||||
Likewise.
|
||||
* config/i386/i386-protos.h (i386_pe_binds_local_p,
|
||||
i386_pe_valid_dllimport_attribute_p): Likewise.
|
||||
* config/i386/i386.c (ix86_function_regparm,
|
||||
ix86_comp_type_attributes, ix86_ms_bitfield_layout_p,
|
||||
x86_can_output_mi_thunk, ix86_mangle_type,
|
||||
TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise.
|
||||
* config/i386/winnt.c (i386_pe_valid_dllimport_attribute_p,
|
||||
i386_pe_binds_local_p): Likewise.
|
||||
* config/ia64/ia64.c
|
||||
(ia64_first_cycle_multipass_dfa_lookahead_guard_spec,
|
||||
ia64_needs_block_p, ia64_in_small_data_p, ia64_mangle_type,
|
||||
ia64_invalid_conversion, ia64_invalid_unary_op,
|
||||
ia64_invalid_binary_op, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
|
||||
Likewise.
|
||||
* config/m32c/m32c.c (m32c_comp_type_attributes): Likewise.
|
||||
* config/m32r/m32r.c (m32r_in_small_data_p): Likewise.
|
||||
* config/m68k/m68k.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
|
||||
* config/mips/mips.c (mips_use_blocks_for_constant_p,
|
||||
mips_in_small_data_p, mips_use_anchors_for_symbol_p,
|
||||
mips_comp_type_attributes, TARGET_ASM_CAN_OUTPUT_MI_THUNK,
|
||||
mips_near_type_p, mips_far_type_p, mips_global_symbol_p,
|
||||
mips_symbol_binds_local_p, mips_classify_symbol): Likewise.
|
||||
* config/pa/pa.c (pa_commutative_p): Likewise.
|
||||
* config/rs6000/rs6000-protos.h (rs6000_elf_in_small_data_p):
|
||||
Likewise.
|
||||
* config/rs6000/rs6000.c (rs6000_invalid_within_doloop,
|
||||
rs6000_ms_bitfield_layout_p, rs6000_mangle_type,
|
||||
rs6000_use_blocks_for_constant_p,
|
||||
rs6000_vector_alignment_reachable, rs6000_is_opaque_type,
|
||||
invalid_arg_for_unprototyped_fn, TARGET_ASM_CAN_OUTPUT_MI_THUNK,
|
||||
TARGET_SPLIT_COMPLEX_ARG, rs6000_elf_in_small_data_p): Likewise.
|
||||
* config/s390/s390.c (s390_mangle_type,
|
||||
TARGET_ASM_CAN_OUTPUT_MI_THUNK, TARGET_INVALID_WITHIN_DOLOOP):
|
||||
Likewise.
|
||||
* config/score/score.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK,
|
||||
th_in_small_data_p): Likewise.
|
||||
* config/sh/sh.c (sh_ms_bitfield_layout_p,
|
||||
sh_dwarf_calling_convention, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
|
||||
Likewise.
|
||||
* config/sparc/sparc.c (sparc_can_output_mi_thunk,
|
||||
sparc_mangle_type): Likewise.
|
||||
* config/spu/spu.c (spu_vector_alignment_reachable): Likewise.
|
||||
* config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): Likewise.
|
||||
* emit-rtl.c (const_fixed_htab_hash, const_fixed_htab_eq):
|
||||
Likewise.
|
||||
* hooks.c (hook_bool_mode_const_rtx_false,
|
||||
hook_bool_mode_const_rtx_true,
|
||||
hook_bool_const_tree_hwi_hwi_const_tree_false,
|
||||
hook_bool_const_tree_hwi_hwi_const_tree_true,
|
||||
hook_int_const_tree_0, hook_int_const_tree_const_tree_1,
|
||||
hook_constcharptr_const_tree_null,
|
||||
hook_constcharptr_const_rtx_null,
|
||||
hook_constcharptr_const_tree_const_tree_null,
|
||||
hook_constcharptr_int_const_tree_null,
|
||||
hook_constcharptr_int_const_tree_const_tree_null): New.
|
||||
(hook_bool_mode_rtx_false, hook_bool_mode_rtx_true,
|
||||
hook_bool_tree_hwi_hwi_tree_false,
|
||||
hook_bool_tree_hwi_hwi_tree_true, hook_int_tree_0,
|
||||
hook_int_tree_tree_1, hook_constcharptr_tree_null,
|
||||
hook_constcharptr_rtx_null, hook_constcharptr_tree_tree_null,
|
||||
hook_constcharptr_int_tree_null,
|
||||
hook_constcharptr_int_tree_tree_null): Delete.
|
||||
(default_can_output_mi_thunk_no_vcall): Constify.
|
||||
* hooks.h (hook_bool_mode_rtx_false, hook_bool_mode_rtx_true,
|
||||
hook_bool_tree_hwi_hwi_tree_false,
|
||||
hook_bool_tree_hwi_hwi_tree_true, hook_int_tree_0,
|
||||
hook_int_tree_tree_1, hook_constcharptr_tree_null,
|
||||
hook_constcharptr_rtx_null, hook_constcharptr_tree_tree_null,
|
||||
hook_constcharptr_int_tree_null,
|
||||
hook_constcharptr_int_tree_tree_null): Delete.
|
||||
(hook_bool_mode_const_rtx_false, hook_bool_mode_const_rtx_true,
|
||||
hook_bool_const_tree_hwi_hwi_const_tree_false,
|
||||
hook_bool_const_tree_hwi_hwi_const_tree_true,
|
||||
hook_int_const_tree_0, hook_int_const_tree_const_tree_1,
|
||||
hook_constcharptr_const_tree_null,
|
||||
hook_constcharptr_const_rtx_null,
|
||||
hook_constcharptr_const_tree_const_tree_null,
|
||||
hook_constcharptr_int_const_tree_null,
|
||||
hook_constcharptr_int_const_tree_const_tree_null): New.
|
||||
(default_can_output_mi_thunk_no_vcall): Constify.
|
||||
* integrate.c (function_attribute_inlinable_p): Likewise.
|
||||
* integrate.h (function_attribute_inlinable_p): Likewise.
|
||||
* jump.c (rtx_renumbered_equal_p): Likewise.
|
||||
* output.h (decl_readonly_section, categorize_decl_for_section,
|
||||
default_use_anchors_for_symbol_p, default_binds_local_p,
|
||||
default_binds_local_p_1): Likewise.
|
||||
* rtl.h (rtx_renumbered_equal_p, decl_default_tls_model):
|
||||
Likewise.
|
||||
* target-def.h (TARGET_ASM_CAN_OUTPUT_MI_THUNK,
|
||||
TARGET_VALID_DLLIMPORT_ATTRIBUTE_P, TARGET_VECTOR_OPAQUE_P,
|
||||
TARGET_COMMUTATIVE_P, TARGET_USE_BLOCKS_FOR_CONSTANT_P,
|
||||
TARGET_COMP_TYPE_ATTRIBUTES,
|
||||
TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P,
|
||||
TARGET_MS_BITFIELD_LAYOUT_P, TARGET_MANGLE_TYPE,
|
||||
TARGET_IN_SMALL_DATA_P, TARGET_INVALID_CONVERSION,
|
||||
TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP,
|
||||
TARGET_DWARF_CALLING_CONVENTION): Likewise.
|
||||
* target.h (can_output_mi_thunk, needs_block_p,
|
||||
first_cycle_multipass_dfa_lookahead_guard_spec,
|
||||
vector_alignment_reachable, comp_type_attributes,
|
||||
function_attribute_inlinable_p, ms_bitfield_layout_p, mangle_type,
|
||||
commutative_p, use_blocks_for_constant_p,
|
||||
use_anchors_for_symbol_p, in_small_data_p, binds_local_p,
|
||||
vector_opaque_p, dwarf_calling_convention, stdarg_optimize_hook,
|
||||
invalid_within_doloop, valid_dllimport_attribute_p,
|
||||
split_complex_arg, invalid_arg_for_unprototyped_fn,
|
||||
invalid_conversion, invalid_unary_op, invalid_binary_op):
|
||||
Likewise.
|
||||
* targhooks.c (default_invalid_within_doloop,
|
||||
hook_invalid_arg_for_unprototyped_fn,
|
||||
default_builtin_vector_alignment_reachable): Likewise.
|
||||
(hook_bool_rtx_commutative_p): Delete.
|
||||
(hook_bool_const_rtx_commutative_p): New.
|
||||
* targhooks.h (default_invalid_within_doloop,
|
||||
default_builtin_vector_alignment_reachable,
|
||||
hook_invalid_arg_for_unprototyped_fn): Constify.
|
||||
(hook_bool_rtx_commutative_p): Delete.
|
||||
(hook_bool_const_rtx_commutative_p): New.
|
||||
* varasm.c (bss_initializer_p, decl_default_tls_model,
|
||||
categorize_decl_for_section, decl_readonly_section,
|
||||
default_use_anchors_for_symbol_p, default_binds_local_p,
|
||||
default_binds_local_p_1): Constify.
|
||||
|
||||
2007-08-24 Jie Zhang <jie.zhang@analog.com>
|
||||
|
||||
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
|
||||
|
@ -240,7 +240,7 @@ alpha_handle_option (size_t code, const char *arg, int value)
|
||||
/* Implement TARGET_MANGLE_TYPE. */
|
||||
|
||||
static const char *
|
||||
alpha_mangle_type (tree type)
|
||||
alpha_mangle_type (const_tree type)
|
||||
{
|
||||
if (TYPE_MAIN_VARIANT (type) == long_double_type_node
|
||||
&& TARGET_LONG_DOUBLE_128)
|
||||
@ -717,7 +717,7 @@ tls_symbolic_operand_type (rtx symbol)
|
||||
function in the current unit of translation. */
|
||||
|
||||
static bool
|
||||
decl_has_samegp (tree decl)
|
||||
decl_has_samegp (const_tree decl)
|
||||
{
|
||||
/* Functions that are not local can be overridden, and thus may
|
||||
not share the same gp. */
|
||||
@ -740,7 +740,7 @@ decl_has_samegp (tree decl)
|
||||
/* Return true if EXP should be placed in the small data section. */
|
||||
|
||||
static bool
|
||||
alpha_in_small_data_p (tree exp)
|
||||
alpha_in_small_data_p (const_tree exp)
|
||||
{
|
||||
/* We want to merge strings, so we never consider them small data. */
|
||||
if (TREE_CODE (exp) == STRING_CST)
|
||||
@ -5762,7 +5762,7 @@ function_value (const_tree valtype, const_tree func ATTRIBUTE_UNUSED,
|
||||
should not split these values. */
|
||||
|
||||
static bool
|
||||
alpha_split_complex_arg (tree type)
|
||||
alpha_split_complex_arg (const_tree type)
|
||||
{
|
||||
return TYPE_MODE (type) != TCmode;
|
||||
}
|
||||
@ -5864,7 +5864,7 @@ va_list_skip_additions (tree lhs)
|
||||
current statement. */
|
||||
|
||||
static bool
|
||||
alpha_stdarg_optimize_hook (struct stdarg_info *si, tree lhs, tree rhs)
|
||||
alpha_stdarg_optimize_hook (struct stdarg_info *si, const_tree lhs, const_tree rhs)
|
||||
{
|
||||
tree base, offset, arg1, arg2;
|
||||
int offset_arg = 1;
|
||||
@ -10650,7 +10650,7 @@ alpha_init_libfuncs (void)
|
||||
#undef TARGET_ASM_OUTPUT_MI_THUNK
|
||||
#define TARGET_ASM_OUTPUT_MI_THUNK alpha_output_mi_thunk_osf
|
||||
#undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
|
||||
#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_tree_hwi_hwi_tree_true
|
||||
#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_const_tree_hwi_hwi_const_tree_true
|
||||
#undef TARGET_STDARG_OPTIMIZE_HOOK
|
||||
#define TARGET_STDARG_OPTIMIZE_HOOK alpha_stdarg_optimize_hook
|
||||
#endif
|
||||
|
@ -214,6 +214,6 @@ extern void arm_pr_long_calls (struct cpp_reader *);
|
||||
extern void arm_pr_no_long_calls (struct cpp_reader *);
|
||||
extern void arm_pr_long_calls_off (struct cpp_reader *);
|
||||
|
||||
extern const char *arm_mangle_type (tree);
|
||||
extern const char *arm_mangle_type (const_tree);
|
||||
|
||||
#endif /* ! GCC_ARM_PROTOS_H */
|
||||
|
@ -116,7 +116,7 @@ static tree arm_handle_notshared_attribute (tree *, tree, tree, int, bool *);
|
||||
static void arm_output_function_epilogue (FILE *, HOST_WIDE_INT);
|
||||
static void arm_output_function_prologue (FILE *, HOST_WIDE_INT);
|
||||
static void thumb1_output_function_prologue (FILE *, HOST_WIDE_INT);
|
||||
static int arm_comp_type_attributes (tree, tree);
|
||||
static int arm_comp_type_attributes (const_tree, const_tree);
|
||||
static void arm_set_default_type_attributes (tree);
|
||||
static int arm_adjust_cost (rtx, rtx, rtx, int);
|
||||
static int count_insns_for_constant (HOST_WIDE_INT, int);
|
||||
@ -3185,7 +3185,7 @@ arm_handle_notshared_attribute (tree *node,
|
||||
are compatible, and 2 if they are nearly compatible (which causes a
|
||||
warning to be generated). */
|
||||
static int
|
||||
arm_comp_type_attributes (tree type1, tree type2)
|
||||
arm_comp_type_attributes (const_tree type1, const_tree type2)
|
||||
{
|
||||
int l1, l2, s1, s2;
|
||||
|
||||
@ -18966,7 +18966,7 @@ static arm_mangle_map_entry arm_mangle_map[] = {
|
||||
};
|
||||
|
||||
const char *
|
||||
arm_mangle_type (tree type)
|
||||
arm_mangle_type (const_tree type)
|
||||
{
|
||||
arm_mangle_map_entry *pos = arm_mangle_map;
|
||||
|
||||
|
@ -140,7 +140,8 @@ conditional_register_usage (void)
|
||||
/* Examine machine-dependent attributes of function type FUNTYPE and return its
|
||||
type. See the definition of E_FUNKIND. */
|
||||
|
||||
static e_funkind funkind (tree funtype)
|
||||
static e_funkind
|
||||
funkind (const_tree funtype)
|
||||
{
|
||||
tree attrs = TYPE_ATTRIBUTES (funtype);
|
||||
if (lookup_attribute ("interrupt_handler", attrs))
|
||||
@ -4578,7 +4579,7 @@ handle_int_attribute (tree *node, tree name,
|
||||
warning to be generated). */
|
||||
|
||||
static int
|
||||
bfin_comp_type_attributes (tree type1, tree type2)
|
||||
bfin_comp_type_attributes (const_tree type1, const_tree type2)
|
||||
{
|
||||
e_funkind kind1, kind2;
|
||||
|
||||
@ -5376,7 +5377,7 @@ bfin_expand_builtin (tree exp, rtx target ATTRIBUTE_UNUSED,
|
||||
#undef TARGET_ASM_OUTPUT_MI_THUNK
|
||||
#define TARGET_ASM_OUTPUT_MI_THUNK bfin_output_mi_thunk
|
||||
#undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
|
||||
#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_tree_hwi_hwi_tree_true
|
||||
#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_const_tree_hwi_hwi_const_tree_true
|
||||
|
||||
#undef TARGET_SCHED_ADJUST_COST
|
||||
#define TARGET_SCHED_ADJUST_COST bfin_adjust_cost
|
||||
|
@ -84,7 +84,7 @@ extern void darwin_asm_output_dwarf_delta (FILE *, int, const char *,
|
||||
const char *);
|
||||
extern void darwin_asm_output_dwarf_offset (FILE *, int, const char *,
|
||||
section *);
|
||||
extern bool darwin_binds_local_p (tree);
|
||||
extern bool darwin_binds_local_p (const_tree);
|
||||
extern void darwin_cpp_builtins (struct cpp_reader *);
|
||||
extern void darwin_asm_output_anchor (rtx symbol);
|
||||
extern bool darwin_kextabi_p (void);
|
||||
|
@ -1671,7 +1671,7 @@ darwin_file_end (void)
|
||||
functions at dynamic-link time, except for vtables in kexts. */
|
||||
|
||||
bool
|
||||
darwin_binds_local_p (tree decl)
|
||||
darwin_binds_local_p (const_tree decl)
|
||||
{
|
||||
return default_binds_local_p_1 (decl,
|
||||
TARGET_KEXTABI && DARWIN_VTABLE_P (decl));
|
||||
|
@ -270,7 +270,7 @@ frv_cpu_t frv_cpu_type = CPU_TYPE; /* value of -mcpu= */
|
||||
|
||||
static bool frv_handle_option (size_t, const char *, int);
|
||||
static int frv_default_flags_for_cpu (void);
|
||||
static int frv_string_begins_with (tree, const char *);
|
||||
static int frv_string_begins_with (const_tree, const char *);
|
||||
static FRV_INLINE bool frv_small_data_reloc_p (rtx, int);
|
||||
static void frv_print_operand_memory_reference_reg
|
||||
(FILE *, rtx);
|
||||
@ -358,7 +358,7 @@ static bool frv_assemble_integer (rtx, unsigned, int);
|
||||
static void frv_init_builtins (void);
|
||||
static rtx frv_expand_builtin (tree, rtx, rtx, enum machine_mode, int);
|
||||
static void frv_init_libfuncs (void);
|
||||
static bool frv_in_small_data_p (tree);
|
||||
static bool frv_in_small_data_p (const_tree);
|
||||
static void frv_asm_output_mi_thunk
|
||||
(FILE *, tree, HOST_WIDE_INT, HOST_WIDE_INT, tree);
|
||||
static void frv_setup_incoming_varargs (CUMULATIVE_ARGS *,
|
||||
@ -833,9 +833,9 @@ frv_optimization_options (int level, int size ATTRIBUTE_UNUSED)
|
||||
/* Return true if NAME (a STRING_CST node) begins with PREFIX. */
|
||||
|
||||
static int
|
||||
frv_string_begins_with (tree name, const char *prefix)
|
||||
frv_string_begins_with (const_tree name, const char *prefix)
|
||||
{
|
||||
int prefix_len = strlen (prefix);
|
||||
const int prefix_len = strlen (prefix);
|
||||
|
||||
/* Remember: NAME's length includes the null terminator. */
|
||||
return (TREE_STRING_LENGTH (name) > prefix_len
|
||||
@ -9430,10 +9430,10 @@ frv_expand_builtin (tree exp,
|
||||
}
|
||||
|
||||
static bool
|
||||
frv_in_small_data_p (tree decl)
|
||||
frv_in_small_data_p (const_tree decl)
|
||||
{
|
||||
HOST_WIDE_INT size;
|
||||
tree section_name;
|
||||
const_tree section_name;
|
||||
|
||||
/* Don't apply the -G flag to internal compiler structures. We
|
||||
should leave such structures in the main data section, partly
|
||||
|
@ -211,9 +211,9 @@ extern void i386_pe_declare_function_type (FILE *, const char *, int);
|
||||
extern void i386_pe_record_external_function (tree, const char *);
|
||||
extern void i386_pe_maybe_record_exported_symbol (tree, const char *, int);
|
||||
extern void i386_pe_encode_section_info (tree, rtx, int);
|
||||
extern bool i386_pe_binds_local_p (tree);
|
||||
extern bool i386_pe_binds_local_p (const_tree);
|
||||
extern const char *i386_pe_strip_name_encoding_full (const char *);
|
||||
extern bool i386_pe_valid_dllimport_attribute_p (tree);
|
||||
extern bool i386_pe_valid_dllimport_attribute_p (const_tree);
|
||||
extern unsigned int i386_pe_section_type_flags (tree, const char *, int);
|
||||
extern void i386_pe_asm_named_section (const char *, unsigned int, tree);
|
||||
extern void i386_pe_asm_output_aligned_decl_common (FILE *, tree,
|
||||
|
@ -1574,7 +1574,7 @@ static bool ext_80387_constants_init = 0;
|
||||
|
||||
static struct machine_function * ix86_init_machine_status (void);
|
||||
static rtx ix86_function_value (const_tree, const_tree, bool);
|
||||
static int ix86_function_regparm (tree, tree);
|
||||
static int ix86_function_regparm (const_tree, const_tree);
|
||||
static void ix86_compute_frame_layout (struct ix86_frame *);
|
||||
static bool ix86_expand_vector_init_one_nonzero (bool, enum machine_mode,
|
||||
rtx, rtx, int);
|
||||
@ -2905,7 +2905,7 @@ ix86_handle_cconv_attribute (tree *node, tree name,
|
||||
warning to be generated). */
|
||||
|
||||
static int
|
||||
ix86_comp_type_attributes (tree type1, tree type2)
|
||||
ix86_comp_type_attributes (const_tree type1, const_tree type2)
|
||||
{
|
||||
/* Check for mismatch of non-default calling convention. */
|
||||
const char *const rtdstr = TARGET_RTD ? "cdecl" : "stdcall";
|
||||
@ -2938,7 +2938,7 @@ ix86_comp_type_attributes (tree type1, tree type2)
|
||||
or considering a libcall. */
|
||||
|
||||
static int
|
||||
ix86_function_regparm (tree type, tree decl)
|
||||
ix86_function_regparm (const_tree type, const_tree decl)
|
||||
{
|
||||
tree attr;
|
||||
int regparm = ix86_regparm;
|
||||
@ -2957,7 +2957,8 @@ ix86_function_regparm (tree type, tree decl)
|
||||
if (decl && TREE_CODE (decl) == FUNCTION_DECL
|
||||
&& flag_unit_at_a_time && !profile_flag)
|
||||
{
|
||||
struct cgraph_local_info *i = cgraph_local_info (decl);
|
||||
/* FIXME: remove this CONST_CAST when cgraph.[ch] is constified. */
|
||||
struct cgraph_local_info *i = cgraph_local_info ((tree)CONST_CAST(decl));
|
||||
if (i && i->local)
|
||||
{
|
||||
int local_regparm, globals = 0, regno;
|
||||
@ -21150,7 +21151,7 @@ ix86_handle_struct_attribute (tree *node, tree name,
|
||||
}
|
||||
|
||||
static bool
|
||||
ix86_ms_bitfield_layout_p (tree record_type)
|
||||
ix86_ms_bitfield_layout_p (const_tree record_type)
|
||||
{
|
||||
return (TARGET_MS_BITFIELD_LAYOUT &&
|
||||
!lookup_attribute ("gcc_struct", TYPE_ATTRIBUTES (record_type)))
|
||||
@ -21192,9 +21193,9 @@ x86_this_parameter (tree function)
|
||||
/* Determine whether x86_output_mi_thunk can succeed. */
|
||||
|
||||
static bool
|
||||
x86_can_output_mi_thunk (tree thunk ATTRIBUTE_UNUSED,
|
||||
x86_can_output_mi_thunk (const_tree thunk ATTRIBUTE_UNUSED,
|
||||
HOST_WIDE_INT delta ATTRIBUTE_UNUSED,
|
||||
HOST_WIDE_INT vcall_offset, tree function)
|
||||
HOST_WIDE_INT vcall_offset, const_tree function)
|
||||
{
|
||||
/* 64-bit can handle anything. */
|
||||
if (TARGET_64BIT)
|
||||
@ -22834,7 +22835,7 @@ i386_solaris_elf_named_section (const char *name, unsigned int flags,
|
||||
/* Return the mangling of TYPE if it is an extended fundamental type. */
|
||||
|
||||
static const char *
|
||||
ix86_mangle_type (tree type)
|
||||
ix86_mangle_type (const_tree type)
|
||||
{
|
||||
type = TYPE_MAIN_VARIANT (type);
|
||||
|
||||
@ -23580,7 +23581,7 @@ static const struct attribute_spec ix86_attribute_table[] =
|
||||
#undef TARGET_CANNOT_FORCE_CONST_MEM
|
||||
#define TARGET_CANNOT_FORCE_CONST_MEM ix86_cannot_force_const_mem
|
||||
#undef TARGET_USE_BLOCKS_FOR_CONSTANT_P
|
||||
#define TARGET_USE_BLOCKS_FOR_CONSTANT_P hook_bool_mode_rtx_true
|
||||
#define TARGET_USE_BLOCKS_FOR_CONSTANT_P hook_bool_mode_const_rtx_true
|
||||
|
||||
#undef TARGET_DELEGITIMIZE_ADDRESS
|
||||
#define TARGET_DELEGITIMIZE_ADDRESS ix86_delegitimize_address
|
||||
|
@ -146,7 +146,7 @@ i386_pe_determine_dllimport_p (tree decl)
|
||||
/* Handle the -mno-fun-dllimport target switch. */
|
||||
|
||||
bool
|
||||
i386_pe_valid_dllimport_attribute_p (tree decl)
|
||||
i386_pe_valid_dllimport_attribute_p (const_tree decl)
|
||||
{
|
||||
if (TARGET_NOP_FUN_DLLIMPORT && TREE_CODE (decl) == FUNCTION_DECL)
|
||||
return false;
|
||||
@ -328,7 +328,7 @@ i386_pe_encode_section_info (tree decl, rtx rtl, int first)
|
||||
}
|
||||
|
||||
bool
|
||||
i386_pe_binds_local_p (tree exp)
|
||||
i386_pe_binds_local_p (const_tree exp)
|
||||
{
|
||||
/* PE does not do dynamic binding. Indeed, the only kind of
|
||||
non-local reference comes from a dllimport'd symbol. */
|
||||
|
@ -169,14 +169,14 @@ static void ia64_dependencies_evaluation_hook (rtx, rtx);
|
||||
static void ia64_init_dfa_pre_cycle_insn (void);
|
||||
static rtx ia64_dfa_pre_cycle_insn (void);
|
||||
static int ia64_first_cycle_multipass_dfa_lookahead_guard (rtx);
|
||||
static bool ia64_first_cycle_multipass_dfa_lookahead_guard_spec (rtx);
|
||||
static bool ia64_first_cycle_multipass_dfa_lookahead_guard_spec (const_rtx);
|
||||
static int ia64_dfa_new_cycle (FILE *, int, rtx, int, int, int *);
|
||||
static void ia64_h_i_d_extended (void);
|
||||
static int ia64_mode_to_int (enum machine_mode);
|
||||
static void ia64_set_sched_flags (spec_info_t);
|
||||
static int ia64_speculate_insn (rtx, ds_t, rtx *);
|
||||
static rtx ia64_gen_spec_insn (rtx, ds_t, int, bool, bool);
|
||||
static bool ia64_needs_block_p (rtx);
|
||||
static bool ia64_needs_block_p (const_rtx);
|
||||
static rtx ia64_gen_check (rtx, rtx, bool);
|
||||
static int ia64_spec_check_p (rtx);
|
||||
static int ia64_spec_check_src_p (rtx);
|
||||
@ -211,7 +211,7 @@ static void emit_all_insn_group_barriers (FILE *);
|
||||
static void final_emit_insn_group_barriers (FILE *);
|
||||
static void emit_predicate_relation_info (void);
|
||||
static void ia64_reorg (void);
|
||||
static bool ia64_in_small_data_p (tree);
|
||||
static bool ia64_in_small_data_p (const_tree);
|
||||
static void process_epilogue (FILE *, rtx, bool, bool);
|
||||
static int process_set (FILE *, rtx, rtx, bool, bool);
|
||||
|
||||
@ -278,10 +278,10 @@ static tree ia64_gimplify_va_arg (tree, tree, tree *, tree *);
|
||||
static bool ia64_scalar_mode_supported_p (enum machine_mode mode);
|
||||
static bool ia64_vector_mode_supported_p (enum machine_mode mode);
|
||||
static bool ia64_cannot_force_const_mem (rtx);
|
||||
static const char *ia64_mangle_type (tree);
|
||||
static const char *ia64_invalid_conversion (tree, tree);
|
||||
static const char *ia64_invalid_unary_op (int, tree);
|
||||
static const char *ia64_invalid_binary_op (int, tree, tree);
|
||||
static const char *ia64_mangle_type (const_tree);
|
||||
static const char *ia64_invalid_conversion (const_tree, const_tree);
|
||||
static const char *ia64_invalid_unary_op (int, const_tree);
|
||||
static const char *ia64_invalid_binary_op (int, const_tree, const_tree);
|
||||
static enum machine_mode ia64_c_mode_for_suffix (char);
|
||||
|
||||
/* Table of valid machine attributes. */
|
||||
@ -396,7 +396,7 @@ static const struct attribute_spec ia64_attribute_table[] =
|
||||
#undef TARGET_ASM_OUTPUT_MI_THUNK
|
||||
#define TARGET_ASM_OUTPUT_MI_THUNK ia64_output_mi_thunk
|
||||
#undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
|
||||
#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_tree_hwi_hwi_tree_true
|
||||
#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_const_tree_hwi_hwi_const_tree_true
|
||||
|
||||
#undef TARGET_ASM_FILE_START
|
||||
#define TARGET_ASM_FILE_START ia64_file_start
|
||||
@ -6578,7 +6578,7 @@ ia64_first_cycle_multipass_dfa_lookahead_guard (rtx insn)
|
||||
can be chosen. */
|
||||
|
||||
static bool
|
||||
ia64_first_cycle_multipass_dfa_lookahead_guard_spec (rtx insn)
|
||||
ia64_first_cycle_multipass_dfa_lookahead_guard_spec (const_rtx insn)
|
||||
{
|
||||
gcc_assert (insn && INSN_P (insn));
|
||||
/* Size of ALAT is 32. As far as we perform conservative data speculation,
|
||||
@ -7039,7 +7039,7 @@ enum { SPEC_GEN_CHECK_MUTATION_OFFSET = 5 * SPEC_N };
|
||||
|
||||
/* Return nonzero, if INSN needs branchy recovery check. */
|
||||
static bool
|
||||
ia64_needs_block_p (rtx insn)
|
||||
ia64_needs_block_p (const_rtx insn)
|
||||
{
|
||||
int check_no;
|
||||
|
||||
@ -8714,7 +8714,7 @@ ia64_eh_uses (int regno)
|
||||
types which can't go in sdata/sbss. */
|
||||
|
||||
static bool
|
||||
ia64_in_small_data_p (tree exp)
|
||||
ia64_in_small_data_p (const_tree exp)
|
||||
{
|
||||
if (TARGET_NO_SDATA)
|
||||
return false;
|
||||
@ -9768,7 +9768,7 @@ ia64_profile_hook (int labelno)
|
||||
/* Return the mangling of TYPE if it is an extended fundamental type. */
|
||||
|
||||
static const char *
|
||||
ia64_mangle_type (tree type)
|
||||
ia64_mangle_type (const_tree type)
|
||||
{
|
||||
type = TYPE_MAIN_VARIANT (type);
|
||||
|
||||
@ -9793,7 +9793,7 @@ ia64_mangle_type (tree type)
|
||||
/* Return the diagnostic message string if conversion from FROMTYPE to
|
||||
TOTYPE is not allowed, NULL otherwise. */
|
||||
static const char *
|
||||
ia64_invalid_conversion (tree fromtype, tree totype)
|
||||
ia64_invalid_conversion (const_tree fromtype, const_tree totype)
|
||||
{
|
||||
/* Reject nontrivial conversion to or from __fpreg. */
|
||||
if (TYPE_MODE (fromtype) == RFmode
|
||||
@ -9809,7 +9809,7 @@ ia64_invalid_conversion (tree fromtype, tree totype)
|
||||
/* Return the diagnostic message string if the unary operation OP is
|
||||
not permitted on TYPE, NULL otherwise. */
|
||||
static const char *
|
||||
ia64_invalid_unary_op (int op, tree type)
|
||||
ia64_invalid_unary_op (int op, const_tree type)
|
||||
{
|
||||
/* Reject operations on __fpreg other than unary + or &. */
|
||||
if (TYPE_MODE (type) == RFmode
|
||||
@ -9822,7 +9822,7 @@ ia64_invalid_unary_op (int op, tree type)
|
||||
/* Return the diagnostic message string if the binary operation OP is
|
||||
not permitted on TYPE1 and TYPE2, NULL otherwise. */
|
||||
static const char *
|
||||
ia64_invalid_binary_op (int op ATTRIBUTE_UNUSED, tree type1, tree type2)
|
||||
ia64_invalid_binary_op (int op ATTRIBUTE_UNUSED, const_tree type1, const_tree type2)
|
||||
{
|
||||
/* Reject operations on __fpreg. */
|
||||
if (TYPE_MODE (type1) == RFmode || TYPE_MODE (type2) == RFmode)
|
||||
|
@ -64,7 +64,7 @@ static tree interrupt_handler (tree *, tree, tree, int, bool *);
|
||||
static tree function_vector_handler (tree *, tree, tree, int, bool *);
|
||||
static int interrupt_p (tree node);
|
||||
static bool m32c_asm_integer (rtx, unsigned int, int);
|
||||
static int m32c_comp_type_attributes (tree, tree);
|
||||
static int m32c_comp_type_attributes (const_tree, const_tree);
|
||||
static bool m32c_fixed_condition_code_regs (unsigned int *, unsigned int *);
|
||||
static struct machine_function *m32c_init_machine_status (void);
|
||||
static void m32c_insert_attributes (tree, tree *);
|
||||
@ -2829,8 +2829,8 @@ static const struct attribute_spec m32c_attribute_table[] = {
|
||||
#undef TARGET_COMP_TYPE_ATTRIBUTES
|
||||
#define TARGET_COMP_TYPE_ATTRIBUTES m32c_comp_type_attributes
|
||||
static int
|
||||
m32c_comp_type_attributes (tree type1 ATTRIBUTE_UNUSED,
|
||||
tree type2 ATTRIBUTE_UNUSED)
|
||||
m32c_comp_type_attributes (const_tree type1 ATTRIBUTE_UNUSED,
|
||||
const_tree type2 ATTRIBUTE_UNUSED)
|
||||
{
|
||||
/* 0=incompatible 1=compatible 2=warning */
|
||||
return 1;
|
||||
|
@ -80,7 +80,7 @@ static int m32r_adjust_priority (rtx, int);
|
||||
static int m32r_issue_rate (void);
|
||||
|
||||
static void m32r_encode_section_info (tree, rtx, int);
|
||||
static bool m32r_in_small_data_p (tree);
|
||||
static bool m32r_in_small_data_p (const_tree);
|
||||
static bool m32r_return_in_memory (const_tree, const_tree);
|
||||
static void m32r_setup_incoming_varargs (CUMULATIVE_ARGS *, enum machine_mode,
|
||||
tree, int *, int);
|
||||
@ -445,9 +445,9 @@ m32r_encode_section_info (tree decl, rtx rtl, int first)
|
||||
the object doesn't fit the linker will give an error. */
|
||||
|
||||
static bool
|
||||
m32r_in_small_data_p (tree decl)
|
||||
m32r_in_small_data_p (const_tree decl)
|
||||
{
|
||||
tree section;
|
||||
const_tree section;
|
||||
|
||||
if (TREE_CODE (decl) != VAR_DECL)
|
||||
return false;
|
||||
|
@ -177,7 +177,7 @@ int m68k_last_compare_had_fp_operands;
|
||||
#undef TARGET_ASM_OUTPUT_MI_THUNK
|
||||
#define TARGET_ASM_OUTPUT_MI_THUNK m68k_output_mi_thunk
|
||||
#undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
|
||||
#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_tree_hwi_hwi_tree_true
|
||||
#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_const_tree_hwi_hwi_const_tree_true
|
||||
|
||||
#undef TARGET_ASM_FILE_START_APP_OFF
|
||||
#define TARGET_ASM_FILE_START_APP_OFF true
|
||||
|
@ -291,7 +291,7 @@ static bool mips_valid_base_register_p (rtx, enum machine_mode, int);
|
||||
static bool mips_classify_address (struct mips_address_info *, rtx,
|
||||
enum machine_mode, int);
|
||||
static bool mips_cannot_force_const_mem (rtx);
|
||||
static bool mips_use_blocks_for_constant_p (enum machine_mode, rtx);
|
||||
static bool mips_use_blocks_for_constant_p (enum machine_mode, const_rtx);
|
||||
static int mips_symbol_insns (enum mips_symbol_type, enum machine_mode);
|
||||
static bool mips16_unextended_reference_p (enum machine_mode mode, rtx, rtx);
|
||||
static rtx mips_force_temporary (rtx, rtx);
|
||||
@ -344,8 +344,8 @@ static int symbolic_expression_p (rtx);
|
||||
static section *mips_select_rtx_section (enum machine_mode, rtx,
|
||||
unsigned HOST_WIDE_INT);
|
||||
static section *mips_function_rodata_section (tree);
|
||||
static bool mips_in_small_data_p (tree);
|
||||
static bool mips_use_anchors_for_symbol_p (rtx);
|
||||
static bool mips_in_small_data_p (const_tree);
|
||||
static bool mips_use_anchors_for_symbol_p (const_rtx);
|
||||
static int mips_fpr_return_fields (const_tree, tree *);
|
||||
static bool mips_return_in_msb (const_tree);
|
||||
static rtx mips_return_fpr_pair (enum machine_mode mode,
|
||||
@ -423,7 +423,7 @@ static rtx mips_expand_builtin_compare (enum mips_builtin_type,
|
||||
static rtx mips_expand_builtin_bposge (enum mips_builtin_type, rtx);
|
||||
static void mips_encode_section_info (tree, rtx, int);
|
||||
static void mips_extra_live_on_entry (bitmap);
|
||||
static int mips_comp_type_attributes (tree, tree);
|
||||
static int mips_comp_type_attributes (const_tree, const_tree);
|
||||
static int mips_mode_rep_extended (enum machine_mode, enum machine_mode);
|
||||
static bool mips_offset_within_alignment_p (rtx, HOST_WIDE_INT);
|
||||
static void mips_output_dwarf_dtprel (FILE *, int, rtx) ATTRIBUTE_UNUSED;
|
||||
@ -1292,7 +1292,7 @@ static const unsigned char mips16e_save_restore_regs[] = {
|
||||
#undef TARGET_ASM_OUTPUT_MI_THUNK
|
||||
#define TARGET_ASM_OUTPUT_MI_THUNK mips_output_mi_thunk
|
||||
#undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
|
||||
#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_tree_hwi_hwi_tree_true
|
||||
#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_const_tree_hwi_hwi_const_tree_true
|
||||
|
||||
#undef TARGET_SETUP_INCOMING_VARARGS
|
||||
#define TARGET_SETUP_INCOMING_VARARGS mips_setup_incoming_varargs
|
||||
@ -1357,13 +1357,13 @@ struct gcc_target targetm = TARGET_INITIALIZER;
|
||||
attributes on the given TYPE. */
|
||||
|
||||
static bool
|
||||
mips_near_type_p (tree type)
|
||||
mips_near_type_p (const_tree type)
|
||||
{
|
||||
return lookup_attribute ("near", TYPE_ATTRIBUTES (type)) != NULL;
|
||||
}
|
||||
|
||||
static bool
|
||||
mips_far_type_p (tree type)
|
||||
mips_far_type_p (const_tree type)
|
||||
{
|
||||
return (lookup_attribute ("long_call", TYPE_ATTRIBUTES (type)) != NULL
|
||||
|| lookup_attribute ("far", TYPE_ATTRIBUTES (type)) != NULL);
|
||||
@ -1375,7 +1375,7 @@ mips_far_type_p (tree type)
|
||||
warning to be generated). */
|
||||
|
||||
static int
|
||||
mips_comp_type_attributes (tree type1, tree type2)
|
||||
mips_comp_type_attributes (const_tree type1, const_tree type2)
|
||||
{
|
||||
/* Check for mismatch of non-default calling convention. */
|
||||
if (TREE_CODE (type1) != FUNCTION_TYPE)
|
||||
@ -1412,11 +1412,10 @@ mips_split_plus (rtx x, rtx *base_ptr, HOST_WIDE_INT *offset_ptr)
|
||||
(in the STB_GLOBAL sense). */
|
||||
|
||||
static bool
|
||||
mips_global_symbol_p (rtx x)
|
||||
mips_global_symbol_p (const_rtx x)
|
||||
{
|
||||
tree decl;
|
||||
const_tree const decl = SYMBOL_REF_DECL (x);
|
||||
|
||||
decl = SYMBOL_REF_DECL (x);
|
||||
if (!decl)
|
||||
return !SYMBOL_REF_LOCAL_P (x);
|
||||
|
||||
@ -1429,7 +1428,7 @@ mips_global_symbol_p (rtx x)
|
||||
/* Return true if SYMBOL_REF X binds locally. */
|
||||
|
||||
static bool
|
||||
mips_symbol_binds_local_p (rtx x)
|
||||
mips_symbol_binds_local_p (const_rtx x)
|
||||
{
|
||||
return (SYMBOL_REF_DECL (x)
|
||||
? targetm.binds_local_p (SYMBOL_REF_DECL (x))
|
||||
@ -1440,7 +1439,7 @@ mips_symbol_binds_local_p (rtx x)
|
||||
LABEL_REF X in context CONTEXT. */
|
||||
|
||||
static enum mips_symbol_type
|
||||
mips_classify_symbol (rtx x, enum mips_symbol_context context)
|
||||
mips_classify_symbol (const_rtx x, enum mips_symbol_context context)
|
||||
{
|
||||
if (TARGET_RTP_PIC)
|
||||
return SYMBOL_GOT_DISP;
|
||||
@ -1789,7 +1788,7 @@ mips_cannot_force_const_mem (rtx x)
|
||||
|
||||
static bool
|
||||
mips_use_blocks_for_constant_p (enum machine_mode mode ATTRIBUTE_UNUSED,
|
||||
rtx x ATTRIBUTE_UNUSED)
|
||||
const_rtx x ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return !TARGET_MIPS16_PCREL_LOADS;
|
||||
}
|
||||
@ -8367,7 +8366,7 @@ mips_function_rodata_section (tree decl)
|
||||
mips_classify_symbol decide when to use %gp_rel(...)($gp) accesses. */
|
||||
|
||||
static bool
|
||||
mips_in_small_data_p (tree decl)
|
||||
mips_in_small_data_p (const_tree decl)
|
||||
{
|
||||
HOST_WIDE_INT size;
|
||||
|
||||
@ -8416,7 +8415,7 @@ mips_in_small_data_p (tree decl)
|
||||
where the PC acts as an anchor. */
|
||||
|
||||
static bool
|
||||
mips_use_anchors_for_symbol_p (rtx symbol)
|
||||
mips_use_anchors_for_symbol_p (const_rtx symbol)
|
||||
{
|
||||
switch (mips_classify_symbol (symbol, SYMBOL_CONTEXT_MEM))
|
||||
{
|
||||
|
@ -126,7 +126,7 @@ static void pa_init_builtins (void);
|
||||
static rtx hppa_builtin_saveregs (void);
|
||||
static tree hppa_gimplify_va_arg_expr (tree, tree, tree *, tree *);
|
||||
static bool pa_scalar_mode_supported_p (enum machine_mode);
|
||||
static bool pa_commutative_p (rtx x, int outer_code);
|
||||
static bool pa_commutative_p (const_rtx x, int outer_code);
|
||||
static void copy_fp_args (rtx) ATTRIBUTE_UNUSED;
|
||||
static int length_fp_args (rtx) ATTRIBUTE_UNUSED;
|
||||
static inline void pa_file_start_level (void) ATTRIBUTE_UNUSED;
|
||||
@ -8135,7 +8135,7 @@ pa_function_ok_for_sibcall (tree decl, tree exp ATTRIBUTE_UNUSED)
|
||||
space register selection rules for memory addresses. Therefore, we
|
||||
don't consider a + b == b + a, as this might be inside a MEM. */
|
||||
static bool
|
||||
pa_commutative_p (rtx x, int outer_code)
|
||||
pa_commutative_p (const_rtx x, int outer_code)
|
||||
{
|
||||
return (COMMUTATIVE_P (x)
|
||||
&& (TARGET_NO_SPACE_REGS
|
||||
|
@ -128,7 +128,7 @@ extern rtx rs6000_libcall_value (enum machine_mode);
|
||||
extern rtx rs6000_va_arg (tree, tree);
|
||||
extern int function_ok_for_sibcall (tree);
|
||||
extern void rs6000_elf_declare_function_name (FILE *, const char *, tree);
|
||||
extern bool rs6000_elf_in_small_data_p (tree);
|
||||
extern bool rs6000_elf_in_small_data_p (const_tree);
|
||||
#ifdef ARGS_SIZE_RTX
|
||||
/* expr.h defines ARGS_SIZE_RTX and `enum direction' */
|
||||
extern enum direction function_arg_padding (enum machine_mode, const_tree);
|
||||
|
@ -702,7 +702,7 @@ struct processor_costs power6_cost = {
|
||||
|
||||
|
||||
static bool rs6000_function_ok_for_sibcall (tree, tree);
|
||||
static const char *rs6000_invalid_within_doloop (rtx);
|
||||
static const char *rs6000_invalid_within_doloop (const_rtx);
|
||||
static rtx rs6000_generate_compare (enum rtx_code);
|
||||
static void rs6000_emit_stack_tie (void);
|
||||
static void rs6000_frame_related (rtx, rtx, HOST_WIDE_INT, rtx, rtx);
|
||||
@ -728,10 +728,10 @@ static void rs6000_assemble_visibility (tree, int);
|
||||
static int rs6000_ra_ever_killed (void);
|
||||
static tree rs6000_handle_longcall_attribute (tree *, tree, tree, int, bool *);
|
||||
static tree rs6000_handle_altivec_attribute (tree *, tree, tree, int, bool *);
|
||||
static bool rs6000_ms_bitfield_layout_p (tree);
|
||||
static bool rs6000_ms_bitfield_layout_p (const_tree);
|
||||
static tree rs6000_handle_struct_attribute (tree *, tree, tree, int, bool *);
|
||||
static void rs6000_eliminate_indexed_memrefs (rtx operands[2]);
|
||||
static const char *rs6000_mangle_type (tree);
|
||||
static const char *rs6000_mangle_type (const_tree);
|
||||
extern const struct attribute_spec rs6000_attribute_table[];
|
||||
static void rs6000_set_default_type_attributes (tree);
|
||||
static bool rs6000_reg_live_or_pic_offset_p (int);
|
||||
@ -753,7 +753,7 @@ static section *rs6000_elf_select_rtx_section (enum machine_mode, rtx,
|
||||
static void rs6000_elf_encode_section_info (tree, rtx, int)
|
||||
ATTRIBUTE_UNUSED;
|
||||
#endif
|
||||
static bool rs6000_use_blocks_for_constant_p (enum machine_mode, rtx);
|
||||
static bool rs6000_use_blocks_for_constant_p (enum machine_mode, const_rtx);
|
||||
#if TARGET_XCOFF
|
||||
static void rs6000_xcoff_asm_output_anchor (rtx);
|
||||
static void rs6000_xcoff_asm_globalize_label (FILE *, const char *);
|
||||
@ -805,7 +805,7 @@ static tree rs6000_builtin_mul_widen_odd (tree);
|
||||
static tree rs6000_builtin_conversion (enum tree_code, tree);
|
||||
|
||||
static void def_builtin (int, const char *, tree, int);
|
||||
static bool rs6000_vector_alignment_reachable (tree, bool);
|
||||
static bool rs6000_vector_alignment_reachable (const_tree, bool);
|
||||
static void rs6000_init_builtins (void);
|
||||
static rtx rs6000_expand_unop_builtin (enum insn_code, tree, rtx);
|
||||
static rtx rs6000_expand_binop_builtin (enum insn_code, tree, rtx);
|
||||
@ -850,7 +850,7 @@ static void compute_save_world_info (rs6000_stack_t *info_ptr);
|
||||
static void is_altivec_return_reg (rtx, void *);
|
||||
static rtx generate_set_vrsave (rtx, rs6000_stack_t *, int);
|
||||
int easy_vector_constant (rtx, enum machine_mode);
|
||||
static bool rs6000_is_opaque_type (tree);
|
||||
static bool rs6000_is_opaque_type (const_tree);
|
||||
static rtx rs6000_dwarf_register_span (rtx);
|
||||
static void rs6000_init_dwarf_reg_sizes_extra (tree);
|
||||
static rtx rs6000_legitimize_tls_address (rtx, enum tls_model);
|
||||
@ -883,7 +883,7 @@ static bool rs6000_pass_by_reference (CUMULATIVE_ARGS *, enum machine_mode,
|
||||
const_tree, bool);
|
||||
static int rs6000_arg_partial_bytes (CUMULATIVE_ARGS *, enum machine_mode,
|
||||
tree, bool);
|
||||
static const char *invalid_arg_for_unprototyped_fn (tree, tree, tree);
|
||||
static const char *invalid_arg_for_unprototyped_fn (const_tree, const_tree, const_tree);
|
||||
#if TARGET_MACHO
|
||||
static void macho_branch_islands (void);
|
||||
static int no_previous_def (tree function_name);
|
||||
@ -1100,7 +1100,7 @@ static const char alt_reg_names[][8] =
|
||||
#define TARGET_ASM_OUTPUT_MI_THUNK rs6000_output_mi_thunk
|
||||
|
||||
#undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
|
||||
#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_tree_hwi_hwi_tree_true
|
||||
#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_const_tree_hwi_hwi_const_tree_true
|
||||
|
||||
#undef TARGET_FUNCTION_OK_FOR_SIBCALL
|
||||
#define TARGET_FUNCTION_OK_FOR_SIBCALL rs6000_function_ok_for_sibcall
|
||||
@ -1141,7 +1141,7 @@ static const char alt_reg_names[][8] =
|
||||
#undef TARGET_PRETEND_OUTGOING_VARARGS_NAMED
|
||||
#define TARGET_PRETEND_OUTGOING_VARARGS_NAMED hook_bool_CUMULATIVE_ARGS_true
|
||||
#undef TARGET_SPLIT_COMPLEX_ARG
|
||||
#define TARGET_SPLIT_COMPLEX_ARG hook_bool_tree_true
|
||||
#define TARGET_SPLIT_COMPLEX_ARG hook_bool_const_tree_true
|
||||
#undef TARGET_MUST_PASS_IN_STACK
|
||||
#define TARGET_MUST_PASS_IN_STACK rs6000_must_pass_in_stack
|
||||
#undef TARGET_PASS_BY_REFERENCE
|
||||
@ -1914,7 +1914,7 @@ rs6000_builtin_mul_widen_odd (tree type)
|
||||
how may iterations are required to reach desired alignment. */
|
||||
|
||||
static bool
|
||||
rs6000_vector_alignment_reachable (tree type ATTRIBUTE_UNUSED, bool is_packed)
|
||||
rs6000_vector_alignment_reachable (const_tree type ATTRIBUTE_UNUSED, bool is_packed)
|
||||
{
|
||||
if (is_packed)
|
||||
return false;
|
||||
@ -14119,7 +14119,7 @@ rs6000_function_ok_for_sibcall (tree decl, tree exp ATTRIBUTE_UNUSED)
|
||||
PowerPC uses the COUNT register for branch on table instructions. */
|
||||
|
||||
static const char *
|
||||
rs6000_invalid_within_doloop (rtx insn)
|
||||
rs6000_invalid_within_doloop (const_rtx insn)
|
||||
{
|
||||
if (CALL_P (insn))
|
||||
return "Function call in the loop.";
|
||||
@ -19003,7 +19003,7 @@ rs6000_handle_altivec_attribute (tree *node,
|
||||
elements; we must teach the compiler how to mangle them. */
|
||||
|
||||
static const char *
|
||||
rs6000_mangle_type (tree type)
|
||||
rs6000_mangle_type (const_tree type)
|
||||
{
|
||||
type = TYPE_MAIN_VARIANT (type);
|
||||
|
||||
@ -19133,7 +19133,7 @@ rs6000_handle_struct_attribute (tree *node, tree name,
|
||||
}
|
||||
|
||||
static bool
|
||||
rs6000_ms_bitfield_layout_p (tree record_type)
|
||||
rs6000_ms_bitfield_layout_p (const_tree record_type)
|
||||
{
|
||||
return (TARGET_USE_MS_BITFIELD_LAYOUT &&
|
||||
!lookup_attribute ("gcc_struct", TYPE_ATTRIBUTES (record_type)))
|
||||
@ -19235,7 +19235,7 @@ rs6000_elf_encode_section_info (tree decl, rtx rtl, int first)
|
||||
}
|
||||
|
||||
bool
|
||||
rs6000_elf_in_small_data_p (tree decl)
|
||||
rs6000_elf_in_small_data_p (const_tree decl)
|
||||
{
|
||||
if (rs6000_sdata == SDATA_NONE)
|
||||
return false;
|
||||
@ -19279,7 +19279,7 @@ rs6000_elf_in_small_data_p (tree decl)
|
||||
/* Implement TARGET_USE_BLOCKS_FOR_CONSTANT_P. */
|
||||
|
||||
static bool
|
||||
rs6000_use_blocks_for_constant_p (enum machine_mode mode, rtx x)
|
||||
rs6000_use_blocks_for_constant_p (enum machine_mode mode, const_rtx x)
|
||||
{
|
||||
return !ASM_OUTPUT_SPECIAL_POOL_ENTRY_P (x, mode);
|
||||
}
|
||||
@ -20965,7 +20965,7 @@ rs6000_initial_elimination_offset (int from, int to)
|
||||
/* Return true if TYPE is a SPE or AltiVec opaque type. */
|
||||
|
||||
static bool
|
||||
rs6000_is_opaque_type (tree type)
|
||||
rs6000_is_opaque_type (const_tree type)
|
||||
{
|
||||
return (type == opaque_V2SI_type_node
|
||||
|| type == opaque_V2SF_type_node
|
||||
@ -21092,7 +21092,7 @@ rs6000_vector_mode_supported_p (enum machine_mode mode)
|
||||
|
||||
/* Target hook for invalid_arg_for_unprototyped_fn. */
|
||||
static const char *
|
||||
invalid_arg_for_unprototyped_fn (tree typelist, tree funcdecl, tree val)
|
||||
invalid_arg_for_unprototyped_fn (const_tree typelist, const_tree funcdecl, const_tree val)
|
||||
{
|
||||
return (!rs6000_darwin64_abi
|
||||
&& typelist == 0
|
||||
|
@ -4370,7 +4370,7 @@ s390_output_dwarf_dtprel (FILE *file, int size, rtx x)
|
||||
/* Implement TARGET_MANGLE_TYPE. */
|
||||
|
||||
static const char *
|
||||
s390_mangle_type (tree type)
|
||||
s390_mangle_type (const_tree type)
|
||||
{
|
||||
if (TYPE_MAIN_VARIANT (type) == long_double_type_node
|
||||
&& TARGET_LONG_DOUBLE_128)
|
||||
@ -9290,7 +9290,7 @@ s390_reorg (void)
|
||||
#undef TARGET_ASM_OUTPUT_MI_THUNK
|
||||
#define TARGET_ASM_OUTPUT_MI_THUNK s390_output_mi_thunk
|
||||
#undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
|
||||
#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_tree_hwi_hwi_tree_true
|
||||
#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_const_tree_hwi_hwi_const_tree_true
|
||||
|
||||
#undef TARGET_SCHED_ADJUST_PRIORITY
|
||||
#define TARGET_SCHED_ADJUST_PRIORITY s390_adjust_priority
|
||||
@ -9334,7 +9334,7 @@ s390_reorg (void)
|
||||
#define TARGET_CC_MODES_COMPATIBLE s390_cc_modes_compatible
|
||||
|
||||
#undef TARGET_INVALID_WITHIN_DOLOOP
|
||||
#define TARGET_INVALID_WITHIN_DOLOOP hook_constcharptr_rtx_null
|
||||
#define TARGET_INVALID_WITHIN_DOLOOP hook_constcharptr_const_rtx_null
|
||||
|
||||
#ifdef HAVE_AS_TLS
|
||||
#undef TARGET_ASM_OUTPUT_DWARF_DTPREL
|
||||
|
@ -101,7 +101,7 @@ static int score_address_cost (rtx);
|
||||
#define TARGET_ASM_OUTPUT_MI_THUNK th_output_mi_thunk
|
||||
|
||||
#undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
|
||||
#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_tree_hwi_hwi_tree_true
|
||||
#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_const_tree_hwi_hwi_const_tree_true
|
||||
|
||||
#undef TARGET_PROMOTE_FUNCTION_ARGS
|
||||
#define TARGET_PROMOTE_FUNCTION_ARGS hook_bool_const_tree_true
|
||||
@ -427,7 +427,7 @@ th_select_rtx_section (enum machine_mode mode, rtx x,
|
||||
|
||||
/* Implement TARGET_IN_SMALL_DATA_P. */
|
||||
static bool
|
||||
th_in_small_data_p (tree decl)
|
||||
th_in_small_data_p (const_tree decl)
|
||||
{
|
||||
HOST_WIDE_INT size;
|
||||
|
||||
|
@ -214,7 +214,7 @@ static bool sh_function_ok_for_sibcall (tree, tree);
|
||||
static bool sh_cannot_modify_jumps_p (void);
|
||||
static int sh_target_reg_class (void);
|
||||
static bool sh_optimize_target_register_callee_saved (bool);
|
||||
static bool sh_ms_bitfield_layout_p (tree);
|
||||
static bool sh_ms_bitfield_layout_p (const_tree);
|
||||
|
||||
static void sh_init_builtins (void);
|
||||
static void sh_media_init_builtins (void);
|
||||
@ -255,7 +255,7 @@ static bool sh_callee_copies (CUMULATIVE_ARGS *, enum machine_mode,
|
||||
const_tree, bool);
|
||||
static int sh_arg_partial_bytes (CUMULATIVE_ARGS *, enum machine_mode,
|
||||
tree, bool);
|
||||
static int sh_dwarf_calling_convention (tree);
|
||||
static int sh_dwarf_calling_convention (const_tree);
|
||||
|
||||
|
||||
/* Initialize the GCC target structure. */
|
||||
@ -281,7 +281,7 @@ static int sh_dwarf_calling_convention (tree);
|
||||
#define TARGET_ASM_OUTPUT_MI_THUNK sh_output_mi_thunk
|
||||
|
||||
#undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
|
||||
#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_tree_hwi_hwi_tree_true
|
||||
#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_const_tree_hwi_hwi_const_tree_true
|
||||
|
||||
#undef TARGET_ASM_FILE_START
|
||||
#define TARGET_ASM_FILE_START sh_file_start
|
||||
@ -9346,7 +9346,7 @@ sh_optimize_target_register_callee_saved (bool after_prologue_epilogue_gen)
|
||||
}
|
||||
|
||||
static bool
|
||||
sh_ms_bitfield_layout_p (tree record_type ATTRIBUTE_UNUSED)
|
||||
sh_ms_bitfield_layout_p (const_tree record_type ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return (TARGET_SH5 || TARGET_HITACHI || sh_attr_renesas_p (record_type));
|
||||
}
|
||||
@ -9774,7 +9774,7 @@ sh_vector_mode_supported_p (enum machine_mode mode)
|
||||
/* Implements target hook dwarf_calling_convention. Return an enum
|
||||
of dwarf_calling_convention. */
|
||||
int
|
||||
sh_dwarf_calling_convention (tree func)
|
||||
sh_dwarf_calling_convention (const_tree func)
|
||||
{
|
||||
if (sh_attr_renesas_p (func))
|
||||
return DW_CC_GNU_renesas_sh;
|
||||
|
@ -372,8 +372,8 @@ static int sparc_vis_mul8x16 (int, int);
|
||||
static tree sparc_handle_vis_mul8x16 (int, tree, tree, tree);
|
||||
static void sparc_output_mi_thunk (FILE *, tree, HOST_WIDE_INT,
|
||||
HOST_WIDE_INT, tree);
|
||||
static bool sparc_can_output_mi_thunk (tree, HOST_WIDE_INT,
|
||||
HOST_WIDE_INT, tree);
|
||||
static bool sparc_can_output_mi_thunk (const_tree, HOST_WIDE_INT,
|
||||
HOST_WIDE_INT, const_tree);
|
||||
static struct machine_function * sparc_init_machine_status (void);
|
||||
static bool sparc_cannot_force_const_mem (rtx);
|
||||
static rtx sparc_tls_get_addr (void);
|
||||
@ -395,7 +395,7 @@ static void sparc_dwarf_handle_frame_unspec (const char *, rtx, int);
|
||||
static void sparc_output_dwarf_dtprel (FILE *, int, rtx) ATTRIBUTE_UNUSED;
|
||||
static void sparc_file_end (void);
|
||||
#ifdef TARGET_ALTERNATE_LONG_DOUBLE_MANGLING
|
||||
static const char *sparc_mangle_type (tree);
|
||||
static const char *sparc_mangle_type (const_tree);
|
||||
#endif
|
||||
#ifdef SUBTARGET_ATTRIBUTE_TABLE
|
||||
const struct attribute_spec sparc_attribute_table[];
|
||||
@ -8788,10 +8788,10 @@ sparc_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
|
||||
assembler code for the thunk function specified by the arguments
|
||||
it is passed, and false otherwise. */
|
||||
static bool
|
||||
sparc_can_output_mi_thunk (tree thunk_fndecl ATTRIBUTE_UNUSED,
|
||||
sparc_can_output_mi_thunk (const_tree thunk_fndecl ATTRIBUTE_UNUSED,
|
||||
HOST_WIDE_INT delta ATTRIBUTE_UNUSED,
|
||||
HOST_WIDE_INT vcall_offset,
|
||||
tree function ATTRIBUTE_UNUSED)
|
||||
const_tree function ATTRIBUTE_UNUSED)
|
||||
{
|
||||
/* Bound the loop used in the default method above. */
|
||||
return (vcall_offset >= -32768 || ! fixed_regs[5]);
|
||||
@ -8890,7 +8890,7 @@ sparc_file_end (void)
|
||||
/* Implement TARGET_MANGLE_TYPE. */
|
||||
|
||||
static const char *
|
||||
sparc_mangle_type (tree type)
|
||||
sparc_mangle_type (const_tree type)
|
||||
{
|
||||
if (!TARGET_64BIT
|
||||
&& TYPE_MAIN_VARIANT (type) == long_double_type_node
|
||||
|
@ -135,7 +135,7 @@ static tree spu_builtin_mul_widen_even (tree);
|
||||
static tree spu_builtin_mul_widen_odd (tree);
|
||||
static tree spu_builtin_mask_for_load (void);
|
||||
static int spu_builtin_vectorization_cost (bool);
|
||||
static bool spu_vector_alignment_reachable (tree, bool);
|
||||
static bool spu_vector_alignment_reachable (const_tree, bool);
|
||||
|
||||
extern const char *reg_names[];
|
||||
rtx spu_compare_op0, spu_compare_op1;
|
||||
@ -5485,7 +5485,7 @@ spu_builtin_vectorization_cost (bool runtime_test)
|
||||
how may iterations are required to reach desired alignment. */
|
||||
|
||||
static bool
|
||||
spu_vector_alignment_reachable (tree type ATTRIBUTE_UNUSED, bool is_packed)
|
||||
spu_vector_alignment_reachable (const_tree type ATTRIBUTE_UNUSED, bool is_packed)
|
||||
{
|
||||
if (is_packed)
|
||||
return false;
|
||||
|
@ -188,7 +188,7 @@ static const int reg_nonleaf_alloc_order[FIRST_PSEUDO_REGISTER] =
|
||||
#undef TARGET_RETURN_IN_MEMORY
|
||||
#define TARGET_RETURN_IN_MEMORY xtensa_return_in_memory
|
||||
#undef TARGET_SPLIT_COMPLEX_ARG
|
||||
#define TARGET_SPLIT_COMPLEX_ARG hook_bool_tree_true
|
||||
#define TARGET_SPLIT_COMPLEX_ARG hook_bool_const_tree_true
|
||||
#undef TARGET_MUST_PASS_IN_STACK
|
||||
#define TARGET_MUST_PASS_IN_STACK must_pass_in_stack_var_size
|
||||
|
||||
|
@ -259,7 +259,7 @@ const_double_htab_eq (const void *x, const void *y)
|
||||
static hashval_t
|
||||
const_fixed_htab_hash (const void *x)
|
||||
{
|
||||
rtx value = (rtx) x;
|
||||
const_rtx const value = (const_rtx) x;
|
||||
hashval_t h;
|
||||
|
||||
h = fixed_hash (CONST_FIXED_VALUE (value));
|
||||
@ -274,7 +274,7 @@ const_fixed_htab_hash (const void *x)
|
||||
static int
|
||||
const_fixed_htab_eq (const void *x, const void *y)
|
||||
{
|
||||
rtx a = (rtx)x, b = (rtx)y;
|
||||
const_rtx const a = (const_rtx) x, b = (const_rtx) y;
|
||||
|
||||
if (GET_MODE (a) != GET_MODE (b))
|
||||
return 0;
|
||||
|
50
gcc/hooks.c
50
gcc/hooks.c
@ -71,16 +71,16 @@ hook_bool_mode_false (enum machine_mode mode ATTRIBUTE_UNUSED)
|
||||
|
||||
/* Generic hook that takes (enum machine_mode, rtx) and returns false. */
|
||||
bool
|
||||
hook_bool_mode_rtx_false (enum machine_mode mode ATTRIBUTE_UNUSED,
|
||||
rtx value ATTRIBUTE_UNUSED)
|
||||
hook_bool_mode_const_rtx_false (enum machine_mode mode ATTRIBUTE_UNUSED,
|
||||
const_rtx value ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Generic hook that takes (enum machine_mode, rtx) and returns true. */
|
||||
bool
|
||||
hook_bool_mode_rtx_true (enum machine_mode mode ATTRIBUTE_UNUSED,
|
||||
rtx value ATTRIBUTE_UNUSED)
|
||||
hook_bool_mode_const_rtx_true (enum machine_mode mode ATTRIBUTE_UNUSED,
|
||||
const_rtx value ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@ -93,19 +93,19 @@ hook_void_FILEptr_constcharptr (FILE *a ATTRIBUTE_UNUSED, const char *b ATTRIBUT
|
||||
|
||||
/* Used for the TARGET_ASM_CAN_OUTPUT_MI_THUNK hook. */
|
||||
bool
|
||||
hook_bool_tree_hwi_hwi_tree_false (tree a ATTRIBUTE_UNUSED,
|
||||
HOST_WIDE_INT b ATTRIBUTE_UNUSED,
|
||||
HOST_WIDE_INT c ATTRIBUTE_UNUSED,
|
||||
tree d ATTRIBUTE_UNUSED)
|
||||
hook_bool_const_tree_hwi_hwi_const_tree_false (const_tree a ATTRIBUTE_UNUSED,
|
||||
HOST_WIDE_INT b ATTRIBUTE_UNUSED,
|
||||
HOST_WIDE_INT c ATTRIBUTE_UNUSED,
|
||||
const_tree d ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool
|
||||
hook_bool_tree_hwi_hwi_tree_true (tree a ATTRIBUTE_UNUSED,
|
||||
HOST_WIDE_INT b ATTRIBUTE_UNUSED,
|
||||
HOST_WIDE_INT c ATTRIBUTE_UNUSED,
|
||||
tree d ATTRIBUTE_UNUSED)
|
||||
hook_bool_const_tree_hwi_hwi_const_tree_true (const_tree a ATTRIBUTE_UNUSED,
|
||||
HOST_WIDE_INT b ATTRIBUTE_UNUSED,
|
||||
HOST_WIDE_INT c ATTRIBUTE_UNUSED,
|
||||
const_tree d ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@ -126,23 +126,23 @@ hook_bool_size_t_constcharptr_int_true (size_t a ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
bool
|
||||
default_can_output_mi_thunk_no_vcall (tree a ATTRIBUTE_UNUSED,
|
||||
default_can_output_mi_thunk_no_vcall (const_tree a ATTRIBUTE_UNUSED,
|
||||
HOST_WIDE_INT b ATTRIBUTE_UNUSED,
|
||||
HOST_WIDE_INT c,
|
||||
tree d ATTRIBUTE_UNUSED)
|
||||
const_tree d ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return c == 0;
|
||||
}
|
||||
|
||||
int
|
||||
hook_int_tree_0 (tree a ATTRIBUTE_UNUSED)
|
||||
hook_int_const_tree_0 (const_tree a ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* ??? Used for comp_type_attributes, which ought to return bool. */
|
||||
int
|
||||
hook_int_tree_tree_1 (tree a ATTRIBUTE_UNUSED, tree b ATTRIBUTE_UNUSED)
|
||||
hook_int_const_tree_const_tree_1 (const_tree a ATTRIBUTE_UNUSED, const_tree b ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
@ -272,7 +272,7 @@ hook_tree_tree_tree_tree_3rd_identity (tree a ATTRIBUTE_UNUSED,
|
||||
|
||||
/* Generic hook that takes a tree and returns a NULL string. */
|
||||
const char *
|
||||
hook_constcharptr_tree_null (tree t ATTRIBUTE_UNUSED)
|
||||
hook_constcharptr_const_tree_null (const_tree t ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
@ -293,29 +293,29 @@ hook_tree_tree_tree_null (tree t0 ATTRIBUTE_UNUSED, tree t1 ATTRIBUTE_UNUSED)
|
||||
|
||||
/* Generic hook that takes a rtx and returns a NULL string. */
|
||||
const char *
|
||||
hook_constcharptr_rtx_null (rtx r ATTRIBUTE_UNUSED)
|
||||
hook_constcharptr_const_rtx_null (const_rtx r ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const char *
|
||||
hook_constcharptr_tree_tree_null (tree t0 ATTRIBUTE_UNUSED,
|
||||
tree t1 ATTRIBUTE_UNUSED)
|
||||
hook_constcharptr_const_tree_const_tree_null (const_tree t0 ATTRIBUTE_UNUSED,
|
||||
const_tree t1 ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const char *
|
||||
hook_constcharptr_int_tree_null (int i ATTRIBUTE_UNUSED,
|
||||
tree t0 ATTRIBUTE_UNUSED)
|
||||
hook_constcharptr_int_const_tree_null (int i ATTRIBUTE_UNUSED,
|
||||
const_tree t0 ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const char *
|
||||
hook_constcharptr_int_tree_tree_null (int i ATTRIBUTE_UNUSED,
|
||||
tree t0 ATTRIBUTE_UNUSED,
|
||||
tree t1 ATTRIBUTE_UNUSED)
|
||||
hook_constcharptr_int_const_tree_const_tree_null (int i ATTRIBUTE_UNUSED,
|
||||
const_tree t0 ATTRIBUTE_UNUSED,
|
||||
const_tree t1 ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
34
gcc/hooks.h
34
gcc/hooks.h
@ -28,16 +28,20 @@ extern bool hook_bool_void_false (void);
|
||||
extern bool hook_bool_void_true (void);
|
||||
extern bool hook_bool_bool_false (bool);
|
||||
extern bool hook_bool_mode_false (enum machine_mode);
|
||||
extern bool hook_bool_mode_rtx_false (enum machine_mode, rtx);
|
||||
extern bool hook_bool_mode_rtx_true (enum machine_mode, rtx);
|
||||
extern bool hook_bool_mode_const_rtx_false (enum machine_mode, const_rtx);
|
||||
extern bool hook_bool_mode_const_rtx_true (enum machine_mode, const_rtx);
|
||||
extern bool hook_bool_tree_false (tree);
|
||||
extern bool hook_bool_const_tree_false (const_tree);
|
||||
extern bool hook_bool_tree_true (tree);
|
||||
extern bool hook_bool_const_tree_true (const_tree);
|
||||
extern bool hook_bool_tree_hwi_hwi_tree_false (tree, HOST_WIDE_INT, HOST_WIDE_INT,
|
||||
tree);
|
||||
extern bool hook_bool_tree_hwi_hwi_tree_true (tree, HOST_WIDE_INT, HOST_WIDE_INT,
|
||||
tree);
|
||||
extern bool hook_bool_const_tree_hwi_hwi_const_tree_false (const_tree,
|
||||
HOST_WIDE_INT,
|
||||
HOST_WIDE_INT,
|
||||
const_tree);
|
||||
extern bool hook_bool_const_tree_hwi_hwi_const_tree_true (const_tree,
|
||||
HOST_WIDE_INT,
|
||||
HOST_WIDE_INT,
|
||||
const_tree);
|
||||
extern bool hook_bool_rtx_false (rtx);
|
||||
extern bool hook_bool_uintp_uintp_false (unsigned int *, unsigned int *);
|
||||
extern bool hook_bool_rtx_int_int_intp_false (rtx, int, int, int *);
|
||||
@ -52,8 +56,8 @@ extern void hook_void_FILEptr_constcharptr (FILE *, const char *);
|
||||
extern void hook_void_tree (tree);
|
||||
extern void hook_void_tree_treeptr (tree, tree *);
|
||||
|
||||
extern int hook_int_tree_0 (tree);
|
||||
extern int hook_int_tree_tree_1 (tree, tree);
|
||||
extern int hook_int_const_tree_0 (const_tree);
|
||||
extern int hook_int_const_tree_const_tree_1 (const_tree, const_tree);
|
||||
extern int hook_int_rtx_0 (rtx);
|
||||
extern int hook_int_size_t_constcharptr_int_0 (size_t, const char *, int);
|
||||
extern int hook_int_void_no_regs (void);
|
||||
@ -64,16 +68,16 @@ extern tree hook_tree_tree_tree_bool_null (tree, tree, bool);
|
||||
|
||||
extern unsigned hook_uint_uint_constcharptrptr_0 (unsigned, const char **);
|
||||
|
||||
extern bool default_can_output_mi_thunk_no_vcall (tree, HOST_WIDE_INT,
|
||||
HOST_WIDE_INT, tree);
|
||||
extern bool default_can_output_mi_thunk_no_vcall (const_tree, HOST_WIDE_INT,
|
||||
HOST_WIDE_INT, const_tree);
|
||||
|
||||
extern rtx hook_rtx_rtx_identity (rtx);
|
||||
extern rtx hook_rtx_rtx_null (rtx);
|
||||
extern rtx hook_rtx_tree_int_null (tree, int);
|
||||
|
||||
extern const char *hook_constcharptr_tree_null (tree);
|
||||
extern const char *hook_constcharptr_rtx_null (rtx);
|
||||
extern const char *hook_constcharptr_tree_tree_null (tree, tree);
|
||||
extern const char *hook_constcharptr_int_tree_null (int, tree);
|
||||
extern const char *hook_constcharptr_int_tree_tree_null (int, tree, tree);
|
||||
extern const char *hook_constcharptr_const_tree_null (const_tree);
|
||||
extern const char *hook_constcharptr_const_rtx_null (const_rtx);
|
||||
extern const char *hook_constcharptr_const_tree_const_tree_null (const_tree, const_tree);
|
||||
extern const char *hook_constcharptr_int_const_tree_null (int, const_tree);
|
||||
extern const char *hook_constcharptr_int_const_tree_const_tree_null (int, const_tree, const_tree);
|
||||
#endif
|
||||
|
@ -69,15 +69,15 @@ static void set_block_abstract_flags (tree, int);
|
||||
/* Return false if the function FNDECL cannot be inlined on account of its
|
||||
attributes, true otherwise. */
|
||||
bool
|
||||
function_attribute_inlinable_p (tree fndecl)
|
||||
function_attribute_inlinable_p (const_tree fndecl)
|
||||
{
|
||||
if (targetm.attribute_table)
|
||||
{
|
||||
tree a;
|
||||
const_tree a;
|
||||
|
||||
for (a = DECL_ATTRIBUTES (fndecl); a; a = TREE_CHAIN (a))
|
||||
{
|
||||
tree name = TREE_PURPOSE (a);
|
||||
const_tree name = TREE_PURPOSE (a);
|
||||
int i;
|
||||
|
||||
for (i = 0; targetm.attribute_table[i].name != NULL; i++)
|
||||
|
@ -32,5 +32,5 @@ extern void allocate_initial_values (rtx *);
|
||||
/* Check whether there's any attribute in a function declaration that
|
||||
makes the function uninlinable. Returns false if it finds any,
|
||||
true otherwise. */
|
||||
extern bool function_attribute_inlinable_p (tree);
|
||||
extern bool function_attribute_inlinable_p (const_tree);
|
||||
|
||||
|
@ -1419,7 +1419,7 @@ invert_jump (rtx jump, rtx nlabel, int delete_unused)
|
||||
reversed. */
|
||||
|
||||
int
|
||||
rtx_renumbered_equal_p (rtx x, rtx y)
|
||||
rtx_renumbered_equal_p (const_rtx x, const_rtx y)
|
||||
{
|
||||
int i;
|
||||
const enum rtx_code code = GET_CODE (x);
|
||||
|
10
gcc/output.h
10
gcc/output.h
@ -378,7 +378,7 @@ extern bool first_function_block_is_cold;
|
||||
|
||||
/* Decide whether DECL needs to be in a writable section.
|
||||
RELOC is the same as for SELECT_SECTION. */
|
||||
extern bool decl_readonly_section (tree, int);
|
||||
extern bool decl_readonly_section (const_tree, int);
|
||||
|
||||
/* This can be used to compute RELOC for the function above, when
|
||||
given a constant expression. */
|
||||
@ -579,7 +579,7 @@ extern unsigned int default_section_type_flags (tree, const char *, int);
|
||||
extern bool have_global_bss_p (void);
|
||||
extern void default_no_named_section (const char *, unsigned int, tree);
|
||||
extern void default_elf_asm_named_section (const char *, unsigned int, tree);
|
||||
extern enum section_category categorize_decl_for_section (tree, int);
|
||||
extern enum section_category categorize_decl_for_section (const_tree, int);
|
||||
extern void default_coff_asm_named_section (const char *, unsigned int, tree);
|
||||
extern void default_pe_asm_named_section (const char *, unsigned int, tree);
|
||||
|
||||
@ -602,9 +602,9 @@ extern section *default_elf_select_rtx_section (enum machine_mode, rtx,
|
||||
extern void default_encode_section_info (tree, rtx, int);
|
||||
extern const char *default_strip_name_encoding (const char *);
|
||||
extern void default_asm_output_anchor (rtx);
|
||||
extern bool default_use_anchors_for_symbol_p (rtx);
|
||||
extern bool default_binds_local_p (tree);
|
||||
extern bool default_binds_local_p_1 (tree, int);
|
||||
extern bool default_use_anchors_for_symbol_p (const_rtx);
|
||||
extern bool default_binds_local_p (const_tree);
|
||||
extern bool default_binds_local_p_1 (const_tree, int);
|
||||
extern void default_globalize_label (FILE *, const char *);
|
||||
extern void default_globalize_decl_name (FILE *, tree);
|
||||
extern void default_emit_unwind_label (FILE *, tree, int, int);
|
||||
|
@ -2036,7 +2036,7 @@ extern int only_sets_cc0_p (const_rtx);
|
||||
extern int sets_cc0_p (const_rtx);
|
||||
extern int invert_jump_1 (rtx, rtx);
|
||||
extern int invert_jump (rtx, rtx, int);
|
||||
extern int rtx_renumbered_equal_p (rtx, rtx);
|
||||
extern int rtx_renumbered_equal_p (const_rtx, const_rtx);
|
||||
extern int true_regnum (const_rtx);
|
||||
extern unsigned int reg_or_subregno (const_rtx);
|
||||
extern int redirect_jump_1 (rtx, rtx);
|
||||
@ -2218,7 +2218,7 @@ extern rtx emit_library_call_value (rtx, rtx, enum libcall_type,
|
||||
|
||||
/* In varasm.c */
|
||||
extern void init_varasm_once (void);
|
||||
extern enum tls_model decl_default_tls_model (tree);
|
||||
extern enum tls_model decl_default_tls_model (const_tree);
|
||||
|
||||
/* In rtl.c */
|
||||
extern void traverse_md_constants (int (*) (void **, void *), void *);
|
||||
|
@ -142,7 +142,7 @@
|
||||
#endif
|
||||
|
||||
#define TARGET_ASM_OUTPUT_MI_THUNK NULL
|
||||
#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_tree_hwi_hwi_tree_false
|
||||
#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_const_tree_hwi_hwi_const_tree_false
|
||||
|
||||
#if !defined(TARGET_HAVE_CTORS_DTORS)
|
||||
# if defined(TARGET_ASM_CONSTRUCTOR) && defined(TARGET_ASM_DESTRUCTOR)
|
||||
@ -174,7 +174,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef TARGET_VALID_DLLIMPORT_ATTRIBUTE_P
|
||||
#define TARGET_VALID_DLLIMPORT_ATTRIBUTE_P hook_bool_tree_true
|
||||
#define TARGET_VALID_DLLIMPORT_ATTRIBUTE_P hook_bool_const_tree_true
|
||||
#endif
|
||||
|
||||
#ifndef TARGET_HAVE_TLS
|
||||
@ -450,7 +450,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef TARGET_VECTOR_OPAQUE_P
|
||||
#define TARGET_VECTOR_OPAQUE_P hook_bool_tree_false
|
||||
#define TARGET_VECTOR_OPAQUE_P hook_bool_const_tree_false
|
||||
#endif
|
||||
|
||||
/* In hooks.c. */
|
||||
@ -459,24 +459,24 @@
|
||||
#define TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED hook_bool_bool_false
|
||||
#define TARGET_CANNOT_FORCE_CONST_MEM hook_bool_rtx_false
|
||||
#define TARGET_CANNOT_COPY_INSN_P NULL
|
||||
#define TARGET_COMMUTATIVE_P hook_bool_rtx_commutative_p
|
||||
#define TARGET_COMMUTATIVE_P hook_bool_const_rtx_commutative_p
|
||||
#define TARGET_DELEGITIMIZE_ADDRESS hook_rtx_rtx_identity
|
||||
#define TARGET_USE_BLOCKS_FOR_CONSTANT_P hook_bool_mode_rtx_false
|
||||
#define TARGET_USE_BLOCKS_FOR_CONSTANT_P hook_bool_mode_const_rtx_false
|
||||
#define TARGET_MIN_ANCHOR_OFFSET 0
|
||||
#define TARGET_MAX_ANCHOR_OFFSET 0
|
||||
#define TARGET_USE_ANCHORS_FOR_SYMBOL_P default_use_anchors_for_symbol_p
|
||||
#define TARGET_FUNCTION_OK_FOR_SIBCALL hook_bool_tree_tree_false
|
||||
#define TARGET_COMP_TYPE_ATTRIBUTES hook_int_tree_tree_1
|
||||
#define TARGET_COMP_TYPE_ATTRIBUTES hook_int_const_tree_const_tree_1
|
||||
#ifndef TARGET_SET_DEFAULT_TYPE_ATTRIBUTES
|
||||
#define TARGET_SET_DEFAULT_TYPE_ATTRIBUTES hook_void_tree
|
||||
#endif
|
||||
#define TARGET_INSERT_ATTRIBUTES hook_void_tree_treeptr
|
||||
#define TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P hook_bool_tree_false
|
||||
#define TARGET_MS_BITFIELD_LAYOUT_P hook_bool_tree_false
|
||||
#define TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P hook_bool_const_tree_false
|
||||
#define TARGET_MS_BITFIELD_LAYOUT_P hook_bool_const_tree_false
|
||||
#define TARGET_ALIGN_ANON_BITFIELD hook_bool_void_false
|
||||
#define TARGET_NARROW_VOLATILE_BITFIELD hook_bool_void_false
|
||||
#define TARGET_RTX_COSTS hook_bool_rtx_int_int_intp_false
|
||||
#define TARGET_MANGLE_TYPE hook_constcharptr_tree_null
|
||||
#define TARGET_MANGLE_TYPE hook_constcharptr_const_tree_null
|
||||
#define TARGET_ALLOCATE_INITIAL_VALUE NULL
|
||||
|
||||
#ifndef TARGET_INIT_LIBFUNCS
|
||||
@ -484,7 +484,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef TARGET_IN_SMALL_DATA_P
|
||||
#define TARGET_IN_SMALL_DATA_P hook_bool_tree_false
|
||||
#define TARGET_IN_SMALL_DATA_P hook_bool_const_tree_false
|
||||
#endif
|
||||
|
||||
#ifndef TARGET_MANGLE_DECL_ASSEMBLER_NAME
|
||||
@ -499,9 +499,9 @@
|
||||
#define TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN hook_invalid_arg_for_unprototyped_fn
|
||||
#endif
|
||||
|
||||
#define TARGET_INVALID_CONVERSION hook_constcharptr_tree_tree_null
|
||||
#define TARGET_INVALID_UNARY_OP hook_constcharptr_int_tree_null
|
||||
#define TARGET_INVALID_BINARY_OP hook_constcharptr_int_tree_tree_null
|
||||
#define TARGET_INVALID_CONVERSION hook_constcharptr_const_tree_const_tree_null
|
||||
#define TARGET_INVALID_UNARY_OP hook_constcharptr_int_const_tree_null
|
||||
#define TARGET_INVALID_BINARY_OP hook_constcharptr_int_const_tree_const_tree_null
|
||||
|
||||
#define TARGET_FIXED_CONDITION_CODE_REGS hook_bool_uintp_uintp_false
|
||||
|
||||
@ -521,7 +521,7 @@
|
||||
|
||||
#define TARGET_MD_ASM_CLOBBERS hook_tree_tree_tree_tree_3rd_identity
|
||||
|
||||
#define TARGET_DWARF_CALLING_CONVENTION hook_int_tree_0
|
||||
#define TARGET_DWARF_CALLING_CONVENTION hook_int_const_tree_0
|
||||
|
||||
#define TARGET_DWARF_HANDLE_FRAME_UNSPEC 0
|
||||
|
||||
|
51
gcc/target.h
51
gcc/target.h
@ -208,9 +208,9 @@ struct gcc_target
|
||||
too much undo-able setup involved in invoking output_mi_thunk.
|
||||
Could be fixed by making output_mi_thunk emit rtl instead of
|
||||
text to the output file. */
|
||||
bool (* can_output_mi_thunk) (tree thunk_decl, HOST_WIDE_INT delta,
|
||||
bool (* can_output_mi_thunk) (const_tree thunk_decl, HOST_WIDE_INT delta,
|
||||
HOST_WIDE_INT vcall_offset,
|
||||
tree function_decl);
|
||||
const_tree function_decl);
|
||||
|
||||
/* Output any boilerplate text needed at the beginning of a
|
||||
translation unit. */
|
||||
@ -373,7 +373,7 @@ struct gcc_target
|
||||
by the insn scheduler. It should return true if the check instruction
|
||||
corresponding to the instruction passed as the parameter needs a
|
||||
recovery block. */
|
||||
bool (* needs_block_p) (rtx);
|
||||
bool (* needs_block_p) (const_rtx);
|
||||
|
||||
/* The following member value is a pointer to a function called
|
||||
by the insn scheduler. It should return a pattern for the check
|
||||
@ -391,7 +391,7 @@ struct gcc_target
|
||||
passed as the parameter, the insn will not be chosen to be
|
||||
issued. This hook is used to discard speculative instructions,
|
||||
that stand at the first position of the ready list. */
|
||||
bool (* first_cycle_multipass_dfa_lookahead_guard_spec) (rtx);
|
||||
bool (* first_cycle_multipass_dfa_lookahead_guard_spec) (const_rtx);
|
||||
|
||||
/* The following member value is a pointer to a function that provides
|
||||
information about the speculation capabilities of the target.
|
||||
@ -428,7 +428,7 @@ struct gcc_target
|
||||
|
||||
/* Return true if vector alignment is reachable (by peeling N
|
||||
iterations) for the given type. */
|
||||
bool (* vector_alignment_reachable) (tree, bool);
|
||||
bool (* vector_alignment_reachable) (const_tree, bool);
|
||||
} vectorize;
|
||||
|
||||
/* The initial value of target_flags. */
|
||||
@ -467,7 +467,7 @@ struct gcc_target
|
||||
/* Return zero if the attributes on TYPE1 and TYPE2 are incompatible,
|
||||
one if they are compatible and two if they are nearly compatible
|
||||
(which causes a warning to be generated). */
|
||||
int (* comp_type_attributes) (tree type1, tree type2);
|
||||
int (* comp_type_attributes) (const_tree type1, const_tree type2);
|
||||
|
||||
/* Assign default attributes to the newly defined TYPE. */
|
||||
void (* set_default_type_attributes) (tree type);
|
||||
@ -477,11 +477,11 @@ struct gcc_target
|
||||
|
||||
/* Return true if FNDECL (which has at least one machine attribute)
|
||||
can be inlined despite its machine attributes, false otherwise. */
|
||||
bool (* function_attribute_inlinable_p) (tree fndecl);
|
||||
bool (* function_attribute_inlinable_p) (const_tree fndecl);
|
||||
|
||||
/* Return true if bitfields in RECORD_TYPE should follow the
|
||||
Microsoft Visual C++ bitfield layout rules. */
|
||||
bool (* ms_bitfield_layout_p) (tree record_type);
|
||||
bool (* ms_bitfield_layout_p) (const_tree record_type);
|
||||
|
||||
/* True if the target supports decimal floating point. */
|
||||
bool (* decimal_float_supported_p) (void);
|
||||
@ -519,7 +519,7 @@ struct gcc_target
|
||||
/* For a vendor-specific TYPE, return a pointer to a statically-allocated
|
||||
string containing the C++ mangling for TYPE. In all other cases, return
|
||||
NULL. */
|
||||
const char * (* mangle_type) (tree type);
|
||||
const char * (* mangle_type) (const_tree type);
|
||||
|
||||
/* Make any adjustments to libfunc names needed for this target. */
|
||||
void (* init_libfuncs) (void);
|
||||
@ -550,20 +550,20 @@ struct gcc_target
|
||||
bool (* cannot_copy_insn_p) (rtx);
|
||||
|
||||
/* True if X is considered to be commutative. */
|
||||
bool (* commutative_p) (rtx, int);
|
||||
bool (* commutative_p) (const_rtx, int);
|
||||
|
||||
/* Given an address RTX, undo the effects of LEGITIMIZE_ADDRESS. */
|
||||
rtx (* delegitimize_address) (rtx);
|
||||
|
||||
/* True if the given constant can be put into an object_block. */
|
||||
bool (* use_blocks_for_constant_p) (enum machine_mode, rtx);
|
||||
bool (* use_blocks_for_constant_p) (enum machine_mode, const_rtx);
|
||||
|
||||
/* The minimum and maximum byte offsets for anchored addresses. */
|
||||
HOST_WIDE_INT min_anchor_offset;
|
||||
HOST_WIDE_INT max_anchor_offset;
|
||||
|
||||
/* True if section anchors can be used to access the given symbol. */
|
||||
bool (* use_anchors_for_symbol_p) (rtx);
|
||||
bool (* use_anchors_for_symbol_p) (const_rtx);
|
||||
|
||||
/* True if it is OK to do sibling call optimization for the specified
|
||||
call expression EXP. DECL will be the called function, or NULL if
|
||||
@ -571,11 +571,11 @@ struct gcc_target
|
||||
bool (*function_ok_for_sibcall) (tree decl, tree exp);
|
||||
|
||||
/* True if EXP should be placed in a "small data" section. */
|
||||
bool (* in_small_data_p) (tree);
|
||||
bool (* in_small_data_p) (const_tree);
|
||||
|
||||
/* True if EXP names an object for which name resolution must resolve
|
||||
to the current module. */
|
||||
bool (* binds_local_p) (tree);
|
||||
bool (* binds_local_p) (const_tree);
|
||||
|
||||
/* Modify and return the identifier of a DECL's external name,
|
||||
originally identified by ID, as required by the target,
|
||||
@ -621,7 +621,7 @@ struct gcc_target
|
||||
bool (* vector_mode_supported_p) (enum machine_mode mode);
|
||||
|
||||
/* True if a vector is opaque. */
|
||||
bool (* vector_opaque_p) (tree);
|
||||
bool (* vector_opaque_p) (const_tree);
|
||||
|
||||
/* Compute a (partial) cost for rtx X. Return true if the complete
|
||||
cost has been computed, and false if subexpressions should be
|
||||
@ -712,7 +712,7 @@ struct gcc_target
|
||||
enum dwarf_calling_convention, but because of forward declarations
|
||||
and not wanting to include dwarf2.h everywhere target.h is included
|
||||
the function is being declared as an int. */
|
||||
int (* dwarf_calling_convention) (tree);
|
||||
int (* dwarf_calling_convention) (const_tree);
|
||||
|
||||
/* This target hook allows the backend to emit frame-related insns that
|
||||
contain UNSPECs or UNSPEC_VOLATILEs. The call frame debugging info
|
||||
@ -727,7 +727,7 @@ struct gcc_target
|
||||
from VA_ARG_EXPR. LHS is left hand side of MODIFY_EXPR, RHS
|
||||
is right hand side. Returns true if the statements doesn't need
|
||||
to be checked for va_list references. */
|
||||
bool (* stdarg_optimize_hook) (struct stdarg_info *ai, tree lhs, tree rhs);
|
||||
bool (* stdarg_optimize_hook) (struct stdarg_info *ai, const_tree lhs, const_tree rhs);
|
||||
|
||||
/* This target hook allows the operating system to override the DECL
|
||||
that represents the external variable that contains the stack
|
||||
@ -740,12 +740,12 @@ struct gcc_target
|
||||
|
||||
/* Returns NULL if target supports the insn within a doloop block,
|
||||
otherwise it returns an error message. */
|
||||
const char * (*invalid_within_doloop) (rtx);
|
||||
const char * (*invalid_within_doloop) (const_rtx);
|
||||
|
||||
/* DECL is a variable or function with __attribute__((dllimport))
|
||||
specified. Use this hook if the target needs to add extra validation
|
||||
checks to handle_dll_attribute (). */
|
||||
bool (* valid_dllimport_attribute_p) (tree decl);
|
||||
bool (* valid_dllimport_attribute_p) (const_tree decl);
|
||||
|
||||
/* Functions relating to calls - argument passing, returns, etc. */
|
||||
struct calls {
|
||||
@ -775,7 +775,7 @@ struct gcc_target
|
||||
|
||||
/* Given a complex type T, return true if a parameter of type T
|
||||
should be passed as two scalars. */
|
||||
bool (* split_complex_arg) (tree type);
|
||||
bool (* split_complex_arg) (const_tree type);
|
||||
|
||||
/* Return true if type T, mode MODE, may not be passed in registers,
|
||||
but must be passed on the stack. */
|
||||
@ -797,8 +797,9 @@ struct gcc_target
|
||||
|
||||
/* Return the diagnostic message string if function without a prototype
|
||||
is not allowed for this 'val' argument; NULL otherwise. */
|
||||
const char *(*invalid_arg_for_unprototyped_fn) (tree typelist,
|
||||
tree funcdecl, tree val);
|
||||
const char *(*invalid_arg_for_unprototyped_fn) (const_tree typelist,
|
||||
const_tree funcdecl,
|
||||
const_tree val);
|
||||
|
||||
/* Return an rtx for the return value location of the function
|
||||
specified by FN_DECL_OR_TYPE with a return type of RET_TYPE. */
|
||||
@ -812,15 +813,15 @@ struct gcc_target
|
||||
|
||||
/* Return the diagnostic message string if conversion from FROMTYPE
|
||||
to TOTYPE is not allowed, NULL otherwise. */
|
||||
const char *(*invalid_conversion) (tree fromtype, tree totype);
|
||||
const char *(*invalid_conversion) (const_tree fromtype, const_tree totype);
|
||||
|
||||
/* Return the diagnostic message string if the unary operation OP is
|
||||
not permitted on TYPE, NULL otherwise. */
|
||||
const char *(*invalid_unary_op) (int op, tree type);
|
||||
const char *(*invalid_unary_op) (int op, const_tree type);
|
||||
|
||||
/* Return the diagnostic message string if the binary operation OP
|
||||
is not permitted on TYPE1 and TYPE2, NULL otherwise. */
|
||||
const char *(*invalid_binary_op) (int op, tree type1, tree type2);
|
||||
const char *(*invalid_binary_op) (int op, const_tree type1, const_tree type2);
|
||||
|
||||
/* Return the class for a secondary reload, and fill in extra information. */
|
||||
enum reg_class (*secondary_reload) (bool, rtx, enum reg_class,
|
||||
|
@ -336,7 +336,7 @@ default_fixed_point_supported_p (void)
|
||||
these cases. */
|
||||
|
||||
const char *
|
||||
default_invalid_within_doloop (rtx insn)
|
||||
default_invalid_within_doloop (const_rtx insn)
|
||||
{
|
||||
if (CALL_P (insn))
|
||||
return "Function call in loop.";
|
||||
@ -412,9 +412,9 @@ hook_void_bitmap (bitmap regs ATTRIBUTE_UNUSED)
|
||||
|
||||
const char *
|
||||
hook_invalid_arg_for_unprototyped_fn (
|
||||
tree typelist ATTRIBUTE_UNUSED,
|
||||
tree funcdecl ATTRIBUTE_UNUSED,
|
||||
tree val ATTRIBUTE_UNUSED)
|
||||
const_tree typelist ATTRIBUTE_UNUSED,
|
||||
const_tree funcdecl ATTRIBUTE_UNUSED,
|
||||
const_tree val ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
@ -510,7 +510,8 @@ default_hidden_stack_protect_fail (void)
|
||||
}
|
||||
|
||||
bool
|
||||
hook_bool_rtx_commutative_p (rtx x, int outer_code ATTRIBUTE_UNUSED)
|
||||
hook_bool_const_rtx_commutative_p (const_rtx x,
|
||||
int outer_code ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return COMMUTATIVE_P (x);
|
||||
}
|
||||
@ -665,7 +666,7 @@ tree default_mangle_decl_assembler_name (tree decl ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
bool
|
||||
default_builtin_vector_alignment_reachable (tree type, bool is_packed)
|
||||
default_builtin_vector_alignment_reachable (const_tree type, bool is_packed)
|
||||
{
|
||||
if (is_packed)
|
||||
return false;
|
||||
|
@ -57,7 +57,7 @@ extern bool default_scalar_mode_supported_p (enum machine_mode);
|
||||
extern bool default_decimal_float_supported_p (void);
|
||||
extern bool default_fixed_point_supported_p (void);
|
||||
|
||||
extern const char * default_invalid_within_doloop (rtx);
|
||||
extern const char * default_invalid_within_doloop (const_rtx);
|
||||
|
||||
extern tree default_builtin_vectorized_function
|
||||
(enum built_in_function, tree, tree);
|
||||
@ -66,7 +66,7 @@ extern tree default_builtin_vectorized_conversion (enum tree_code, tree);
|
||||
|
||||
extern tree default_builtin_reciprocal (enum built_in_function, bool, bool);
|
||||
|
||||
extern bool default_builtin_vector_alignment_reachable (tree, bool);
|
||||
extern bool default_builtin_vector_alignment_reachable (const_tree, bool);
|
||||
|
||||
/* These are here, and not in hooks.[ch], because not all users of
|
||||
hooks.h include tm.h, and thus we don't have CUMULATIVE_ARGS. */
|
||||
@ -81,8 +81,8 @@ extern bool hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true
|
||||
extern int hook_int_CUMULATIVE_ARGS_mode_tree_bool_0
|
||||
(CUMULATIVE_ARGS *, enum machine_mode, tree, bool);
|
||||
extern const char *hook_invalid_arg_for_unprototyped_fn
|
||||
(tree, tree, tree);
|
||||
extern bool hook_bool_rtx_commutative_p (rtx, int);
|
||||
(const_tree, const_tree, const_tree);
|
||||
extern bool hook_bool_const_rtx_commutative_p (const_rtx, int);
|
||||
extern rtx default_function_value (const_tree, const_tree, bool);
|
||||
extern rtx default_internal_arg_pointer (void);
|
||||
extern enum reg_class default_secondary_reload (bool, rtx, enum reg_class,
|
||||
|
14
gcc/varasm.c
14
gcc/varasm.c
@ -1056,7 +1056,7 @@ decode_reg_name (const char *asmspec)
|
||||
/* Return true if DECL's initializer is suitable for a BSS section. */
|
||||
|
||||
static bool
|
||||
bss_initializer_p (tree decl)
|
||||
bss_initializer_p (const_tree decl)
|
||||
{
|
||||
return (DECL_INITIAL (decl) == NULL
|
||||
|| DECL_INITIAL (decl) == error_mark_node
|
||||
@ -5544,7 +5544,7 @@ init_varasm_once (void)
|
||||
}
|
||||
|
||||
enum tls_model
|
||||
decl_default_tls_model (tree decl)
|
||||
decl_default_tls_model (const_tree decl)
|
||||
{
|
||||
enum tls_model kind;
|
||||
bool is_local;
|
||||
@ -5784,7 +5784,7 @@ default_select_section (tree decl, int reloc,
|
||||
}
|
||||
|
||||
enum section_category
|
||||
categorize_decl_for_section (tree decl, int reloc)
|
||||
categorize_decl_for_section (const_tree decl, int reloc)
|
||||
{
|
||||
enum section_category ret;
|
||||
|
||||
@ -5866,7 +5866,7 @@ categorize_decl_for_section (tree decl, int reloc)
|
||||
}
|
||||
|
||||
bool
|
||||
decl_readonly_section (tree decl, int reloc)
|
||||
decl_readonly_section (const_tree decl, int reloc)
|
||||
{
|
||||
switch (categorize_decl_for_section (decl, reloc))
|
||||
{
|
||||
@ -6154,7 +6154,7 @@ default_asm_output_anchor (rtx symbol)
|
||||
/* The default implementation of TARGET_USE_ANCHORS_FOR_SYMBOL_P. */
|
||||
|
||||
bool
|
||||
default_use_anchors_for_symbol_p (rtx symbol)
|
||||
default_use_anchors_for_symbol_p (const_rtx symbol)
|
||||
{
|
||||
section *sect;
|
||||
tree decl;
|
||||
@ -6193,13 +6193,13 @@ default_use_anchors_for_symbol_p (rtx symbol)
|
||||
wrt cross-module name binding. */
|
||||
|
||||
bool
|
||||
default_binds_local_p (tree exp)
|
||||
default_binds_local_p (const_tree exp)
|
||||
{
|
||||
return default_binds_local_p_1 (exp, flag_shlib);
|
||||
}
|
||||
|
||||
bool
|
||||
default_binds_local_p_1 (tree exp, int shlib)
|
||||
default_binds_local_p_1 (const_tree exp, int shlib)
|
||||
{
|
||||
bool local_p;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user