aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/m68hc11
AgeCommit message (Collapse)AuthorFilesLines
2004-02-06arc.c (arc_return_in_memory): Check the return value of int_size_in_bytes ↵Kazu Hirata1-3/+7
against -1. * config/arc/arc.c (arc_return_in_memory): Check the return value of int_size_in_bytes against -1. Don't check TREE_ADDRESSABLE. * config/avr/avr.c (avr_return_in_memory): Check the return value of int_size_in_bytes against -1. * config/ip2k/ip2k.c (ip2k_return_in_memory): Likewise. * config/m68hc11/m68hc11.c (m68hc11_return_in_memory): Likewise. * config/mcore/mcore.c (mcore_return_in_memory): Likewise. * config/stormy16/stormy16.c (xstormy16_return_in_memory): Likewise. From-SVN: r77377
2004-02-04alloc-pool.h, [...]: Update copyright.Kazu Hirata1-1/+2
gcc/ * alloc-pool.h, c-convert.c, c-lang.c, c-tree.h, caller-save.c, df.h, genconfig.c, global.c, lcm.c, ra-rewrite.c, ra.c, regclass.c, regs.h, resource.c, sched-rgn.c, config/arm/aof.h, config/arm/cirrus.md, config/arm/fpa.md, config/arm/iwmmxt.md, config/arm/netbsd-elf.h, config/arm/netbsd.h, config/m68hc11/m68hc11.md, config/mips/iris5.h, config/mn10300/mn10300.md, config/rs6000/altivec.md, config/sparc/netbsd-elf.h: Update copyright. cp/ * error.c, search.c: Update copyright. java/ * typeck.c: Update copyright. From-SVN: r77265
2004-02-03c4x.h (FUNCTION_VALUE): Use gen_rtx_REG instead of gen_rtx.Kazu Hirata1-9/+10
* config/c4x/c4x.h (FUNCTION_VALUE): Use gen_rtx_REG instead of gen_rtx. (LIBCALL_VALUE): Likewise. * config/ip2k/ip2k.c (mdr_try_propagate_clr_sequence): Use gen_rtx_CC0 instead of gen_rtx. * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use gen_rtx_fmt_e and gen_rtx_fmt_ee instead of gen_rtx. (m68hc11_expand_compare): Use gen_rtx_fmt_ee instead of gen_rtx. (m68hc11_emit_logical): Likewise. From-SVN: r77162
2004-02-03alpha.c, [...]: Use const0_rtx instead of GEN_INT (0).Kazu Hirata1-3/+3
* config/alpha/alpha.c, config/arm/arm.c, config/c4x/c4x.c, config/fr30/fr30.md, config/frv/frv.c, config/frv/frv.md, config/h8300/h8300.c, config/ia64/ia64.c, config/ip2k/ip2k.md, config/m32r/m32r.md, config/m68hc11/m68hc11.c, config/mips/mips.md, config/mmix/mmix.c, config/mn10300/mn10300.c, config/mn10300/mn10300.md, config/ns32k/ns32k.c, config/pa/pa.md, config/pdp11/pdp11.c, config/rs6000/altivec.md, config/s390/s390.c, config/s390/s390.h, config/s390/s390.md, config/sh/sh.c, config/sh/sh.h, config/sh/sh.md, config/stormy16/stormy16.c: Use const0_rtx instead of GEN_INT (0). Do the same for other constants that are readily available. From-SVN: r77161
2004-02-01arm.c, [...]: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (".Kazu Hirata3-239/+239
* config/arm/arm.c, config/arm/arm.h, config/arm/arm.md, config/arm/linux-gas.h, config/arm/netbsd-elf.h, config/arm/netbsd.h, config/arm/pe.c, config/avr/avr.c, config/avr/avr.h, config/avr/avr.md, config/c4x/c4x.h, config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.c, config/frv/frv.h, config/ip2k/ip2k.c, config/iq2000/iq2000.c, config/iq2000/iq2000.h, config/m32r/m32r.c, config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md, config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md, config/mips/mips.c, config/ns32k/ns32k.h, config/ns32k/ns32k.md, config/rs6000/rs6000.c, config/s390/s390.c, config/s390/s390.md, config/sparc/sparc.c, config/v850/v850.c, config/xtensa/xtensa.h, config/xtensa/xtensa.md: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (". From-SVN: r77080
2004-01-30alpha.c: Remove mentions of deprecates macros in comments...Kazu Hirata1-0/+8
* 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-25m68hc11.c (TARGET_STRUCT_VALUE_RTX): New.Kazu Hirata2-18/+28
* config/m68hc11/m68hc11.c (TARGET_STRUCT_VALUE_RTX): New. (TARGET_RETURN_IN_MEMORY): Likewise. (m68hc11_struct_value_rtx): Likewise. (m68hc11_return_in_memory): Likewise. * config/m68hc11/m68hc11.h: Remove a commented-out definition of PROMOTE_PROTOTYPES. (RETURN_IN_MEMORY): Remove. (STRUCT_VALUE_REGNUM): Likewise. From-SVN: r76571
2003-12-13vxlib.c: Fix comment typos.Kazu Hirata1-1/+1
* 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-10-27m68hc11.c: Convert to ISO C90.Stephane Carrez2-388/+240
* config/m68hc11/m68hc11.c: Convert to ISO C90. * config/m68hc11/m68hc11-protos.h: Likewise. From-SVN: r72981
2003-10-14config.gcc, [...]: Replace uses of target_alias with target_noncanonical.Nathanael Nerode1-2/+2
gcc: * config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of target_alias with target_noncanonical. ada: * Make-lang.in: Replace uses of $(target_alias) with $(target_noncanonical). * ada/Makefile.in: Remove unused mention of $(target_alias). cp: * Make-lang.in: Replace uses of $(target_alias) with $(target_noncanonical). java: * Make-lang.in: Replace uses of $(target_alias) with $(target_noncanonical). From-SVN: r72487
2003-10-13Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o with ↵Zack Weinberg1-2/+1
min-insn-modes.o. * Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o with min-insn-modes.o. (STAGESTUFF): Add min-insn-modes.c. (genobjs): Add genmodes.o. (print-rtl.o, print-rtl1.o): Depend on $(TM_P_H). (insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h. (min-insn-modes.c, min-insn-modes.o): New rules. (s-modes): Also generate min-insn-modes.c. ($(BUILD_PREFIX_1)insn-modes.o): Kill. * genmodes.c (struct mode_data): Add format field. (blank_mode, validate_mode, complete_mode): Update to match. (make_scalar_mode): Separate into make_int_mode and make_float_mode. (_SCALAR_MODE): Kill. (FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument. (emit_insn_modes_c_header): Adjust. (emit_min_insn_modes_c_header, emit_real_format_for_mode) (emit_min_insn_modes_c): New functions. (emit_insn_modes_c): Call emit_real_format_for_mode. (main): Add -m option to generate min-insn-modes.c. * machmode.h: Update documentation. Add format argument to all uses of FLOAT_MODE. * real.c: Don't define real_format_for_mode here. * dwarfout.c: Move default definition of PRINT_REG... * defaults.h: ...here. * print-rtl.c: Include tm_p.h. (DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names): Kill. (print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG. But surround this entire block with #ifndef GENERATOR_FILE. * regclass.c: Unconditionally define reg_names. * config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h Don't define DEBUG_REGISTER_NAMES. * config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in redefinition of REGISTER_NAMES. * config/i386/i386.h: Don't define DEBUG_PRINT_REG. * combine.c: Change all preprocessor conditionals on EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit for clarity. * genopinit.c: Remove mention of EXTRA_CC_MODES in comment. * configure.in: Don't define EXTRA_CC_MODES. * configure, config.in: Regenerate. * doc/tm.texi: Remove documentation of EXTRA_CC_MODES. * config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c: May assume that GET_MODE_CLASS is accurate for extra CC modes at all times. * config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct number of arguments to aggregate_value_p. * genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New. * machmode.def: Explain ARCH-modes.def. Document RESET_FLOAT_FORMAT. Improve commentary on various mode clusters. Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF, XF, or TF modes here. Remove backward-compatibility definition of CC. * config/alpha/alpha-modes.def: New file; define TF mode. * config/arc/arm-modes.def: Define XF mode. * config/c4x/c4x-modes.def: Define QF and HF modes. Unset float format for SF and DF modes. * config/dsp16xx/dsp16xx-modes.def: New file; define HF mode. * config/i386/i386-modes.def: Define XF and TF modes. * config/i960/i960-modes.def: Define TF mode. * config/ia64/ia64-modes.def: Define TF and OI modes. * config/m68k/m68k-modes.def: New file; define XF mode. * config/mips/mips-modes.def: New file; define TF mode, reset formats for SF and DF modes. * config/pa/pa-modes.def: Define TF mode. * config/rs6000/rs6000.c: Define TF and PSI modes. * config/s390/s390-modes.def: Define OI mode. * config/sh/sh-modes.def: New file; define PSI mode. * config/sparc/sparc-modes.def: Define TF mode. * config/vax/vax-modes.def: New file; reset formats for SF and DF modes. * config/c4x/c4x.c (c4x_override_options): No need to mess with real_format_for_mode or set REAL_MODE_FORMATs. (c4x_immed_int_constant): Don't apply GET_MODE_CLASS to rtx variable. * config/i386/i386.c (override_options): No need to set REAL_MODE_FORMATs here. * config/i960/i960.c (i960_initialize): Likewise. * config/m68k/m68k.c (m68k_override_options): Likewise. * config/ia64/ia64.c (ia64_override_options): Set REAL_MODE_FORMAT for TFmode only if not the default. * config/mips/mips.c (override_options): Likewise. * config/vax/vax.c (override_optionms): Set REAL_MODE_FORMAT for DFmode only if not the default. * config/i370/i370.h (RET_REG): Don't consider TFmode. * config/m68hc11/m68hc11.c (print_operand): Don't consider XFmode. * config/dsp16xx/dsp16xx.c (hard_regno_mode_ok): #if 0 out use of modes that don't appear anywhere in the machine description. * config/arc/arc-modes.def, config/arm/arm-modes.def * config/c4x/c4x-modes.def, config/frv/frv-modes.def * config/i386/i386-modes.def, config/i960/i960-modes.def * config/ia64/ia64-modes.def, config/mmix/mmix-modes.def * config/pa/pa-modes.def, config/pdp11/pdp11-modes.def * config/rs6000/rs6000-modes.def, config/s390/s390-modes.def * config/sparc/sparc-modes.def: Convert to new style for declaring extra CC modes. From-SVN: r72440
2003-10-05c-pretty-print.c: Fix comment typos.Kazu Hirata1-1/+1
* c-pretty-print.c: Fix comment typos. * c-pretty-print.h: Likewise. * calls.c: Likewise. * cfgloopmanip.c: Likewise. * cgraphunit.c: Likewise. * cppfiles.c: Likewise. * final.c: Likewise. * function.c: Likewise. * gcov-io.h: Likewise. * gcse.c: Likewise. * genoutput.c: Likewise. * loop.c: Likewise. * postreload.c: Likewise. * reg-stack.c: Likewise. * regmove.c: Likewise. * sched-int.h: Likewise. * sched-rgn.c: Likewise. * simplify-rtx.c: Likewise. * tree-inline.c: Likewise. * config/m68hc11/m68hc11.h: Likewise. * config/mmix/mmix.c: Likewise. * config/mn10300/mn10300.md: Likewise. * config/sh/sh.h: Likewise. From-SVN: r72118
2003-10-04t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is identical to m68hc12 as far as ↵Stephane Carrez1-1/+1
libraries are concerned. * config/m68hc11/t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is identical to m68hc12 as far as libraries are concerned. From-SVN: r72100
2003-10-02target.h (init_libfuncs): New hook.Zack Weinberg2-17/+16
* target.h (init_libfuncs): New hook. * target-def.h: Default TARGET_INIT_BUILTINS and TARGET_INIT_LIBFUNCS to hook_void_void. Add TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER. * builtins.c (default_init_builtins): Delete. * expr.h (default_init_builtins): Delete prototype. * doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST. Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL. Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL, DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL, MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL, and UMODDI3_LIBCALL, * Makefile.in (optabs.o): Depends on target.h. * defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL. * optabs.c: Include target.h. (prepare_float_lib_cmp): No need for #ifdef around use of FLOAT_LIB_COMPARE_RETURNS_BOOL. (set_optab_libfunc): New function. (init_optabs): Delete use of all *_LIBCALL defines. Call targetm.init_libfuncs not INIT_TARGET_OPTABS. * optabs.h: Prototype set_optab_libfunc. * config.gcc: Remove all references to pa/long_double.h, ia64/hpux_longdouble.h, and gofast.h. (mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file. * config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c * config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c * config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c * config/sparc/sparc.c, config/vax/vax.c: Provide a definition for TARGET_INIT_LIBFUNCS. Where necessary, include optabs.h, libfuncs.h, and/or config/gofast.h. * config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h * config/avr/avr.h, config/cris/cris.h, config/frv/frv.h * config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h * config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h * config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h * config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h * config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h * config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS, INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros. * config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0. Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here. * config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE, HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here. * config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete. * config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC. * config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and SUN_INTEGER_MULTIPLY_64 to 0. * config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and SUN_INTEGER_MULTIPLY_64 to 1. * config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and SUN_INTEGER_MULTIPLY_64 to 0. * config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h: Define US_SOFTWARE_GOFAST. * config/vax/vax.h: Default TARGET_ELF to 0. * config/vax/elf.h: Redefine TARGET_ELF to 1. * config/gofast.h: Don't define any macros here. Provide one static function, gofast_maybe_init_libfuncs, which does what INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST is already defined. Do not clear negation libfuncs. Do not mess with HFmode, XFmode, or TFmode libfuncs. * config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME. From-SVN: r72009
2003-09-27GNU CC -> GCCKelley Cook6-22/+22
From-SVN: r71850
2003-09-15expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.Kazu Hirata1-8/+2
* expr.h (DEFAULT_FUNCTION_ARG_PADDING): New. (FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING. * config/ia64/ia64.c (ia64_hpux_function_arg_padding): Likewise. * config/m68hc11/m68hc11.c (m68hc11_function_arg_padding): Likewise. * config/rs6000/rs6000.c (function_arg_padding): Likewise. * config/sparc/sparc.c (function_arg_padding): Likewise. From-SVN: r71406
2003-09-03targhooks.c: New file.DJ Delorie1-1/+1
* targhooks.c: New file. * targhooks.h: New file. * Makefile.in: Add targhooks.o support. (function.o): Depend on$(TARGET_H). (stmt.o): Likewise. (combine.o): Depend on $(TREE_H) and $(TARGET_H). * builtins.c (apply_args_size, expand_builtin_apply_args_1, expand_builtin_apply): Convert to calls.struct_value_rtx hook. (expand_builtin_saveregs): Convert to calls.expand_builtin_saveregs hook. * c-decl.c (start_decl): Handle new calls.promote_prototypes hook here, instead of ... (get_parm_info) ... here. (store_parm_decls_oldstyle): Convert to calls.promote_prototypes hook. (finish_function): Handle calls.promote_prototypes hook here too. * c-typeck.c (convert_arguments): Convert to calls.promote_prototypes hook. (c_convert_parm_for_inlining): Likewise. * calls.c (initialize_argument_information): Convert to calls.promote_function_args hook. (expand_call): Convert to calls.struct_value_rtx, calls.strict_argument_naming, calls.pretend_outgoing_varargs_named, and calls.promote_function_return hooks. Pass fndecl to aggregate_value_p. Initialize CUMULATIVE_ARGS before calling hooks, so they can use that. (emit_library_call_value_1): Likewise. * combine.c (setup_incoming_promotions): Convert to calls.promote_function_args hook. * emit-rtl.c: Convert to calls.struct_value_rtx hook. * expr.c (expand_assignment): Pass call to aggregate_value_p. (expand_expr): Likewise. * expr.h: Remove support for SETUP_INCOMING_VARARGS, STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED, RETURN_IN_MEMORY macro defaults. * final.c (profile_function): Convert to calls.struct_value_rtx hook. * function.c (aggregate_value_p): Accept function type tree as second parameter; try to deduce fntype from it. Convert to calls.return_in_memory hook. (assign_parms): Convert to calls.setup_incoming_varargs, calls.strict_argument_naming, calls.promote_function_args, calls.pretend_outgoing_varargs_named hooks. Pass fndecl to aggregate_value_p. (expand_function_start): Likewise. Convert to calls.struct_value_rtx hook. (expand_function_end): Convert to calls.promote_function_return hook. (allocate_struct_function): Pass fndecl to aggregate_value_p. * hard-reg-set.h: Update comments to new hook names. * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p. * reg-stack.c (stack_result): Likewise. * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete. * stmt.c (expand_value_return): Convert to calls.promote_function_return hook. * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES, TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY, TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS, TARGET_STRICT_ARGUMENT_NAMING, TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS. * target.h: Likewise. * tree.h (aggregate_value_p): Also takes a tree to deduce function attributes from (for target hooks). * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN, PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM, STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING, EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS, STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert to hooks. * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function to aggregate_value_p. * config/arm/arm.c (arm_init_cumulative_args, arm_output_mi_thunk): Likewise. * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter): Likewise. * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue, mips_can_use_return_insn): Likewise. * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise. * config/s390/s390.c (s390_output_mi_thunk): Likewise. * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to aggregate_value_p. * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass function to aggregate_value_p. * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to aggregate_value_p. * config/sh/sh-protos.h (sh_builtin_saveregs): Remove. (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg, sh_function_arg_advance, sh_pass_in_reg_p): New. * config/sh/sh.c (sh_handle_renesas_attribute, sh_promote_prototypes, sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs, sh_setup_incoming_varargs, sh_strict_argument_naming, sh_pretend_outgoing_varargs_named): New decls. (targetm): Add new hooks. (calc_live_regs): Save MACL and MACH if the function has the renesas attribute. (sh_expand_prologue): Support renesas attribute. (sh_builtin_saveregs): Make static. (sh_build_va_list): Support renesas attribute. (sh_va_start): Likewise. (sh_va_arg): Likewise. (sh_promote_prototypes): New. (sh_function_arg): New, moved from sh.h. Support renesas attribute. (sh_function_arg_advance): Likewise. (sh_return_in_memory): Likewise. (sh_strict_argument_naming): Likewise. (sh_pretend_outgoing_varargs_named): Likewise. (sh_struct_value_rtx): New. (sh_attribute): Add renesas attribute. (sh_handle_renesas_attribute): New. (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New. (sh_ms_bitfield_layout_p): Support renesas attribute also. (sh_output_mi_thunk): Pass function to aggregate_value_p. * config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for -mhitachi. (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to target hooks. (sh_args): Add renesas_abi flag. (INIT_CUMULATIVE_ARGS): Set it. Pass fndecl to aggregate_value_p. (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c. (PASS_IN_REG_P): Support renesas attribute. Pass DF and TF on the stack for the renesas abi. (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED, SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS, PROMOTE_PROTOTYPES): Moved to sh.c. * config/sh/sh.md (call): Set call cookie to indicate renesas calls. * decl.c (finish_function): Pass fndecl to aggregate_value_p. * misc.c (default_pass_by_ref): Convert to calls.return_in_memory hook. From-SVN: r71048
2003-07-08m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define as .file/.loc directives ↵Stephane Carrez1-0/+8
are incompatible with linker relaxation. * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define as .file/.loc directives are incompatible with linker relaxation. From-SVN: r69101
2003-07-06h8300.c: Fix comment typos.Kazu Hirata1-1/+1
* config/h8300/h8300.c: Fix comment typos. * config/h8300/h8300.md: Likewise. * config/i386/athlon.md: Likewise. * config/i386/i386.c: Likewise. * config/i386/pentium.md: Likewise. * config/ia64/ia64.c: Likewise. * config/ia64/itanium1.md: Likewise. * config/ia64/itanium2.md: Likewise. * config/m32r/m32r.md: Likewise. * config/m68hc11/m68hc11.c: Likewise. * config/mcore/mcore.c: Likewise. * config/mips/sr71k.md: Likewise. * config/mips/t-iris5-as: Likewise. * config/mmix/mmix.h: Likewise. * config/ns32k/ns32k.h: Likewise. * config/ns32k/NOTES: Fix a typo. From-SVN: r69021
2003-07-03m32r.c: Fix comment typos.Kazu Hirata2-3/+3
* config/m32r/m32r.c: Fix comment typos. * config/m68hc11/m68hc11.c: Likewise. * config/m68hc11/m68hc11.h: Likewise. * config/m68k/m68k.c: Likewise. * config/mcore/mcore.c: Likewise. * config/mcore/mcore.h: Likewise. * config/mcore/mcore.md: Likewise. * config/mips/mips.c: Likewise. * config/mips/mips.h: Likewise. * config/mips/mips.md: Likewise. * config/mips/netbsd.h: Likewise. * config/mn10300/mn10300.c: Likewise. From-SVN: r68876
2003-07-01combine.c (distribute_notes): Don't bother REG_WAS_0.Kazu Hirata1-41/+0
* combine.c (distribute_notes): Don't bother REG_WAS_0. * cse.c (cse_insn): Likewise. * final.c (final_scan_insn): Likewise. * jump.c (duplicate_loop_exit_test): Likewise. * rtl.c (reg_note_name): Remove REG_WAS_0. * rtl.h (REG_WAS_0): Remove. * unroll.c (final_reg_note_copy): Don't bother REG_WAS_0. * config/avr/avr.c (output_movqi): Don't use reg_was_0. (output_movhi): Likewise. (output_movsisf): Likewise. (reg_was_0): Remove. * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't use REG_WAS_0. (m68hc11_gen_movqi): Likewise. * config/vax/vax-protos.h: Remove the prototype for reg_was_0_p. * config/vax/vax.c (follows_p): Remove. (reg_was_0_p): Likewise. * config/vax/vax.md (movsi): Don't use reg_was_0_p. (movhi): Likewise. (movqi): Likewise. * doc/rtl.texi (REG_WAS_0): Remove. From-SVN: r68753
2003-06-28gcse.c (compute_ld_motion_mems): Use INSN_P instead of its definition.Kazu Hirata1-3/+3
* gcse.c (compute_ld_motion_mems): Use INSN_P instead of its definition. (store_killed_in_insn): Likewise. * print-rtl.c (print_rtx): Likewise. * config/frv/frv.c (frv_final_prescan_insn): Likewise. * config/m68hc11/m68hc11.c (dead_register_here): Likewise. (m68hc11_reassign_regs): Likewise. (m68hc11_reorg): Likewise. From-SVN: r68640
2003-06-19target.h (asm_out.file_start, [...]): New hooks.Zack Weinberg3-68/+10
* target.h (asm_out.file_start, file_start_app_off, file_start_file_directive): New hooks. * target-def.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE, TARGET_ASM_FILE_START_APP_OFF, TARGET_ASM_FILE_START): New hook-definition macros. * doc/tm.texi: Document new hooks; remove docs of ASM_FILE_START. * varasm.c (default_file_start): New. * output.h: Prototype it. * toplev.c (init_asm_output): Use targetm.asm_out.file_start. * system.h: Poison ASM_FILE_START. * config/alpha/alpha.c (alpha_write_verstamp): Delete. (alpha_file_start): New, define if !TARGET_ABI_UNICOSMK. (unicosmk_asm_file_start): Rename unicosmk_file_start, make static, take no arguments. (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set as appropriate. * config/alpha/unicosmk.h: Don't define ASM_FILE_START nor TARGET_ASM_FILE_END. Remove reference to ASM_FILE_START in comment. * config/arc/arc.c (arc_asm_file_start): Rename arc_file_start, take no arguments, make static. (TARGET_ASM_FILE_START): Set it. * config/arm/arm.c (aof_file_start): New static function. (TARGET_ASM_FILE_START): Set it, when appropriate. * config/arm/coff.h, config/arm/elf.h: Set TARGET_ASM_FILE_START_APP_OFF to true. * config/avr/avr.c (asm_file_start): Rename avr_file_start, take no arguments, make static. (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set them. * config/c4x/c4x.c (c4x_file_start): New static function. (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set them. * config/cris/cris.c (cris_file_start): New static function. (TARGET_ASM_FILE_START): Set it. * config/dsp16xx/dsp16xx.c (coff_dsp16xx_file_start): Rename dsp16xx_file_start, make static. (luxworks_dsp16xx_file_start): Delete. (TARGET_ASM_FILE_START): Set it. * config/h8300/h8300.c (asm_file_start): Rename h8300_file_start, make static, take no arguments. (TARGET_ASM_FILE_START): Set it. * config/i370/i370.c (i370_file_start): New static function. (TARGET_ASM_FILE_START): Set it. * config/i386/i386.c (x86_file_start): New static function. (TARGET_ASM_FILE_START): Set it. * config/i386/i386.h (X86_FILE_START_VERSION_DIRECTIVE, X86_FILE_START_FLTUSED): New macros, default to false. * config/i386/i386-interix.h: Override X86_FILE_START_FLTUSED to 1. * config/i386/sysv4.h, config/i386/sco5.h: Override X86_FILE_START_VERSION_DIRECTIVE to true. * config/ia64/ia64.c (ia64_file_start): New static function. (TARGET_ASM_FILE_START): Set it. (emit_safe_across_calls): Take no arguments. * config/ia64/ia64.md: Update to match. * config/m32r/m32r.c (m32r_asm_file_start): Rename m32r_file_start, make static, take no arguments. (TARGET_ASM_FILE_START): Set it. * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Rename m68hc11_file_start, make static, take no arguments. (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set. (print_options): Delete. * config/m68k/m68k.c (m68k_hp320_file_start): New static function. (TARGET_ASM_FILE_START_APP_OFF): Set. * config/m68k/hp320.h: Set TARGET_ASM_FILE_START to m68k_hp320_file_start. * config/mips/mips.c (iris6_asm_file_start, mips_asm_file_start): Make static, take no arguments. (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set. * config/mmix/mmix.c (mmix_asm_file_start): Rename mmix_file_start, make static, take no arguments. (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set. * config/mn10300/mn10300.c (asm_file_start): Rename mn10300_file_start, make static, take no arguments. (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set. * config/ns32k/ns32k.c (TARGET_ASM_FILE_START_APP_OFF): Set. * config/pa/pa.c (pa_file_start_level, pa_file_start_space, pa_file_start_file, pa_file_start_mcount, pa_elf_file_start, pa_som_file_start, pa_linux_file_start, pa_hpux64_gas_file_start, pa_hpux64_hpas_file_start): New static functions. * config/pa/elf.h: Set TARGET_ASM_FILE_START to pa_elf_file_start. * config/pa/pa-linux.h: Set TARGET_ASM_FILE_START to pa_linux_file_start. * config/pa/pa64-hpux.h: Set TARGET_ASM_FILE_START to pa_hpux64_gas_file_start or pa_hpux64_hpas_file_start, as appropriate. * config/pa/som.h: Set TARGET_ASM_FILE_START to pa_som_file_start. * config/rs6000/rs6000.c: Include xcoffout.h when TARGET_XCOFF. (rs6000_file_start): Make static, take no arguments. Reset default_cpu under certain conditions. (rs6000_xcoff_file_start): New function. * config/rs6000/rs6000.h (TARGET_ASM_FILE_START): Set. * config/rs6000/xcoff.h (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Override. * config/sh/sh.c (output_file_start): Rename sh_file_start, make static, take no arguments. Merge in old code from sh/elf.h's ASM_FILE_START, conditioned on TARGET_ELF. (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set. * config/sh/sh.c (TARGET_ELF): Define to 0. * config/sh/elf.h (TARGET_ELF): Redefine to 1. * config/v850/v850.c (asm_file_start): Delete. (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set. * config/vax/vax.c (vax_file_start): New static function. (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_APP_OFF): Set. * config/darwin.h: Override ASM_FILE_START_FILE_DIRECTIVE to false. * config/elfos.h, config/svr3.h, config/arm/elf.h, config/arm/pe.h * config/i386/att.h, config/i386/gas.h, config/i386/linux.h * config/i386/sysv4.h, config/i386/sco5.h, config/i960/i960-coff.h * config/m68k/coff.h, config/m68k/hp320.h, config/mcore/mcore-pe.h * config/vax/vaxv.h: Set ASM_FILE_START_FILE_DIRECTIVE to true. * config/darwin.h, config/elfos.h, config/alpha/elf.h * config/alpha/openbsd.h, config/alpha/osf.h, config/alpha/vms.h * config/arc/arc.h, config/arm/aof.h, config/arm/aout.h * config/arm/coff.h, config/arm/elf.h, config/arm/pe.h * config/avr/avr.h, config/c4x/c4x.h, config/cris/cris.h * config/dsp16xx/dsp16xx.h, config/h8300/elf.h, config/h8300/h8300.h * config/i370/i370.h, config/i386/att.h, config/i386/gas.h * config/i386/i386-interix.h, config/i386/linux.h, config/i386/sysv4.h * config/i386/sco5.h, config/i960/i960-coff.h, config/i960/i960.h * config/ia64/ia64.h, config/ia64/sysv4.h, config/m32r/m32r.h * config/m68hc11/m68hc11.h, config/m68k/coff.h, config/m68k/m68k.h * config/mcore/mcore-pe.h, config/mips/iris6.h, config/mips/mips.h * config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h * config/pa/elf.h, config/pa/pa-linux.h, config/pa/pa64-hpux.h * config/pa/som.h, config/pdp11/pdp11.h, config/rs6000/linux64.h * config/rs6000/lynx.h, config/rs6000/xcoff.h, config/sh/elf.h * config/sh/sh.h, config/sparc/sparc.h, config/v850/v850.h * config/vax/vax.h, config/vax/vaxv.h: Don't (re)define ASM_FILE_START. * config/alpha/alpha-protos.h, config/arc/arc-protos.h * config/avr/avr-protos.h, config/dsp16xx/dsp16xx-protos.h * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h * config/m32r/m32r-protos.h, config/m68hc11/m68hc11-protos.h * config/mips/mips-protos.h, config/mmix/mmix-protos.h * config/mn10300/mn10300-protos.h, config/rs6000/rs6000-protos.h * config/sh/sh-protos.h, config/v850/v850-protos.h: Update. * xcoffout.h, config/rs6000/aix.h, config/rs6000/xcoff.h: Remove reference to ASM_FILE_START in comment. * config/arm/aof.h, config/arm/aout.h, config/arm/freebsd.h * config/arm/linux-gas.h, config/arm/netbsd-elf.h * config/arm/netbsd.h: Delete definition of ARM_OS_NAME. From-SVN: r68229
2003-06-16m68hc11.c (m68hc11_rtx_costs): Remove unreachable code.Kazu Hirata1-3/+0
* config/m68hc11/m68hc11.c (m68hc11_rtx_costs): Remove unreachable code. From-SVN: r68036
2003-06-15frv.h: Remove declaration of g_switch_value.Neil Booth1-2/+0
* config/frv/frv.h: Remove declaration of g_switch_value. * config/m32r/m32r.h: Remove declaration of g_switch_value. * config/m68hc11/m68hc11.c: Remove declaration of asm_file_name. From-SVN: r67987
2003-06-10Makefile.in, [...]: Replace "build_canonical" with build, "host_canonical" ↵Nathanael Nerode1-1/+1
with host. * Makefile.in, configure.in, config/m68hc11/t-m68hc11-gas: Replace "build_canonical" with build, "host_canonical" with host. * configure.in: Use GCC_TOPLEV_SUBDIRS. * aclocal.m4: Include ../config/acx.m4. * configure: Regenerate. (ada) * Makefile.in: Replace "host_canonical" with "host" for autoconf substitution. From-SVN: r67691
2003-05-22m68hc11.c: Don't use the `0' flag for asm_fprintf specifiers.Kaveh R. Ghazi1-4/+4
* m68hc11.c: Don't use the `0' flag for asm_fprintf specifiers. * m68k.c: Likewise. * m68k.h: Likewise. From-SVN: r67093
2003-05-17c-common.c, c-common.h (dollars_in_ident): Remove.Neil Booth1-3/+0
* c-common.c, c-common.h (dollars_in_ident): Remove. * c-opts.c (DOLLARS_IN_IDENTIFIERS): Default to true. (c_common_init_options, c_common_decode_option): Set dollars_in_ident. * cpphash.h (warned_dollar): Rename warn_dollars. * cppinit.c (struct lang_flags, lang_defaults, cpp_set_lang) Permit dollars regardless of -std=. (post_options): Set warn_dollars. * cpplex.c (forms_identifier_p): Use warn_dollars. * config/darwin.h, config/alpha/vms.h, config/m68hc11/m68hc11.h: Remove redundant definitions of DOLLARS_IN_IDENTIFIERS. * doc/cpp.texi, doc/cppopts.texi, doc/invoke.texi, doc/tm.texi: Update documentation. testsuite: * gcc.dg/dollar.c: New test. From-SVN: r66911
2003-05-14target-def.h (TARGET_MACHINE_DEPENDENT_REORG): Define.Richard Sandiford3-15/+16
* 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-04-20target.h (encode_section_info): Add new argument carrying the RTL to be ↵Zack Weinberg1-5/+3
modified by the hook. * target.h (encode_section_info): Add new argument carrying the RTL to be modified by the hook. * varasm.c (make_decl_rtl, output_constant_def): Update calls to encode_section_info. (default_encode_section_info): Take and use RTL argument, don't use TREE_CST_RTL or DECL_RTL. * output.h: Update prototype of default_encode_section_info. * config/darwin.h (ASM_DECLARE_OBJECT_NAME) (ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Update calls to encode_section_info. * config/darwin.c, config/arm/arm.c, config/arm/pe.c * config/h8300/h8300.c, config/i386/winnt.c, config/m32r/m32r.c * config/m68hc11/m68hc11.c, config/m88k/m88k.c, config/mcore/mcore.c * config/mips/mips.c, config/mmix/mmix.c, config/pa/pa.c * config/romp/romp.c, config/rs6000/rs6000.c, config/s390/s390.c * config/v850/v850.c (TARGET_ENCODE_SECTION_INFO definitions): Take and use RTL argument, don't use TREE_CST_RTL or DECL_RTL, except for PE dllimport/dllexport. Update calls to default_encode_section_info. * config/darwin-protos.h, config/arm/arm-protos.h, config/i386-protos.h: Update prototypes. * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update. From-SVN: r65859
2003-04-17toplev.c (target_options): Add value field.DJ Delorie1-2/+2
* toplev.c (target_options): Add value field. (set_target_switch): Handle target options with values. * doc/tm.texi: Document how fixed vs variable target options work. * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h, config/c4x/c4x.h, config/cris/aout.h, config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/frv/frv.h, config/i386/i386.h, config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h, config/mips/mips.h, config/mmix/mmix.h, config/pa/pa.h, config/rs6000/rs6000.h, config/rs6000/sysv4.h, config/s390/s390.h, config/sparc/sparc.h, config/v850/v850.h: Add value initializer to target options. From-SVN: r65756
2003-04-12* config/m68hc11/m68hc11-protos.hStephane Carrez3-0/+16
(m68hc11_eq_compare_operator): Declare * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register new predicate. * config/m68hc11/m68hc11.c (m68hc11_eq_compare_operator): New predicate (d_register_operand): Check the operand mode. (hard_addr_reg_operand): Likewise. From-SVN: r65529
2003-04-12m68hc11.md ("decrement_and_branch_until_zero"): New pattern for dbcc/ibcc ↵Stephane Carrez1-0/+260
generation for 68HC12. * config/m68hc11/m68hc11.md ("decrement_and_branch_until_zero"): New pattern for dbcc/ibcc generation for 68HC12. ("doloop_end"): New pattern. ("m68hc12_dbcc_dec_hi"): New pattern for dbeq/dbne. ("m68hc12_dbcc_inc_hi"): New pattern for ibeq/ibne. ("m68hc12_dbcc_dec_qi"): New pattern. ("m68hc12_dbcc_inc_qi"): New pattern. (split): Add split for the above when we can't use dbcc/ibcc due to reloading. (peephole2): Add peephole2 to generate the above when possible. From-SVN: r65527
2003-04-12m68hc11.md ("bitcmpqi" split): No need to test the mode of operand 0.Stephane Carrez1-11/+21
* config/m68hc11/m68hc11.md ("bitcmpqi" split): No need to test the mode of operand 0. (peephole2 optimize const load): Likewise for operand 2. ("*rotlhi3_with_carry"): Change pattern to a const 1 rotate which clobbers CC_REGNUM. ("*rotrhi3_with_carry"): Likewise. (ashift:DI 1 split): Update pattern to create the above rotate. (lshiftrt:DI 1 split): Likewise. From-SVN: r65524
2003-04-12m68hc11.md (SOFT_Z_REGNUM): New constant.Stephane Carrez1-10/+11
* config/m68hc11/m68hc11.md (SOFT_Z_REGNUM): New constant. ("tstqi_z_used" split): Use it. ("cmphi_z_used"): Likewise. ("bitcmpqi_z_used"): Likewise; also use SP_REGNUM constant. ("cmpqi_z_used"): Likewise. From-SVN: r65522
2003-04-12m68hc11.h (TARGET_SWITCHES): Fix -mnominmax option; recognize -mnorelax.Stephane Carrez1-2/+7
* config/m68hc11/m68hc11.h (TARGET_SWITCHES): Fix -mnominmax option; recognize -mnorelax. (reg_class): Add Z_OR_S_REGS to represent soft registers with Z (REG_CLASS_NAMES): Add its name. (REG_CLASS_CONTENTS): Define its content. From-SVN: r65511
2003-04-12larith.asm (memcpy): Use ARG macro to access stack parameters so that ↵Stephane Carrez1-20/+20
offsets are valid for far... * config/m68hc11/larith.asm (memcpy): Use ARG macro to access stack parameters so that offsets are valid for far definition. (__mulsi3): Likewise and use ret to return. (___adddi3, ___subdi3, ___notdi2, ): Don't use it to save the result. From-SVN: r65509
2003-03-31* config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode.Stephane Carrez1-1/+4
From-SVN: r65109
2003-03-31m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0 notes as they are boggus.Stephane Carrez1-4/+8
* config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0 notes as they are boggus. (m68hc11_gen_movqi): Likewise. From-SVN: r65107
2003-03-31m68hc11.c (expand_prologue): For an interrupt handler save the soft ↵Stephane Carrez1-9/+9
registers after the frame pointer so... * config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler save the soft registers after the frame pointer so that gdb can unwind the frame more easily. (expand_epilogue): Likewise in opposite order; allow to use X register as scratch if the return value is by reference. From-SVN: r65104
2003-03-24t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and _return_farStephane Carrez5-84/+216
* config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and _return_far (MULTILIB_OPTIONS): Don't multilib on -mlong-calls. (MULTILIB_EXCEPTIONS): Likewise. * config/m68hc11/m68hc11.md ("call"): Support far calls for 68HC11 by calling some board support routine. ("call_value"): Likewise. ("*return_void"): Likewise for return. ("*return_16bit"): Likewise. ("*return_32bit"): Likewise. * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Generate .far for 68HC11 too. (DWARF2_ADDR_SIZE): Use 4 so that addresses can * config/m68hc11/m68hc11.c (m68hc11_override_options): Accept -mlong-calls for 68HC11. * config/m68hc11/larith.asm (declare_near): New macro. (__premain, ___negsi2, ___one_cmplsi2, ___ashlsi3): Use it. (___ashrsi3, ___lshrsi3, ___lshrhi3, ___lshlhi3): Likewise. (___rotrhi3, ___rotlhi3, ___ashrhi3, ___ashrqi3): Likewise. (___lshlqi3, __divmodhi4, ___mulqi3, ___mulhi3): Likewise. (__mulhi32): Likewise. (ret): Update macro for 68HC11. (__far_trampoline): Implement for 68HC11. (__call_a16, __call_a32, __return_void, __return_16): New support routines for 68HC11 memory bank switching calling support. (__return_32): Likewise. From-SVN: r64825
2003-03-22* config/m68hc11/m68hc11.md ("call_value"): Fix trap check.Stephane Carrez1-1/+1
From-SVN: r64687
2003-03-22m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Fix typo in writing .interrupt command.Stephane Carrez4-11/+83
* config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Fix typo in writing .interrupt command. * config/m68hc11/m68hc11.md ("call"): Look at the symbol to see if it's a far or near function. ("call_value"): Likewise. * config/m68hc11/m68hc11.c (m68hc11_attribute_table): Add far and near attributes. (m68hc11_handle_fntype_attribute): Accept attributes on methods. (m68hc11_override_options): Ignore -mlong-calls for 68HC11. (m68hc11_initial_elimination_offset): Set current_function_far according to attributes. (expand_prologue): Likewise. (trap_handler_symbol): New global to keep track of trap handlers. (m68hc11_encode_section_info): Mark symbol as far if needed; set trap symbol. (m68hc11_is_far_symbol): New function. (m68hc11_is_trap_symbol): New function. * config/m68hc11/m68hc11-protos.h (m68hc11_is_far_symbol): Declare. (m68hc11_is_trap_symbol): Declare. From-SVN: r64685
2003-03-16m68hc11.c (print_operand): Handle 'b' modifier for D register to specify the ↵Stephane Carrez1-4/+57
low part of it, aka B. * config/m68hc11/m68hc11.c (print_operand): Handle 'b' modifier for D register to specify the low part of it, aka B. (m68hc11_gen_movhi): Use REG_WAS_0 note and increment or decrement the register if we are loading 1 or -1 to it; avoid using temp register when moving X/Y to Y/X. (m68hc11_gen_movqi): Likewise. (m68hc11_check_z_replacement): Fix last insn setting for compare case. From-SVN: r64447
2003-03-10m68hc11.h (HARD_REGNO_RENAME_OK): Define.Stephane Carrez3-0/+24
* config/m68hc11/m68hc11.h (HARD_REGNO_RENAME_OK): Define. * config/m68hc11/m68hc11-protos.h (m68hc11_hard_regno_rename_ok): Declare. * config/m68hc11/m68hc11.c (m68hc11_hard_regno_rename_ok): New function for reg rename optimization to avoid using Z and Y registers. From-SVN: r64134
2003-03-10m68hc11.md ("*addhi3_68hc12"): Accept any constant when adding to X and Y ↵Stephane Carrez2-6/+30
since leax/leay are fast. * config/m68hc11/m68hc11.md ("*addhi3_68hc12"): Accept any constant when adding to X and Y since leax/leay are fast. ("*addhi3"): Accept 'I' constraint when adding to address register. ("rotlhi3"): Operand 1 must be a register_operand. (peephole2): New peephole to optimize some adds. * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_P): Use 'I' constraint to represent -2 .. 2 small integer range. From-SVN: r64127
2003-03-10m68hc11.c (m68hc11_gen_rotate): Set carry before each 16-bit rotation.Stephane Carrez1-13/+11
* config/m68hc11/m68hc11.c (m68hc11_gen_rotate): Set carry before each 16-bit rotation. From-SVN: r64125
2003-03-09frv.h: Use TARGET_CPU_CPP_BUILTINS, not CPP_PREDEFINES.Neil Booth1-1/+6
* config/frv/frv.h: Use TARGET_CPU_CPP_BUILTINS, not CPP_PREDEFINES. * config/ip2k/ip2k.h: Similarly. * config/m32r/m32r.h: Similarly. * config/m68hc11/m68hc11.h: Similarly. * config/mn10200/mn10200.h: Similarly. * config/mn10300/mn10300.h: Similarly. * config/pdp11/pdp11.h: Similarly. * config/v850/v850.h: Similarly. * config/rs6000/vxworks.h: Similarly for TARGET_OS_CPP_BUILTINS. * config/v850/retms.h: Similarly for TARGET_OS_CPP_BUILTINS. * config/mips/iris3.h: Remove #if 0 block. From-SVN: r64049
2003-03-05m68hc11.h (PAD_VARARGS_DOWN): Define and return according to va_arg type.Stephane Carrez3-51/+4
* config/m68hc11/m68hc11.h (PAD_VARARGS_DOWN): Define and return according to va_arg type. (EXPAND_BUILTIN_VA_ARG): Remove. * config/m68hc11/m68hc11.c (m68hc11_va_arg): Remove. * config/m68hc11/m68hc11-protos.h (m68hc11_va_arg): Remove. From-SVN: r63859
2003-03-02m68hc11.c (m68hc11_override_options): Don't enable min/max instructions by ↵Stephane Carrez1-1/+1
default as may result in reload errors. * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable min/max instructions by default as may result in reload errors. From-SVN: r63682