Diego Novillo
6de9cd9a88
Merge tree-ssa-20020619-branch into mainline.
...
From-SVN: r81764
2004-05-13 02:41:07 -04:00
Bob Wilson
f1dfe7049d
xtensa.c (call_insn_operand): Check SYMBOL_REF_EXTERNAL_P in addition to SYMBOL_REF_LOCAL_P.
...
* config/xtensa/xtensa.c (call_insn_operand): Check
SYMBOL_REF_EXTERNAL_P in addition to SYMBOL_REF_LOCAL_P.
* config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND): Likewise.
* config/xtensa/xtensa.md (call, call_value): Likewise.
From-SVN: r81228
2004-04-27 22:47:56 +00:00
Bob Wilson
79e9ebdc7d
xtensa.c (current_function_arg_words): Delete.
...
* config/xtensa/xtensa.c (current_function_arg_words): Delete.
(xtensa_builtin_saveregs): Use current_function_args_info.arg_words.
(xtensa_va_start): Remove assignment to current_function_arg_words.
From-SVN: r79632
2004-03-18 18:13:20 +00:00
Richard Henderson
42ba513004
re PR target/14547 (Passing _Complex long double does not follow the ABI)
...
PR target/14547
* target.h (struct gcc_target): Move calls substructure before
booleans. Add split_complex_arg.
* function.c (assign_parms, split_complex_args): Use it.
* calls.c (expand_call): Likewise.
(split_complex_values): Likewise. Check for splittable types
before allocating memory.
(split_complex_types): Likewise.
* system.h (SPLIT_COMPLEX_ARGS): Poison.
* expr.h (SPLIT_COMPLEX_ARGS): Remove.
* target-def.h (TARGET_SPLIT_COMPLEX_ARG): New.
* config/alpha/alpha.c (alpha_split_complex_arg): New.
(TARGET_SPLIT_COMPLEX_ARG): New.
* config/alpha/alpha.h (SPLIT_COMPLEX_ARGS): Remove.
* config/rs6000/rs6000.c (TARGET_SPLIT_COMPLEX_ARG): New.
(rs6000_override_options): Zap it for non-AIX.
(rs6000_function_value): Use targetm.calls.split_complex_arg.
* config/rs6000/rs6000.h (SPLIT_COMPLEX_ARGS): Remove.
* config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): New.
* config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Remove.
* doc/tm.texi (TARGET_SPLIT_COMPLEX_ARG): Modify from old
SPLIT_COMPLEX_ARGS entry.
From-SVN: r79376
2004-03-12 02:03:32 -08:00
Bob Wilson
822e895caf
xtensa.c (function_arg): Handle 16-byte aligned args.
...
* config/xtensa/xtensa.c (function_arg): Handle 16-byte aligned args.
(xtensa_va_start): Initialize __va_stk to ($arg_ptr - 32). Adjust
__va_ndx by 2 words when referencing an argument on the stack.
(xtensa_va_arg): Handle 16-byte aligned args. Adjust __va_ndx by 2
words when an arg on the stack is first seen.
From-SVN: r78990
2004-03-05 21:41:19 +00:00
Bob Wilson
6e5ff6e7fb
xtensa.c (xtensa_return_in_msb): New function.
...
* config/xtensa/xtensa.c (xtensa_return_in_msb): New function.
(TARGET_RETURN_IN_MSB): Define to xtensa_return_in_msb.
From-SVN: r78955
2004-03-05 01:13:43 +00:00
Bob Wilson
997b8b4d4c
xtensa-protos.h (xtensa_copy_incoming_a7): Update.
...
* config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Update.
(init_cumulative_args): Likewise.
(a7_overlap_mentioned_p): Delete prototype.
* config/xtensa/xtensa.c (struct machine_function): Replace
incoming_a7_copied field with need_a7_copy and vararg_a7 flags.
Add set_frame_ptr_insn field.
(xtensa_emit_move_sequence): Update call to xtensa_copy_incoming_a7.
(xtensa_copy_incoming_a7): Rewrite to check need_a7_copy flag and check
if the operand is an argument in a7. If so, copy a7 to a new pseudo
at the function entry and replace the operand with the pseudo.
(init_cumulative_args): Remove unused arguments. Add new "incoming"
argument and record this flag in CUMULATIVE_ARGS.
(function_arg): Remove result_mode and special-case code to handle
arguments in a7. Instead, set need_a7_copy flag when there is an
incoming argument in a7.
(xtensa_expand_prologue): Remove code to search for set_frame_ptr insn
and use the value recorded in cfun->machine->set_frame_ptr_insn.
(xtensa_builtin_saveregs): Check for negative gp_left value. Set
need_a7_copy and vararg_a7 flags. Use move_block_from_reg instead of
special-case code.
(a7_overlap_mentioned_p): Delete.
* config/xtensa/xtensa.h (CUMULATIVE_ARGS): Add "incoming" flag.
(INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Remove useless
arguments to init_cumulative_args and pass "incoming" flag instead.
(BLOCK_REG_PADDING): Delete.
* config/xtensa/xtensa.md (movdi, movsf, movdf): Remove unnecessary
checks for reload_in_progress and reload_completed. Update calls to
xtensa_copy_incoming_a7.
(ashlsi3): Rename existing insn to ashlsi3_internal. Add expander
to call xtensa_copy_incoming_a7.
From-SVN: r77583
2004-02-10 01:35:53 +00:00
Kazu Hirata
1f6acb82a2
target-def.h (TARGET_STRUCT_VALUE_RTX): Define as hook_rtx_tree_int_null.
...
* target-def.h (TARGET_STRUCT_VALUE_RTX): Define as
hook_rtx_tree_int_null.
* targhooks.c (default_struct_value_rtx): Remove.
* targhooks.h: Remove the prototype for
default_struct_value_rtx.
* config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c,
config/fr30/fr30.c, config/h8300/h8300.c, config/i386/i386.c,
config/ip2k/ip2k.c, config/iq2000/iq2000.c,
config/m32r/m32r.c, config/mcore/mcore.c, config/mips/mips.c,
config/mn10300/mn10300.c, config/pdp11/pdp11.c,
config/rs6000/rs6000.c, config/s390/s390.c,
config/stormy16/stormy16.c, config/v850/v850.c,
config/xtensa/xtensa.c (TARGET_STRUCT_VALUE_RTX): Remove.
* doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document the default.
From-SVN: r77505
2004-02-08 23:08:48 +00:00
Kazu Hirata
1c563bedd2
arc.md, [...]: Replace gen_rtx with gen_rtx_fmt_e*.
...
* config/arc/arc.md, config/arm/arm.c, config/arm/arm.md,
config/c4x/c4x.c, config/c4x/c4x.md, config/cris/cris.md,
config/frv/frv.c, config/h8300/h8300.c, config/ip2k/ip2k.md,
config/iq2000/iq2000.c, config/m32r/m32r.c,
config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.md,
config/mn10300/mn10300.c, config/rs6000/rs6000.c,
config/rs6000/rs6000.md, config/sh/sh.c, config/sh/sh.md,
config/stormy16/stormy16.c, config/v850/v850.md,
config/xtensa/xtensa.c: Replace gen_rtx with gen_rtx_fmt_e*.
From-SVN: r77098
2004-02-02 06:31:08 +00:00
Kazu Hirata
bd5bd7ac81
alpha.c: Remove mentions of deprecates macros in comments...
...
* config/alpha/alpha.c: Remove mentions of deprecates macros
in comments, remove some target-independent comments about target
macros, and/or add minimal function comments for target hook
implementations.
* config/avr/avr.c: Likewise.
* config/ia64/ia64.h: Likewise.
* config/ip2k/ip2k.c: Likewise.
* config/iq2000/iq2000.c: Likewise.
* config/m32r/m32r.h: Likewise.
* config/m68hc11/m68hc11.c: Likewise.
* config/mcore/mcore.c: Likewise.
* config/mmix/mmix.c: Likewise.
* config/mn10300/mn10300.c: Likewise.
* config/pa/pa.c: Likewise.
* config/pdp11/pdp11.c: Likewise.
* config/rs6000/rs6000.h: Likewise.
* config/sh/sh.c: Likewise.
* config/sh/sh.h: Likewise.
* config/sparc/sparc.c: Likewise.
* config/sparc/sparc.h: Likewise.
* config/stormy16/stormy16.c: Likewise.
* config/xtensa/xtensa.c: Likewise.
From-SVN: r77005
2004-01-30 23:16:23 +00:00
Bob Wilson
e6aecf8efd
xtensa.c (xtensa_copy_incoming_a7): Remove SUBREG on CQImode and CHImode incoming arguments in register a7.
...
* config/xtensa/xtensa.c (xtensa_copy_incoming_a7): Remove SUBREG
on CQImode and CHImode incoming arguments in register a7.
(function_arg): Wrap BLKmode argument in register a7 in a PARALLEL.
* config/xtensa/xtensa.h (BLOCK_REG_PADDING): Define.
* config/xtensa/xtensa.md (movdi, movdf): Only call force_reg or
xtensa_copy_incoming_a7 before reload.
From-SVN: r76742
2004-01-27 20:24:59 +00:00
Kazu Hirata
4c45af42f5
xtensa-protos.h: Remove the prototype for xtensa_builtin_saveregs.
...
* config/xtensa/xtensa-protos.h: Remove the prototype for
xtensa_builtin_saveregs.
* config/xtensa/xtensa.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
(TARGET_PROMOTE_PROTOTYPES): Likewise.
(TARGET_STRUCT_VALUE_RTX): Likewise.
(TARGET_RETURN_IN_MEMORY): Likewise.
(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
(xtensa_builtin_saveregs): Make it static.
(xtensa_return_in_memory): New.
* config/xtensa/xtensa.h (PROMOTE_FUNCTION_ARGS: Remove.
(PROMOTE_FUNCTION_RETURN): Likewise.
(PROMOTE_PROTOTYPES): Likewise.
(STRUCT_VALUE): Likewise.
(RETURN_IN_MEMORY): Likewise.
(EXPAND_BUILTIN_SAVEREGS): Likewise.
From-SVN: r76644
2004-01-26 17:33:37 +00:00
Bob Wilson
3712281f9d
xtensa.c (xtensa_va_arg): Handle complex values as separate real and imaginary parts.
...
* config/xtensa/xtensa.c (xtensa_va_arg): Handle complex values as
separate real and imaginary parts.
* config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Define.
From-SVN: r76459
2004-01-23 22:12:34 +00:00
Bob Wilson
b16417d615
xtensa.c (function_arg): Generalize logic so that it handles complex and vector modes.
...
* config/xtensa/xtensa.c (function_arg): Generalize logic so that it
handles complex and vector modes.
From-SVN: r76373
2004-01-22 21:42:33 +00:00
Kazu Hirata
3bbc2af6e7
elf.h: Fix comment formatting.
...
* config/xtensa/elf.h: Fix comment formatting.
* config/xtensa/xtensa-protos.h: Likewise.
* config/xtensa/xtensa.c: Likewise.
* config/xtensa/xtensa.h: Likewise.
From-SVN: r75018
2003-12-25 04:49:32 +00:00
Kazu Hirata
839a499276
vxlib.c: Fix comment typos.
...
* config/vxlib.c: Fix comment typos.
* config/alpha/alpha.c: Likewise.
* config/arm/arm.c: Likewise.
* config/arm/arm.md: Likewise.
* config/c4x/c4x.c: Likewise.
* config/c4x/c4x.md: Likewise.
* config/cris/cris.h: Likewise.
* config/cris/cris.md: Likewise.
* config/fr30/fr30.c: Likewise.
* config/fr30/fr30.h: Likewise.
* config/fr30/fr30.md: Likewise.
* config/frv/frv.c: Likewise.
* config/frv/frv.md: Likewise.
* config/frv/frvbegin.c: Likewise.
* config/i386/athlon.md: Likewise.
* config/i386/i386.c: Likewise.
* config/i386/i386.md: Likewise.
* config/i386/sco5.h: Likewise.
* config/ia64/ia64.md: Likewise.
* config/ip2k/ip2k.c: Likewise.
* config/ip2k/ip2k.md: Likewise.
* config/m68hc11/m68hc11.h: Likewise.
* config/m68k/m68k.h: Likewise.
* config/mips/mips.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/s390/s390.md: Likewise.
* config/sh/sh.h: Likewise.
* config/sparc/sparc.md: Likewise.
* config/v850/v850.c: Likewise.
* config/v850/v850.h: Likewise.
* config/v850/v850.md: Likewise.
* config/xtensa/xtensa.c: Likewise.
From-SVN: r74596
2003-12-13 04:44:12 +00:00
Richard Henderson
c35d187fc3
builtins.c (std_build_builtin_va_list): New.
...
* builtins.c (std_build_builtin_va_list): New.
* expr.h (std_build_builtin_va_list): Declare.
* defaults.h (BUILD_VA_LIST_TYPE): New.
* system.h (BUILD_VA_LIST_TYPE): Poison.
* target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
* target.h (struct gcc_target): Add build_builtin_va_list.
* tree.c (build_common_tree_nodes_2): Use it.
* config/alpha/alpha-protos.h, config/alpha/alpha.c,
config/alpha/alpha.h, config/alpha/unicosmk.h,
config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
config/mips/mips.h, config/rs6000/rs6000-protos.h,
config/rs6000/rs6000.c, config/rs6000/rs6000.h,
config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
config/xtensa/xtensa.h: Rename foo_build_va_list to
foo_build_builtin_va_list; make it static. Define
TARGET_BUILD_BUILTIN_VA_LIST. Remove BUILD_VA_LIST_TYPE.
Update protos.
* config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
* config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
From-SVN: r73076
2003-10-29 18:02:49 -08:00
Bob Wilson
b0c6e48ff6
xtensa.c (xtensa_dbx_register_number): Change first FP register number to 48 and MAC16 accumulator to 0x210.
...
* config/xtensa/xtensa.c (xtensa_dbx_register_number): Change first
FP register number to 48 and MAC16 accumulator to 0x210.
From-SVN: r72283
2003-10-09 20:21:11 +00:00
Kazu Hirata
368ebcd6ff
fold-const.c: Follow spelling conventions.
...
* fold-const.c: Follow spelling conventions.
* function.c: Likewise.
* config/c4x/c4x.h: Likewise.
* config/c4x/c4x.md: Likewise.
* config/frv/frv.md: Likewise.
* config/rs6000/aix.h: Likewise.
* config/rs6000/linux64.h: Likewise.
* config/xtensa/xtensa.c: Likewise.
From-SVN: r72111
2003-10-05 13:34:45 +00:00
Bob Wilson
ffbc879650
xtensa-protos.h: Convert to ISO C90.
...
* config/xtensa/xtensa-protos.h: Convert to ISO C90.
* config/xtensa/xtensa.c: Convert to ISO C90. Minor formatting fixes.
From-SVN: r71669
2003-09-22 23:19:45 +00:00
Bob Wilson
cadafd1ffd
xtensa.c (xtensa_multibss_section_type_flags): Add ATTRIBUTE_UNUSED.
...
* config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
ATTRIBUTE_UNUSED.
(call_insn_operand): For PIC, don't allow a direct call to a
function in a different section than the current one.
From-SVN: r71415
2003-09-15 23:19:21 +00:00
Kaveh R. Ghazi
e91e4f6cee
mips.c: Don't include output.h twice.
...
* mips.c: Don't include output.h twice.
* stormy16.c: Likewise.
* xtensa.c: Likewise.
* output.h: Protect against multiple inclusion.
From-SVN: r67330
2003-06-02 14:15:15 +00:00
Bob Wilson
633e4eb4ae
xtensa-protos.h (smalloffset_double_mem_p): Delete.
...
* config/xtensa/xtensa-protos.h (smalloffset_double_mem_p): Delete.
(xtensa_split_operand_pair): New proto.
* config/xtensa/xtensa.c (move_operand): Handle DFmode and DImode.
(smalloffset_double_mem_p): Delete.
(gen_float_relational, printx, print_operand, xtensa_va_arg):
Fix whitespace.
(xtensa_split_operand_pair): New.
(xtensa_dbx_register_number): Fix formatting.
* config/xtensa/xtensa.h (EXTRA_CONSTRAINT): Remove 'S' constraint.
* config/xtensa/xtensa.md (movdi, movdf): Force constants to memory
instead of splitting them into single-word moves. Remove unnecessary
checks for reload_in_progress and reload_completed.
(movdi_internal, movdf_internal): Change to post-reload split patterns.
Add constraints to allow constant operands.
(movsf_internal): Allow CONST_INT operands.
From-SVN: r67215
2003-05-29 00:08:36 +00:00
Bob Wilson
7a29f483cf
xtensa.h (MASK_SERIALIZE_VOLATILE, [...]): Delete.
...
* config/xtensa/xtensa.h (MASK_SERIALIZE_VOLATILE,
TARGET_SERIALIZE_VOLATILE): Delete.
(MASK_CONST16, MASK_ABS, MASK_ADDX): Renumber flag bits.
(TARGET_DEFAULT): Remove MASK_SERIALIZE_VOLATILE.
(TARGET_SWITCHES): Remove "-mserialize-volatile" and
"-mno-serialize-volatile".
* config/xtensa/xtensa.c (print_operand): Remove checks of
TARGET_SERIALIZE_VOLATILE.
* config/xtensa/xtensa.md (*lsiu, *ssiu): Likewise.
* doc/invoke.texi (Option Summary, Xtensa Options): Remove
"-mserialize-volatile" and "-mno-serialize-volatile" options.
From-SVN: r67067
2003-05-21 21:23:03 +00:00
Bob Wilson
f42f5a1b1e
lib2funcs.S (TRAMPOLINE_SIZE): Change from 49 to 59.
...
* config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Change from 49 to 59.
* config/xtensa/xtensa-config.h (XCHAL_HAVE_CONST16,
XCHAL_HAVE_L32R): New.
* config/xtensa/xtensa-protos.h (non_const_move_operand,
xtensa_load_constant, xtensa_function_prologue,
xtensa_function_epilogue): Delete prototypes.
(xtensa_expand_prologue): New.
* config/xtensa/xtensa.c (frame_size_const,
TARGET_ASM_FUNCTION_PROLOGUE, TARGET_MACHINE_DEPENDENT_REORG,
non_const_move_operand, xtensa_load_constant, xtensa_reorg,
xtensa_function_prologue): Delete.
(add_operand, xtensa_mem_offset): Formatting.
(move_operand): If the const16 option is available, allow any SFmode
and SImode constants.
(xtensa_emit_move_sequence): Inline the former contents of
xtensa_load_constant with modifications to handle the const16 option.
(override_options): Add xtensa_char_to_class['W'] and set it to
the general register class only if the const16 option is enabled.
Fix formatting. Disallow PIC when using the const16 option.
(print_operand): Reorganize to switch on "letter" instead of the
RTL code. Add output_operand_lossage calls for invalid cases.
Add support for 't' and 'b' letters.
(xtensa_expand_prologue): New function to replace
xtensa_function_prologue and xtensa_reorg.
(xtensa_function_epilogue): Declare this as static. Delete code
to print the retw.n or retw instruction.
(xtensa_return_addr): Use A0_REG instead of 0.
(xtensa_rtx_costs): Add costs for using the const16 option.
* config/xtensa/xtensa.h (MASK_CONST16, TARGET_CONST16): New.
(TARGET_DEFAULT): Add CONST16 if L32R instructions not available.
(TARGET_SWITCHES): Add "const16" and "no-const16".
(REG_CLASS_FROM_LETTER): Add comment about new 'W' letter.
(EXTRA_CONSTRAINT): Change 'T' constraint to only apply when not
using the const16 option.
(TRAMPOLINE_TEMPLATE): Rewrite to avoid hardwired use of l32r insn.
(TRAMPOLINE_SIZE): Change from 49 to 59.
(INITIALIZE_TRAMPOLINE): Adjust offsets to match new trampoline.
(GO_IF_LEGITIMATE_ADDRESS): Do not allow constant pool addresses
when using the const16 option.
(PREDICATE_CODES): Delete non_const_move_operand.
* config/xtensa/xtensa.md (define_constants): Add A1_REG, A8_REG, and
UNSPECV_ENTRY.
(movdi, movdf): If the source is a constant, always expand to a
sequence of movsi insns.
(movdi_internal, movdf_internal): Remove alternative using l32r insns.
(movsi_internal, movsf_internal): Add alternative using const16 insns.
(movsf): Add const16 support.
(entry, prologue, epilogue): New.
(set_frame_ptr): Add missing mode for unspec_volatile operation.
Likewise for subsequent split pattern.
* doc/invoke.texi (Option Summary, Xtensa Options): Document new
"-mconst16" and "-mno-const16" options.
From-SVN: r66809
2003-05-14 18:37:26 +00:00
Richard Sandiford
18dbd95060
target-def.h (TARGET_MACHINE_DEPENDENT_REORG): Define.
...
* target-def.h (TARGET_MACHINE_DEPENDENT_REORG): Define.
(TARGET_INITIALIZER): Include it.
* target.h (struct gcc_target): Add machine_dependent_reorg field.
* toplev.c (rest_of_compilation): Use targetm.machine_dependent_reorg.
* config/alpha/alpha-protos.h (alpha_reorg): Remove declaration.
* config/alpha/alpha.h (MACHINE_DEPENDENT_REORG): Remove.
* config/alpha/alpha.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
(alpha_handle_trap_shadows): Remove "first insn" parameter.
(alpha_align_insns): Likewise.
(alpha_reorg): Likewise. Make static. Update calls to above
functions.
* config/arm/arm-protos.h (arm_reorg): Remove declaration.
* config/arm/arm.h (MACHINE_DEPENDENT_REORG): Remove.
* config/arm/arm.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
(arm_reorg): Remove parameter. Make static.
* config/avr/avr-protos.h (machine_dependent_reorg): Remove.
* config/avr/avr.h (MACHINE_DEPENDENT_REORG): Remove.
* config/avr/avr.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
(avr_reorg): Renamed from machine_dependent_reorg. Make static.
Remove parameter.
* config/c4x/c4x-protos.h (c4x_process_after_reload): Remove.
* config/c4x/c4x.h (MACHINE_DEPENDENT_REORG): Remove.
* config/c4x/c4x.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
(c4x_reorg): Renamed from c4x_process_after_reload. Make static.
Remove parameter.
* config/d30v/d30v-protos.h (d30v_machine_dependent_reorg): Remove.
* config/d30v/d30v.h (MACHINE_DEPENDENT_REORG): Remove.
* config/d30v/d30v.c (d30v_machine_dependent_reorg): Remove.
* config/frv/frv-protos.h (frv_machine_dependent_reorg): Remove.
* config/frv/frv.c: Remove orphaned comment.
* config/i386/i386-protos.h (x86_machine_dependent_reorg): Remove.
* config/i386/i386.h (MACHINE_DEPENDENT_REORG): Remove.
* config/i386/i386.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
(ix86_reorg): Renamed from x86_machine_dependent_reorg. Make static.
Remove parameter.
* config/ia64/ia64-protos.h (ia64_reorg): Remove declaration.
* config/ia64/ia64.h (MACHINE_DEPENDENT_REORG): Remove.
* config/ia64/ia64.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
(emit_insn_group_barriers): Remove "first insn" parameter.
(emit_all_insn_group_barriers): Likewise.
(ia64_reorg): Likewise. Make static. Update calls to above functions.
(ia64_output_mi_thunk): Update call to emit_all_insn_group_barriers.
* config/ip2k/ip2k-protos.h (machine_dependent_reorg): Remove.
* config/ip2k/ip2k.h (MACHINE_DEPENDENT_REORG): Remove.
* config/ip2k/ip2k.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
(ip2k_reorg): Renamed from machine_dependent_reorg. Make static.
Remove parameter.
* config/m68hc11/m68hc11-protos.h (m68hc11_reorg): Remove declaration.
* config/m68hc11/m68hc11.h (MACHINE_DEPENDENT_REORG): Remove.
* config/m68hc11/m68hc11.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
(m68hc11_reorg): Make static. Remove parameter.
* config/mcore/mcore-protos.h (mcore_dependent_reorg): Remove.
* config/mcore/mcore.h (MACHINE_DEPENDENT_REORG): Remove.
* config/mcore/mcore.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
(conditionalize_optimization): Remove parameter.
(mcore_reorg): Renamed from mcore_dependent_reorg. Remove parameter.
Make static. Update call to conditionalize_optimization.
* config/mips/mips-protos.h (machine_dependent_reorg): Remove.
* config/mips/mips.h (MACHINE_DEPENDENT_REORG): Remove.
* config/mips/mips.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
(mips_reorg): Renamed from machine_dependent_reorg. Remove parameter.
Make static.
* config/mmix/mmix-protos.h (mmix_machine_dependent_reorg): Remove.
* config/mmix/mmix.h (MACHINE_DEPENDENT_REORG): Remove.
* config/mmix/mmix.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
(mmix_reorg): Renamed from mmix_machine_dependent_reorg. Make static.
Remove parameter.
* config/pa/pa-protos.h (pa_reorg): Remove declaration.
* config/pa/pa.h (MACHINE_DEPENDENT_REORG): Remove.
* config/pa/pa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
(pa_combine_instructions): Remove "first insn" parameter.
(remove_useless_addtr_insns): Likewise.
(pa_reorg): Likewise. Make static. Update calls to above functions.
* config/rs6000/rs6000.h (MACHINE_DEPENDENT_REORG): Remove
commented-out definition.
* config/s390/s390-protos.h (s390_machine_dependent_reorg): Remove.
* config/s390/s390.h (MACHINE_DEPENDENT_REORG): Remove.
* config/s390/s390.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
(s390_reorg): Renamed from s390_machine_dependent_reorg. Make static.
Remove parameter.
* config/sh/sh-protos.h (machine_dependent_reorg): Remove.
* config/sh/sh.h (MACHINE_DEPENDENT_REORG): Remove.
* config/sh/sh.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
(sh_reorg): Renamed from machine_dependent_reorg. Make static.
Remove parameter.
(sh_output_mi_thunk): Call sh_reorg directly.
* config/sh/sh.md: Update comment.
* config/stormy16/stormy16.h (MACHINE_DEPENDENT_REORG): Remove
commented-out definition.
* config/v850/v850-protos.h (v850_reorg): Remove declaration.
* config/v850/v850.h (MACHINE_DEPENDENT_REORG): Remove.
* config/v850/v850.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
(v850_reorg): Make static. Remove parameter.
* config/xtensa/xtensa-protos.h (xtensa_reorg): Remove declaration.
* config/xtensa/xtensa.h (MACHINE_DEPENDENT_REORG): Remove.
* config/xtensa/xtensa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
(xtensa_reorg): Make static. Remove parameter.
* doc/tm.texi (MACHINE_DEPENDENT_REORG): Remove.
(TARGET_MACHINE_DEPENDENT_REORG): Document.
From-SVN: r66800
2003-05-14 07:29:54 +00:00
Bob Wilson
0bd0703d04
xtensa.c (xtensa_emit_loop_end): Only use "nop.n" instruction if the Xtensa density option is enabled.
...
* config/xtensa/xtensa.c (xtensa_emit_loop_end): Only use "nop.n"
instruction if the Xtensa density option is enabled.
From-SVN: r66649
2003-05-09 23:36:39 +00:00
Bob Wilson
638db43e75
* config/xtensa/xtensa.c: Formatting.
...
From-SVN: r66636
2003-05-09 16:05:46 +00:00
Bob Wilson
6a2b287ffd
linux.h (TARGET_OS_CPP_BUILTINS): Remove definition of _GNU_SOURCE.
...
* config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Remove definition of
_GNU_SOURCE. Add definitions of __PIC__ and __pic__.
(SUBTARGET_CPP_SPEC): Define.
(LIB_SPEC): Delete.
* config/xtensa/xtensa-protos.h (xtensa_declare_object): Delete.
* config/xtensa/xtensa.c (xtensa_declare_object): Delete.
* config/xtensa/xtensa.h (CPP_SPEC, SUBTARGET_CPP_SPEC, EXTRA_SPECS):
Define.
(ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
(ASM_OUTPUT_ALIGNED_BSS, BSS_SECTION_ASM_OP): Define.
From-SVN: r66083
2003-04-26 00:06:51 +00:00
Richard Henderson
f2dd0c4231
xtensa.c (xtensa_encode_section_info): Remove.
...
* config/xtensa/xtensa.c (xtensa_encode_section_info): Remove.
(call_insn_operand): Use SYMBOL_REF_LOCAL_P.
* config/xtensa/xtensa.md (call, call_value): Likewise.
From-SVN: r65739
2003-04-17 04:24:04 -07:00
Bob Wilson
a3259be8e3
xtensa.md (set_frame_ptr): Change rtl to set reg a7.
...
* config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
* config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
as a SET pattern.
From-SVN: r62730
2003-02-11 21:42:31 +00:00
Bob Wilson
985d0d50d5
xtensa.c (order_regs_for_local_alloc): Order the coprocessor registers before floating-point registers.
...
* config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
coprocessor registers before floating-point registers.
* config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
to account for a previously removed register.
(SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
Delete unused macros.
From-SVN: r62340
2003-02-03 20:23:24 +00:00
Richard Henderson
dcefdf6717
target.h (targetm.address_cost): New.
...
* target.h (targetm.address_cost): New.
* target-def.h (TARGET_ADDRESS_COST): New.
(TARGET_RTX_COSTS): Uncomment. Oops.
* cse.c (address_cost): Use new target hook.
(default_address_cost): New.
* output.h (default_address_cost): Declare.
* hooks.c (hook_int_rtx_0): New.
* hooks.h (hook_int_rtx_0): Declare.
* loop.c (combine_givs_p): Remove if 0 code.
* system.h (ADDRESS_COST): Poison.
* config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
config/xtensa/xtensa.c, config/xtensa/xtensa.h
(TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
(ADDRESS_COST): Remove.
* config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
config/mips/mips.c, config/mips/mips.h,
config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
config/vax/vax.c, config/vax/vax.h
(foo_address_cost): Make static.
(TARGET_ADDRESS_COST): New.
(ADDRESS_COST): Remove.
* config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
config/stormy16/stormy16.h
(ADDRESS_COST): Move code ...
(foo_address_cost): ... here.
(TARGET_ADDRESS_COST): New.
* config/m32r/m32r.c (m32r_address_cost): Remove.
* config/m32r/m32r-protos.h: Update.
* config/mmix/mmix.c (mmix_address_cost): Remove.
* config/mmix/mmix-protos.h: Update.
* config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
mn10300_address_cost; move unsig allocation ...
(mn10300_address_cost): ... here.
(TARGET_ADDRESS_COST): New.
* config/mn10300/mn10300-protos.h: Update.
* config/mn10300/mn10300.h (ADDRESS_COST): Remove.
From-SVN: r61988
2003-01-28 10:08:56 -08:00
Richard Henderson
3c50106f69
Makefile.in (cse.o): Depend on TARGET_H.
...
* Makefile.in (cse.o): Depend on TARGET_H.
* cse.c (rtx_cost): Use targetm.rtx_costs.
* system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
* doc/tm.texi: Update.
* target.h (targetm.rtx_costs): New.
* target-def.h (TARGET_RTX_COSTS): New.
* hooks.c (hook_bool_rtx_int_int_intp_false): New.
* hooks.h: Update.
* config/alpha/alpha.c (alpha_rtx_cost_data): New.
(alpha_rtx_costs, TARGET_RTX_COSTS): New.
* config/alpha/alpha.h (PROCESSOR_MAX): New.
(CONST_COSTS, RTX_COSTS): Remove.
* config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
config/mn10200/mn10200.h, config/mn10300/mn10300.c,
config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
config/stormy16/stormy16.c, config/stormy16/stormy16.h,
config/v850/v850.c, config/v850/v850.h,
config/xtensa/xtensa.c, config/xtensa/xtensa.h
(CONST_COSTS, RTX_COSTS): Move code ...
(foo_rtx_costs, TARGET_RTX_COSTS): ... here.
* config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
(arm_rtx_costs, TARGET_RTX_COSTS): New.
* config/arm/arm-protos.h: Update.
* config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
* config/avr/avr.h (CONST_COSTS): Move code ...
* config/avr/avr.c (avr_rtx_costs): ... here.
(default_rtx_costs): Make static.
* config/avr/avr-protos.h: Update.
* config/h8300/h8300.c (const_costs): Make static.
(h8300_and_costs, h8300_shift_costs): Likewise.
* config/h8300/h8300-protos.h: Update.
* config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
(CONST_COSTS): Move code ...
* config/ip2k/ip2k.c (ip2k_rtx_costs): ... here. Rename from
default_rtx_costs; update for signature change.
* config/ip2k/ip2k-protos.h: Update.
* config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
(CONST_COSTS): Move code ...
* config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
(TARGET_RTX_COSTS): New.
(m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
* config/m68hc11/m68hc11-protos.h: Update.
* config/m68k/m68k.c (const_int_cost): Make static.
* config/m68k/m68k-protos.h: Update.
* config/mcore/mcore.c (mcore_const_costs): Make static.
(mcore_and_cost, mcore_ior_cost): Likewise.
* config/mcore/mcore-protos.h: Update.
* config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
(mmix_rtx_cost_recalculated): Remove.
* config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
* config/mmix/mmix-protos.h: Update.
* config/sh/sh.c (shiftcosts): Make static.
(addsubcosts, andcosts, multcosts): Likewise.
* config/sh/sh-protos.h: Update.
* config/sparc/sparc.c (TARGET_RTX_COSTS): New.
(sparc_rtx_costs): Make static; update for change in signature.
* config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
* config/sparc/sparc-protos.h: Update.
* config/v850/v850.c (const_costs): Make static.
* config/v850/v850-protos.h: Update.
* config/vax/vax.h (RTX_COSTS): Remove.
(CONST_COSTS): Move code ...
* config/vax/vax.c (vax_rtx_costs_1): ... here; rename
from vax_rtx_cost.
(vax_rtx_costs, TARGET_RTX_COSTS): New.
From-SVN: r61954
2003-01-27 20:46:33 -08:00
Bob Wilson
1d0ea52e2d
xtensa.c: Remove unused include of machmode.h.
...
* config/xtensa/xtensa.c: Remove unused include of machmode.h.
(xtensa_emit_call, print_operand): Fix printf format strings
to avoid compile warnings.
(xtensa_function_prologue, xtensa_function_epilogue): Change type
of "size" argument to HOST_WIDE_INT to fix compile warnings.
* config/xtensa/xtensa-protos.h
(xtensa_function_prologue, xtensa_function_epilogue): Ditto.
From-SVN: r61739
2003-01-24 22:09:05 +00:00
Zack Weinberg
4977bab6ed
Merge basic-improvements-branch to trunk
...
From-SVN: r60174
2002-12-16 18:23:00 +00:00
Bob Wilson
58db834b27
xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
...
* config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
* config/xtensa/xtensa.c (struct machine_function): Add
incoming_a7_copied flag.
(xtensa_copy_incoming_a7): Define.
(xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
* config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
From-SVN: r59364
2002-11-22 00:23:31 +00:00
Bob Wilson
89f6025db0
xtensa.h (REG_CLASS_NAMES, [...]): Add new RL_REGS register class.
...
* config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
Add new RL_REGS register class.
(PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
Call xtensa_preferred_reload_class for both input and output reloads.
* config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
(xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
instead of either AR_REGS or GR_REGS classes.
(xtensa_secondary_reload_class): Use new RL_REGS class.
* config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
From-SVN: r57666
2002-09-30 20:25:44 +00:00
Bob Wilson
01abf342f8
elf.h (TARGET_SECTION_TYPE_FLAGS): Define to xtensa_multibss_section_type_flags.
...
* config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
xtensa_multibss_section_type_flags.
* config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
From-SVN: r56797
2002-09-04 16:22:51 +00:00
Kaveh R. Ghazi
ab2877a39b
arc.c (arc_init): Don't use ISO C style function definitions.
...
* arc.c (arc_init): Don't use ISO C style function definitions.
* arm.c (count_insns_for_constant, thumb_far_jump_used_p,
arm_get_strip_length, arm_strip_name_encoding): Likewise.
* avr.h (progmem_section): Likewise.
* h8300.c h8300_asm_insn_count): Likewise.
* m32r.c (init_idents): Likewise.
* s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
* sh.c (sh_cfun_interrupt_handler_p): Likewise.
* xtensa.c (xtensa_build_va_list): Likewise.
From-SVN: r56209
2002-08-11 18:48:52 +00:00
Zack Weinberg
e5faf155c9
builtins.c (std_expand_builtin_va_start): Remove unused first argument.
...
* builtins.c (std_expand_builtin_va_start): Remove unused
first argument.
(expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
std_expand_builtin_va_start with just two arguments.
* expr.h: Update prototypes.
* alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
xtensa-protos.h, xtensa.h, xtensa.c: Remove unused first
argument from all implementations of EXPAND_BUILTIN_VA_START
and all uses of std_expand_builtin_va_start.
From-SVN: r55495
2002-07-16 20:59:08 +00:00
Bob Wilson
0c14a54df6
xtensa-protos.h (xtensa_return_addr): Declare.
...
* config/xtensa/xtensa-protos.h (xtensa_return_addr): Declare.
config/xtensa/xtensa.c (xtensa_return_addr): New function.
config/xtensa/xtensa.h (RETURN_ADDR_RTX): Use xtensa_return_addr.
config/xtensa/xtensa.md (fix_return_addr): New pattern.
From-SVN: r55020
2002-06-27 04:33:41 +00:00
Bob Wilson
a69c385e73
xtensa.c (override_options): Don't warn about using -fpic or -fPIC when PIC is enabled by default.
...
* config/xtensa/xtensa.c (override_options): Don't warn about
using -fpic or -fPIC when PIC is enabled by default.
From-SVN: r54483
2002-06-11 03:50:59 +00:00
Bob Wilson
540eaea825
xtensa.c (xtensa_build_va_list): Use lang_hooks.types.make_type instead of make_node; set up __va_list_tag type decl.
...
* config/xtensa/xtensa.c (xtensa_build_va_list): Use
lang_hooks.types.make_type instead of make_node; set up
__va_list_tag type decl.
(xtensa_builtin_saveregs): Remove broken use of
RTX_UNCHANGING_P and unnecessary use of MEM_IN_STRUCT_P
for saved registers; add varargs alias set.
From-SVN: r54288
2002-06-05 18:55:19 +00:00
Bob Wilson
072326388a
xtensa.c (xtensa_init_machine_status): Fix typo in function prototype and include "ggc.h" header.
...
* config/xtensa/xtensa.c (xtensa_init_machine_status): Fix
typo in function prototype and include "ggc.h" header.
From-SVN: r54269
2002-06-04 23:41:42 +00:00
Geoffrey Keating
e2500fedef
Merge from pch-branch up to tag pch-commit-20020603.
...
From-SVN: r54232
2002-06-04 07:11:05 +00:00
Richard Henderson
fb49053ffd
system.h (ENCODE_SECTION_INFO): Poison it.
...
* system.h (ENCODE_SECTION_INFO): Poison it.
* target-def.h (TARGET_ENCODE_SECTION_INFO): New.
* target.h (encode_section_info): New.
* varasm.c (make_decl_rtl, output_constant_def): Use it.
* hooks.c (hook_tree_int_void): New.
* hooks.h: Declare it.
* config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
config/mcore/mcore-protos.h, config/mcore/mcore.c,
config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
config/stormy16/stormy16.c, config/stormy16/stormy16.h:
Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
referencing existing function. Make function static.
* config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
config/xtensa/xtensa.c, config/xtensa/xtensa.h:
Move ENCODE_SECTION_INFO to out-of-line function and add
TARGET_ENCODE_SECTION_INFO.
* config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
(ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
* config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
from SUBTARGET_*
(switch_to_section): Replace in_rdata case with in_readonly_data.
* config/h8300/h8300.c (h8300_encode_label): Make static.
* config/h8300/h8300-protos.h: Update.
* config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
from rs6000_encode_section_info; make static.
(rs6000_xcoff_encode_section_info): New.
* config/v850/v850.c (v850_encode_data_area): Make static.
* config/v850/v850-protos.h: Update.
* config/vax/vax.c: Include flags.h.
(vms_select_section): Fix typo.
* doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
ENCODE_SECTION_INFO docs.
From-SVN: r53606
2002-05-18 22:23:27 -07:00
Richard Henderson
b64a1b533c
system.h (SELECT_RTX_SECTION): Poison.
...
* system.h (SELECT_RTX_SECTION): Poison.
* target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
* target.h (select_rtx_section): New.
* varasm.c (output_constant_pool): Use it.
(default_select_rtx_section, default_elf_select_rtx_section): New.
* output.h: Declare them.
* config/darwin.h (SELECT_RTX_SECTION): Move ...
* config/darwin.c (machopic_select_rtx_section): ... here.
* config/darwin-protos.h: Update.
* config/nextstep.h (SELECT_RTX_SECTION): Move ...
* config/nextstep.c (machopic_select_rtx_section): ... here.
(nextstep_select_section): Rename variable to avoid macro clash.
* config/nextstep-protos.h: Update.
* config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
(SELECT_RTX_SECTION): Remove.
* config/darwin.h, config/elfos.h, config/nextstep.h,
config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
config/sparc/lynx.h, config/xtensa/xtensa.c
(TARGET_ASM_SELECT_RTX_SECTION): New.
* config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
* config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
* config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
* config/ia64/ia64.c (ia64_select_rtx_section): ... here.
(ia64_aix_select_rtx_section): New.
* config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
redefining.
* config/mips/mips.c (mips_select_rtx_section): Make static.
Support ELF SHF_MERGE features.
* config/mips/mips-protos.h: Update.
* config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
* config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
(rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
make static, fall back to default_elf_select_rtx_section.
* config/rs6000/rs6000-protos.h: Update.
* config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
* config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
* config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
* config/romp/romp.c (romp_select_rtx_section): New.
* config/s390/s390.c (s390_select_rtx_section): New.
* config/xtensa/xtensa.c: Include output.h. Shuffle local function
declarations before target macro definition.
(xtensa_emit_call): Use static buffer.
(xtensa_select_rtx_section): New.
* config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
(IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
(ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.
* doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
SELECT_RTX_SECTION docs.
From-SVN: r53600
2002-05-18 16:47:22 -07:00
Bob Wilson
544ef5b5df
xtensa.c (xtensa_va_arg): Fix compiler warning in previous change.
...
* config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
in previous change.
From-SVN: r51704
2002-04-01 20:07:21 +00:00
Bob Wilson
bcf88f9b91
xtensa.c (xtensa_va_arg): Fix to handle arguments for which MUST_PASS_IN_STACK is true (e.g....
...
* config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
From-SVN: r51700
2002-04-01 19:52:18 +00:00