1. 22 Mar, 2011 1 commit
    • jsm28's avatar
      * config/arm/arm.opt (mhard-float, msoft-float): Use Alias. · 7e21f84a
      jsm28 authored
      	* config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
      	or -msoft-float here.
      	* config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
      	-msoft-float and -mhard-float.
      	(OPTION_DEFAULT_SPECS): Don't handle -mhard-float and
      	-msoft-float.
      	* config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
      	msoft-float.
      	* config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
      	-msoft-float.
      	(MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
      	* config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
      	not mhard-float.
      	(LIBGCC_SPEC): Don't handle -msoft-float.
      	* config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
      	-mhard-float.
      	* config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
      	msoft-float.
      	* config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
      	-mfloat-abi=*, not -msoft-float and -mhard-float.
      	* config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
      	-msoft-float.
      	* config/a...
      7e21f84a
  2. 29 Jan, 2011 1 commit
  3. 22 Nov, 2010 1 commit
    • froydnj's avatar
      * target.def (conditional_register_usage): Define. · b2d7ede1
      froydnj authored
      	* reginfo.c (init_reg_sets_1): Call
      	targetm.conditional_register_usage.
      	* system.h (CONDITIONAL_REGISTER_USAGE): Poison.
      	* doc/tm.texi.in (CONDITIONAL_REGISTER_USAGE): Adjust language
      	for making it a hook.
      	* doc/tm.texi: Regenerate.
      	* config/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Move logic...
      	* config/alpha/alpha.c (alpha_conditional_register_usage): ...here.
      	New function.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): Move logic...
      	* config/arc/arc.c (arc_conditional_register_usage): ...here.
      	New function.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move logic...
      	* config/arm/arm.c (arm_conditional_register_usage): ...here.
      	New function.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/bfin/bfin.h (CONDITIONAL_REGISTER_USAGE): Delete.
      	* config/bfin/bfin-protos.h (conditional_register_usage): Delete.
      	* config/bfin/bfin.c (conditional_register_usage): Move code into...
      	(bfin_conditional_register_usage): ...here.  New function.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/cris/cris.h (CONDITIONAL_REGISTER_USAGE): Delete.
      	* config/cris/cris-protos.h (cris_conditional_register_usage): Delete.
      	* config/cris/cris.c (cris_conditional_register_usage): Make static.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/fr30/fr30.h (FIXED_REGISTERS): Adjust comment.
      	* config/frv/frv.h (CONDITIONAL_REGISTER_USAGE): Delete.
      	* config/frv/frv-protos.h (frv_conditional_register_usage): Delete.
      	* config/frv/frv.c (frv_conditional_register_usage): Make static.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Move logic...
      	* config/h8300/h8300.c (h8300_conditional_register_usage): ...here.
      	New function.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Delete.
      	* config/i386/i386-protos.h (ix86_conditional_register_usage): Delete.
      	* config/i386/i386.c (ix86_conditional_register_usage): Make static.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/m32c/m32c.h (CONDITIONAL_REGISTER_USAGE): Delete.
      	* config/m32c/m32c-protos.h (m32c_conditional_register_usage): Delete.
      	* config/m32c/m32c.c (m32c_conditional_register_usage): Make static.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Move logic...
      	* config/m32r/m32r.c (m32r_conditional_register_usage): ...here.
      	New function.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/m68hc11/m68hc11.h (CONDITIONAL_REGISTER_USAGE): Delete.
      	* config/m68hc11/m68hc11-protos.h (m68hc11_conditional_register_usage):
      	Delete.
      	* config/m68hc11/m68hc11.c (m68hc11_conditional_register_usage): Make
      	static.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/mep/mep.h (CONDITIONAL_REGISTER_USAGE): Delete.
      	* config/mep/mep-protos.h (mep_conditional_register_usage): Delete.
      	* config/mep/mep.c (mep_conditional_register_usage): Make static.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Delete.
      	* config/mips/mips-protos.h (mips_conditional_register_usage): Delete.
      	* config/mips/mips.c (mips_conditional_register_usage): Make static.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/mmix/mmix.h (CONDITIONAL_REGISTER_USAGE): Delete.
      	* config/mmix/mmix-protos.h (mmix_conditional_register_usage): Delete.
      	* config/mmix/mmix.c (mmix_conditional_register_usage): Make static.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Move logic...
      	* config/mn10300/mn10300.c (mn10300_conditional_register_usage):
      	...here.  New function.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Move logic...
      	* config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): ...with this...
      	* config/pa/pa.c (pa_conditional_register_usage): ...here.
      	New function.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/pdp11/pdp11.h (CONDITIONAL_REGISTER_USAGE): Move logic...
      	* config/pdp11/pdp11.c (pdp11_conditional_register_usage): ...here.
      	New function.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Delete.
      	* config/rs6000/rs6000-protos.h (rs6000_conditional_register_usage):
      	Delete.
      	* config/rs6000/rs6000.c (rs6000_conditional_register_usage): Make
      	static.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/rx/rx.h (CONDITIONAL_REGISTER_USAGE): Delete.
      	* config/rx/rx-protos.h (rx_conditional_register_usage): Delete.
      	* config/rx/rx.c (rx_conditional_register_usage): Make static.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Delete.
      	* config/s390/s390-protos.h (s390_conditional_register_usage): Delete.
      	* config/s390/s390.c (s390_conditional_register_usage): Make static.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/score/score.h (CONDITIONAL_REGISTER_USAGE): Move logic...
      	* config/score/score.c (score_conditional_register_usage): ...here.
      	New function.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Move logic...
      	* config/sh/sh.c (sh_conditional_register_usage): ...here.
      	New function.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Move logic...
      	* config/sparc/sparc.c (sparc_conditional_register_usage): ...here.
      	New function.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/spu/spu.h (CONDITIONAL_REGISTER_USAGE): Delete.
      	* config/spu/spu-protos.h (spu_conditional_register_usage): Delete.
      	* config/spu/spu.c (spu_conditional_register_usage): Make static.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      	* config/v850/v850.h (CONDITIONAL_REGISTER_USAGE): Move logic...
      	* config/v850/v850.c (v850_conditional_register_usage): ...here.
      	New function.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167020 138bc75d-0d04-0410-961f-82ee72b054a4
      b2d7ede1
  4. 21 Nov, 2010 1 commit
    • jsm28's avatar
      * doc/tm.texi.in (HANDLE_SYSV_PRAGMA, · 3e0e49f2
      jsm28 authored
      	HANDLE_PRAGMA_PACK_PUSH_POP): Remove.
      	(HANDLE_PRAGMA_PACK_WITH_EXPANSION): Don't refer to
      	HANDLE_SYSV_PRAGMA.
      	* doc/tm.texi: Regenerate.
      	* system.h (HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_SYSV_PRAGMA,
      	HANDLE_PRAGMA_WEAK): Poison.
      	* config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Don't define.
      	* config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't
      	define.
      	* config/alpha/osf5.h (HANDLE_SYSV_PRAGMA): Don't define.
      	* config/alpha/vms.h (HANDLE_SYSV_PRAGMA): Don't define.
      	* config/arm/arm.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
      	* config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
      	* config/cris/cris.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
      	* config/darwin.h (HANDLE_SYSV_PRAGMA): Don't define.
      	(HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
      	* config/elfos.h (HANDLE_SYSV_PRAGMA): Don't define.
      	* config/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
      	* config/frv/frv.h (HANDLE_SYSV_PRAGMA): Don't define.
      	* config/i386/cygming.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't
      	define.
      	* config/i386/djgpp.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
      	* config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Don't define.
      	(HANDLE_PRAGMA_WEAK): Don't undefine.
      	* config/i386/netware.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't
      	define.
      	* config/i386/vxworks.h (HANDLE_SYSV_PRAGMA): Don't define.
      	* config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
      	* config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Don't define.
      	* config/interix.h (HANDLE_SYSV_PRAGMA): Don't define.
      	(HANDLE_PRAGMA_WEAK): Don't undefine.
      	* config/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
      	* config/m32r/linux.h (HANDLE_SYSV_PRAGMA): Don't define.
      	(HANDLE_PRAGMA_PACK): Don't undefine.
      	* config/m32r/m32r.h (HANDLE_SYSV_PRAGMA): Don't undefine.
      	* config/mep/mep.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
      	* config/mips/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
      	* config/mips/sde.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
      	* config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Don't define.
      	* config/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
      	(HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
      	* config/openbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
      	* config/pa/pa-hpux.h (HANDLE_SYSV_PRAGMA): Don't define.
      	(HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
      	* config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Don't define.
      	* config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't
      	define.
      	* config/rx/rx.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
      	* config/score/elf.h (HANDLE_SYSV_PRAGMA): Don't define.
      	* config/spu/spu.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
      	* config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Don't define.
      	* config/xtensa/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
      
      c-family:
      	* c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
      	HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
      	HANDLE_PRAGMA_VISIBILITY.
      	* c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
      	HANDLE_PRAGMA_VISIBILITY): Don't define.
      	(HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
      
      cp:
      	* name-lookup.c (handle_namespace_attrs): Don't check
      	HANDLE_PRAGMA_VISIBILITY.
      	* parser.c (cp_parser_namespace_definition): Don't check
      	HANDLE_PRAGMA_VISIBILITY.
      
      testsuite:
      	* g++.dg/cpp/_Pragma1.C: Test for all non-Solaris targets.
      	* gcc.dg/cpp/_Pragma6.c: Test for all non-Solaris targets.
      	* gcc.dg/pack-test-1.c: Test for all non-default_packed targets.
      	* gcc.dg/pack-test-2.c: Test for all targets.
      	* gcc.dg/pragma-align.c: Test for all targets.
      	* gcc.dg/pragma-pack-4.c: Do not skip for AVR.
      	* gcc.dg/ucnid-10.c: Test for all targets.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166992 138bc75d-0d04-0410-961f-82ee72b054a4
      3e0e49f2
  5. 16 Nov, 2010 1 commit
    • froydnj's avatar
      * builtins.c (std_gimplify_va_arg_expr): Use · bd99ba64
      froydnj authored
      	targetm.calls.function_arg_boundary.
      	* function.c (assign_parms, locate_and_pad_parm): Likewise.
      	* calls.c (struct arg_data): Update comment.
      	* defaults.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* target.def (function_arg_boundary): Define.
      	* targhooks.h (default_function_arg_boundary): Declare.
      	* targhooks.c (default_function_arg_boundary): Define.
      	* doc/tm.texi.in (FUNCTION_ARG_PADDING): Use
      	TARGET_FUNCTION_ARG_BOUNDARY.
      	(FUNCTION_ARG_BOUNDARY): Delete.
      	(TARGET_FUNCTION_ARG_BOUNDARY): New.
      	* doc/tm.texi: Regenerate.
      	* system.h (FUNCTION_ARG_BOUNDARY): Poison.
      	* config/arc/arc.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/arc/arc.c (arc_function_arg_boundary): Define.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/arm/arm.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/arm/arm-protos.h (arm_needs_doubleword_align): Delete.
      	* config/arm/arm.c (arm_needs_doubleword_align): Make static.
      	(arm_function_arg_boundary): Define.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/frv/frv.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/frv/frv-protos.h (frv_function_arg_boundary): Delete.
      	* config/frv/frv.c (frv_function_arg_boundary): Make static.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/i386/i386.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/i386/i386-protos.h (ix86_function_arg_boundary): Delete.
      	* config/i386/i386.c (ix86_function_arg_boundary): Make static.
      	(ix86_compat_function_arg_boundary): Take and return unsigned int.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/ia64/ia64-protos.h (ia64_function_arg_boundary): Delete.
      	* config/ia64/ia64.c (ia64_function_arg_boundary): Make static.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/m32c/m32c.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/m32c/m32c.c (m32c_function_arg_boundary): Define.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/m32r/m32r.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/mcore/mcore.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/mcore/mcore.c (mcore_function_arg_boundary): Define.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/mips/mips-protos.h (mips_function_arg_boundary): Delete.
      	* config/mips/mips.c (mips_function_arg_boundary): Make static.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/pa/pa.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/pa/pa.c (pa_function_arg_boundary): Define.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/picochip/picochip.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/picochip/picochip-protos.h
      	(picochip_get_function_arg_boundary): Delete.
      	* config/picochip/picochip.c (picochip_get_function_arg_boundary):
      	Rename to...
      	(picochip_function_arg_boundary): ...this.  Make static.
      	(picochip_function_arg, picochip_arg_partial_bytes): Adjust.
      	(picochip_arg_advance): Adjust.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/rs6000/rs6000.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/rs6000/rs6000-protos.h (function_arg_boundary): Delete.
      	* config/rs6000/rs6000.c (function_arg_boundary): Rename to...
      	(rs6000_function_arg_boundary): ...this.  Make static.
      	(rs6000_parm_start, rs6000_gimplify_va_arg): Adjust.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/rx/rx.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/rx/rx.c (rx_function_arg_boundary): Define.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/sparc/sparc.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/sparc/sparc.c (sparc_function_arg_boundary): Define.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      	* config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Delete.
      	* config/xtensa/xtensa-protos.h (function_arg_boundary): Delete.
      	* config/xtensa/xtensa.c (function_arg_boundary): Rename to...
      	(xtensa_function_arg_boundary): ...this.  Make static.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166803 138bc75d-0d04-0410-961f-82ee72b054a4
      bd99ba64
  6. 23 Oct, 2010 1 commit
    • froydnj's avatar
      gcc/ · f6e5e456
      froydnj authored
      	* cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
      	__BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__, __ORDER_BIG_ENDIAN__, and
      	__ORDER_PDP_ENDIAN__.
      	* libgcc2.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	(struct DWstruct): Define based on __BYTE_ORDER__.
      	* config/fixed-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	(struct INTstruct): Define based on __BYTE_ORDER__.
      	* config/dfp-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	(LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
      	* system.h (LIBGCC2_WORDS_BIG_ENDIAN): Poison identifier.
      	* config/arc/arc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/arm/arm.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/ia64/ia64.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/iq2000/iq2000.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/lm32/lm32.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/m32r/m32r.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/mcore/mcore.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/mep/mep.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/mips/mips.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/rx/rx.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/score/score.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/sh/sh.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/sparc/sparc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* doc/tm.texi.in (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* doc/tm.texi: Regenerate.
      	* doc/cpp.texi (__BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__): Document.
      	(__ORDER_BIG_ENDIAN__, __ORDER_PDP_ENDIAN__): Likewise.
      
      libdecnumber/
      	* dconfig.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	(LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
      
      libgcc/
      	* config/libbid/bid_gcc_intrinsics.h (LIBGCC2_WORDS_BIG_ENDIAN):
      	Delete.
      	(LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165881 138bc75d-0d04-0410-961f-82ee72b054a4
      f6e5e456
  7. 22 Oct, 2010 1 commit
    • jsm28's avatar
      * target.h (enum opt_levels, struct default_options): New. · c17f64cc
      jsm28 authored
      	* target.def (handle_ofast): Remove hook.
      	(target_option.optimization): Change to
      	target_option.optimization_table.
      	* doc/tm.texi.in (TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	(CAN_DEBUG_WITHOUT_FP): Remove.
      	* doc/tm.texi: Regenerate.
      	* opts.c (maybe_default_option, maybe_default_options,
      	default_options_table): New.
      	(default_options_optimization): Take extra parameters.  Don't
      	assert that global_options and global_options_set are in use.  Use
      	maybe_default_options.
      	(decode_options): Pass extra parameters to
      	default_options_optimization.
      	* common.opt (falign-loops): Use value 0 with Var.
      	(frerun-cse-after-loop, ftree-ter): Remove Init.
      	* system.h (CAN_DEBUG_WITHOUT_FP, TARGET_HANDLE_OFAST,
      	TARGET_OPTION_OPTIMIZATION): Remove.
      	* targhooks.c (empty_optimization_table): New.
      	* targhooks.h (empty_optimization_table): Declare.
      	* toplev.c (process_options): Don't set flag_rerun_cse_after_loop.
      	* config/alpha/alpha.c (alpha_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/alpha/alpha.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/arm/arm.c (arm_option_optimization: Change to
      	arm_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/arm/arm.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/avr/avr.c (avr_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/avr/avr.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/cris/cris.c (cris_option_optimization): Change to
      	cris_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/crx/crx.c (crx_option_optimization): Change to
      	crx_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/crx/crx.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/fr30/fr30.c (fr30_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/fr30/fr30.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/frv/frv.c (frv_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/frv/frv.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/h8300/h8300.c (h8300_option_optimization): Change to
      	h8300_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/h8300/h8300.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/i386/i386.c (ix86_option_optimization): Change to
      	ix86_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/i386/sol2-10.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define
      	as initializer.
      	* config/ia64/ia64.c (ia64_option_optimization): Change to
      	ia64_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/ia64/ia64.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/ia64/vms.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define as
      	initializer.
      	* config/iq2000/iq2000.c (iq2000_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/iq2000/iq2000.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/lm32/lm32.c (lm32_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/lm32/lm32.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/m32r/m32r.c (m32r_option_optimization): Change to
      	m32r_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/m32r/m32r.h (SUBTARGET_OPTIMIZATION_OPTIONS,
      	CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/mcore/mcore.c (mcore_option_optimization): Change to
      	mcore_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/mep/mep.c (mep_option_optimization): Change to
      	mep_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/mep/mep.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/microblaze/microblaze.c
      	(microblaze_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/microblaze/microblaze.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/mips/mips.c (mips_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/mips/mips.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/mmix/mmix.c (mmix_option_optimization): Change to
      	mmix_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/mmix/mmix.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/mn10300/mn10300.c (mn10300_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/mn10300/mn10300.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/pa/pa.c (pa_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/pa/pa.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/pdp11/pdp11.c (pdp11_option_optimization): Change to
      	pdp11_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/picochip/picochip.c (picochip_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/picochip/picochip.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/rs6000/rs6000.c (rs6000_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/rs6000/rs6000.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/rx/rx.c (rx_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/rx/rx.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/s390/s390.c (s390_option_optimization): Change to
      	s390_option_optimization_table.
      	(s390_option_override): Update comment.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/s390/s390.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/score/score.c (score_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/score/score.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/sh/sh.c (sh_option_optimization): Change to
      	sh_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	(sh_option_override): Set MASK_SAVE_ALL_TARGET_REGS here.
      	(sh_option_override, expand_block_move, multcosts, find_barrier,
      	barrier_align): Use optimize_size instead of TARGET_SMALLCODE.
      	* config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	(LOOP_ALIGN, TRAMPOLINE_ALIGNMENT, MOVE_BY_PIECES_P,
      	STORE_BY_PIECES_P, SH_DYNAMIC_SHIFT_COST): Use optimize_size
      	instead of TARGET_SMALLCODE.
      	* config/sh/sh.opt (mspace): Make into an alias for -Os.
      	* config/sparc/sparc.c (sparc_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/sparc/sparc.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/stormy16/stormy16.c (xstorym16_option_optimization_table,
      	TARGET_OPTION_OPTIMIZATION_TABLE): New.
      	* config/stormy16/stormy16.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/v850/v850.c (v850_option_optimization): Change to
      	v850_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/v850/v850.h (CAN_DEBUG_WITHOUT_FP): Remove.
      	* config/xtensa/xtensa.c (xtensa_option_optimization): Change to
      	xtensa_option_optimization_table.
      	(TARGET_OPTION_OPTIMIZATION): Change to
      	TARGET_OPTION_OPTIMIZATION_TABLE.
      	* config/xtensa/xtensa.h (CAN_DEBUG_WITHOUT_FP): Remove.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165823 138bc75d-0d04-0410-961f-82ee72b054a4
      c17f64cc
  8. 13 Oct, 2010 1 commit
    • jules's avatar
      gcc/ · 55a0d64c
      jules authored
      	* config/arm/arm.h (REG_CLASS_CONTENTS): Remove soft frame pointer
      	from CORE_REGS and GENERAL_REGS classes.
      	* config/arm/arm.md (*thumb1_movsi_insn): Ignore all parts of
      	final constraint for register preferencing.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165424 138bc75d-0d04-0410-961f-82ee72b054a4
      55a0d64c
  9. 12 Oct, 2010 1 commit
  10. 29 Sep, 2010 1 commit
    • jsm28's avatar
      gcc: · 5ae82d58
      jsm28 authored
      	* optc-gen.awk: Generate global_options initializer instead of
      	individual variables.  Add x_ prefix to names of structure
      	members.
      	* opth-gen.awk: Generate gcc_options structure.  Add x_ prefix to
      	names of structure members.
      	* doc/tm.texi.in (HARD_FRAME_POINTER_IS_FRAME_POINTER,
      	HARD_FRAME_POINTER_IS_ARG_POINTER): Document.
      	* doc/tm.texi: Regenerate.
      	* alias.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
      	* builtins.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
      	* c-parser.c (disable_extension_diagnostics,
      	restore_extension_diagnostics): Update names of cpp_options
      	members.
      	* combine.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
      	* common.opt (fcompare-debug-second): Don't use Var.
      	* config/alpha/alpha.h (target_flags): Remove.
      	* config/arm/arm.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
      	HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
      	* config/bfin/bfin.h (target_flags): Remove.
      	* config/cris/cris.h (target_flags): Remove.
      	* config/i386/i386-c.c (ix86_pragma_target_parse): Update names of
      	cl_target_option members.
      	* config/i386/i386.c (ix86_force_align_arg_pointer): Remove.
      	(ix86_function_specific_print, ix86_valid_target_attribute_tree,
      	ix86_can_inline_p): Update names of cl_target_option members.
      	* config/i386/i386.h (ix86_isa_flags): Remove.
      	* config/lm32/lm32.h (target_flags): Remove.
      	* config/mcore/mcore.h (mcore_stack_increment): Remove.
      	* config/mcore/mcore.md (addsi3): Remove extern declaration of
      	flag_omit_frame_pointer.
      	* config/mep/mep.h (target_flags): Remove.
      	* config/mips/mips.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
      	HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
      	* config/mmix/mmix.h (target_flags): Remove.
      	* config/rs6000/rs6000.h (rs6000_xilinx_fpu, flag_pic,
      	flag_expensive_optimizations): Remove.
      	* config/s390/s390.h (flag_pic): Remove.
      	* config/score/score-conv.h (target_flags): Remove.
      	* config/sh/sh.h (sh_fixed_range_str): Remove.
      	* config/spu/spu.h (target_flags, spu_fixed_range_string): Remove.
      	* dbxout.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
      	* df-scan.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
      	* diagnostic.c (diagnostic_initialize): Update names of
      	diagnostic_context members.
      	* diagnostic.h (diagnostic_context): Rename inhibit_warnings and
      	warn_system_headers.
      	(diagnostic_report_warnings_p): Update for new names.
      	* dwarf2out.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
      	* emit-rtl.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER and
      	HARD_FRAME_POINTER_IS_ARG_POINTER.
      	* flags.h (flag_compare_debug): Declare.
      	* ira.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
      	* opts.c (flag_compare_debug): Define.
      	(common_handle_option): Update names of diagnostic_context
      	members.  Handle -fcompare-debug-second.
      	(fast_math_flags_struct_set_p): Update names of cl_optimization
      	members.
      	* reginfo.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
      	* regrename.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
      	* reload.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
      	* reload1.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
      	* resource.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
      	* rtl.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
      	HARD_FRAME_POINTER_IS_ARG_POINTER): Define and use.
      	* sel-sched.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
      	* stmt.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
      
      gcc/c-family:
      	* c-common.c (c_cpp_error): Update names of diagnostic_context
      	members.
      	* c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
      	cl_optimization members.
      	* c-opts.c (warning_as_error_callback, c_common_handle_option,
      	sanitize_cpp_opts, finish_options): Update names of cpp_options
      	members.
      
      gcc/fortran:
      	* cpp.c (cpp_define_builtins): Update names of gfc_option_t
      	members.
      	(gfc_cpp_post_options): Update names of cpp_options members.
      	(cb_cpp_error): Update names of diagnostic_context members.
      	* f95-lang.c (gfc_init_builtin_functions): Update names of
      	gfc_option_t members.
      	* gfortran.h (gfc_option_t): Rename warn_conversion and
      	flag_openmp.
      	* intrinsic.c (gfc_convert_type_warn): Update names of
      	gfc_option_t members.
      	* options.c (gfc_init_options, gfc_post_options, set_Wall,
      	gfc_handle_option): Update names of gfc_option_t members.
      	* parse.c (next_free, next_fixed): Update names of gfc_option_t
      	members.
      	* scanner.c (pedantic): Remove extern declaration.
      	(skip_free_comments, skip_fixed_comments, include_line): Update
      	names of gfc_option_t members.
      	* trans-decl.c (gfc_generate_function_code): Update names of
      	gfc_option_t members.
      
      gcc/java:
      	* java-tree.h (flag_filelist_file, flag_assert, flag_jni,
      	flag_force_classes_archive_check, flag_redundant, flag_newer,
      	flag_use_divide_subroutine, flag_use_atomic_builtins,
      	flag_use_boehm_gc, flag_hash_synchronization,
      	flag_check_references, flag_optimize_sci, flag_indirect_classes,
      	flag_indirect_dispatch, flag_store_check,
      	flag_reduced_reflection): Remove.
      	* jcf-dump.c (flag_newer): Remove.
      	* jcf.h (quiet_flag): Remove.
      	* parse.h (quiet_flag): Remove.
      
      libcpp:
      	* include/cpplib.h (cpp_options): Rename warn_deprecated,
      	warn_traditional, warn_long_long and pedantic.
      	* directives.c (directive_diagnostics, _cpp_handle_directive):
      	Update names of cpp_options members.
      	* expr.c (cpp_classify_number, eval_token): Update names of
      	cpp_options members.
      	* init.c (cpp_create_reader, post_options): Update names of
      	cpp_options members.
      	* internal.h (CPP_PEDANTIC, CPP_WTRADITIONAL): Update names of
      	cpp_options members.
      	* macro.c (parse_params): Update names of cpp_options members.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164723 138bc75d-0d04-0410-961f-82ee72b054a4
      5ae82d58
  11. 28 Sep, 2010 1 commit
  12. 23 Sep, 2010 1 commit
  13. 20 Sep, 2010 1 commit
  14. 16 Sep, 2010 2 commits
    • jsm28's avatar
      * target.def (target_option.optimization): New hook. · 02e53c17
      jsm28 authored
      	* doc/tm.texi.in (OPTIMIZATION_OPTIONS): Change to
      	TARGET_OPTION_OPTIMIZATION hook.
      	* doc/tm.texi: Regenerate.
      	* hooks.c (hook_void_int_int): New.
      	* hooks.h (hook_void_int_int): Declare.
      	* opts.c: Don't include tm_p.h.
      	(decode_options): Use targetm.target_option.optimization instead
      	of OPTIMIZATION_OPTIONS.
      	* system.h (OPTIMIZATION_OPTIONS): Poison.
      	* config/arm/arm-protos.h (arm_optimization_options): Remove.
      	* config/arm/arm.c (TARGET_OPTION_OPTIMIZATION): Define.
      	(arm_optimization_options): Rename to arm_option_optimization.
      	Make static.
      	* config/arm/arm.h (OPTIMIZATION_OPTIONS): Remove.
      	* config/cris/cris.c (TARGET_OPTION_OPTIMIZATION): Define.
      	(cris_option_optimization): New.
      	* config/cris/cris.h (OPTIMIZATION_OPTIONS): Remove.
      	* config/crx/crx.c (TARGET_OPTION_OPTIMIZATION): Define.
      	(crx_option_optimization): New.
      	* config/crx/crx.h (OPTIMIZATION_OPTIONS): Remove.
      	* config/frv/frv-protos.h (frv_optimization_options): Remove.
      	* config/frv/frv.c (TARGET_OPTION_OPTIMIZATION): Define.
      	(frv_optimization_options): Rename to frv_option_optimization.
      	Make static.
      	* config/frv/frv.h (OPTIMIZATION_OPTIONS): Remove.
      	* config/h8300/h8300.c (h8300_option_optimization): New.
      	(TARGET_OPTION_OPTIMIZATION): Define.
      	* config/h8300/h8300.h (OPTIMIZATION_OPTIONS): Remove.
      	* config/i386/i386-protos.h (optimization_options): Remove.
      	* config/i386/i386.c (optimization_options): Rename to
      	ix86_option_optimization.  Make static.
      	(TARGET_OPTION_OPTIMIZATION): Define.
      	* config/i386/i386.h (OPTIMIZATION_OPTIONS): Remove.
      	* config/ia64/ia64-protos.h (ia64_optimization_options): Remove.
      	* config/ia64/ia64.c (TARGET_OPTION_OPTIMIZATION): Define.
      	(ia64_optimization_options): Rename to ia64_option_optimization.
      	Make static.  Call SUBTARGET_OPTIMIZATION_OPTIONS.
      	* config/ia64/ia64.h (OPTIMIZATION_OPTIONS): Remove.  Remove
      	commented-out definition.
      	* config/ia64/vms.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define
      	instead of OPTIMIZATION_OPTIONS.
      	* config/m32r/m32r.c (TARGET_OPTION_OPTIMIZATION): Define.
      	(m32r_option_optimization): New.
      	* config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove.
      	* config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
      	Remove.
      	* config/mcore/mcore.c (TARGET_OPTION_OPTIMIZATION): Define.
      	(mcore_option_optimization): New.
      	* config/mcore/mcore.h (OPTIMIZATION_OPTIONS): Remove.
      	* config/mep/mep-protos.h (mep_optimization_options): Remove.
      	* config/mep/mep.c (TARGET_OPTION_OPTIMIZATION): Define.
      	(mep_optimization_options): Rename to mep_option_optimization.
      	Make static.  Take unused level and size parameters.
      	* config/mep/mep.h (OPTIMIZATION_OPTIONS): Remove.
      	* config/mmix/mmix.c (TARGET_OPTION_OPTIMIZATION): Define.
      	(mmix_option_optimization): New.
      	* config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove.
      	* config/pdp11/pdp11.c (TARGET_OPTION_OPTIMIZATION): Define.
      	(pdp11_option_optimization): New.
      	* config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Remove.
      	* config/rs6000/rs6000-protos.h (optimization_options): Remove.
      	* config/rs6000/rs6000.c (TARGET_OPTION_OPTIMIZATION): Define.
      	(optimization_options): Rename to rs6000_option_optimization.
      	Make static.
      	* config/rs6000/rs6000.h (OPTIMIZATION_OPTIONS): Remove.
      	* config/rx/rx-protos.h (rx_set_optimization_options): Remove.
      	* config/rx/rx.c (rx_set_optimization_options): Rename to
      	rx_option_optimization.  Make static.  Take unused level and size
      	parameters.
      	(TARGET_OPTION_OPTIMIZATION): Define.
      	* config/rx/rx.h (OPTIMIZATION_OPTIONS): Remove.
      	* config/s390/s390-protos.h (optimization_options): Remove.
      	* config/s390/s390.c (optimization_options): Rename to
      	s390_option_optimization.  Make static.  Don't mark size parameter
      	unused.
      	(TARGET_OPTION_OPTIMIZATION): Define.
      	* config/s390/s390.h (OPTIMIZATION_OPTIONS): Remove.
      	* config/sh/sh-protos.h (sh_optimization_options): Remove.
      	* config/sh/sh.c (TARGET_OPTION_OPTIMIZATION): Define.
      	(sh_optimization_options): Rename to sh_option_optimization.  Make
      	static.  Don't mark parameters unused.
      	* config/sh/sh.h (OPTIMIZATION_OPTIONS): Remove.
      	* config/spu/spu-protos.h (spu_optimization_options): Remove.
      	* config/spu/spu.c (TARGET_OPTION_OPTIMIZATION): Define.
      	(spu_optimization_options): Rename to spu_option_optimization.
      	Make static.
      	* config/spu/spu.h (OPTIMIZATION_OPTIONS): Remove.
      	* config/v850/v850.c (TARGET_OPTION_OPTIMIZATION): Define.
      	(v850_option_optimization): New.
      	* config/v850/v850.h (OPTIMIZATION_OPTIONS): Remove.
      	* config/xtensa/xtensa.c (TARGET_OPTION_OPTIMIZATION): Define.
      	(xtensa_option_optimization): New.
      	* config/xtensa/xtensa.h (OPTIMIZATION_OPTIONS): Remove.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164335 138bc75d-0d04-0410-961f-82ee72b054a4
      02e53c17
    • jsm28's avatar
      * doc/tm.texi.in (OVERRIDE_OPTIONS): Remove documentation. · 4c834714
      jsm28 authored
      	(C_COMMON_OVERRIDE_OPTIONS): Don't refer to OVERRIDE_OPTIONS.
      	* doc/tm.texi: Regenerate.
      	* system.h (OVERRIDE_OPTIONS): Poison.
      	* target.def (override): Default to hook_void_void.
      	* targhooks.c (default_target_option_override): Remove.
      	* genmodes.c, machmode.def: Update comments mentioning
      	OVERRIDE_OPTIONS.
      	* config/alpha/alpha-modes.def: Update comment mentioning
      	alpha_override_options.
      	* config/alpha/alpha-protos.h (override_options): Remove.
      	* config/alpha/alpha.c (override_options): Rename to
      	alpha_option_override.  Call SUBTARGET_OVERRIDE_OPTIONS.  Make
      	static.
      	(TARGET_OPTION_OVERRIDE): Define.
      	* config/alpha/alpha.h (OVERRIDE_OPTIONS): Remove.
      	* config/alpha/vms.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead
      	of OVERRIDE_OPTIONS.
      	* config/arc/arc-protos.h (arc_init): Remove.
      	* config/arc/arc.c (TARGET_OPTION_OVERRIDE): Define.
      	(arc_init): Rename to arc_option_override.  Make static.
      	* config/arc/arc.h (ARC_EXTENSION_CPU): Correct comment.
      	(OVERRIDE_OPTIONS): Remove.
      	* config/arm/arm-protos.h (arm_override_options): Remove.
      	* config/arm/arm.c (TARGET_OPTION_OVERRIDE): Define.
      	(arm_override_options): Rename to arm_option_override.  Make
      	static.  Call SUBTARGET_OVERRIDE_OPTIONS.
      	* config/arm/arm.h (OVERRIDE_OPTIONS): Remove.
      	* config/arm/arm.md: Update comment referring to
      	arm_override_options.
      	* config/arm/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define
      	instead of OVERRIDE_OPTIONS.
      	* config/avr/avr-protos.h (avr_override_options): Remove.
      	* config/avr/avr.c (TARGET_OPTION_OVERRIDE): Define.
      	(avr_override_options): Rename to avr_option_override.  Make
      	static.
      	* config/avr/avr.h (OVERRIDE_OPTIONS): Remove.
      	* config/bfin/bfin-protos.h (override_options): Remove (twice).
      	* config/bfin/bfin.c (override_options): Rename to
      	bfin_option_override.  Make static.
      	(TARGET_OPTION_OVERRIDE): Define.
      	* config/bfin/bfin.h (OVERRIDE_OPTIONS): Remove.
      	* config/cris/cris-protos.h (cris_override_options): Remove.
      	* config/cris/cris.c (TARGET_OPTION_OVERRIDE): Define.
      	(cris_override_options): Rename to cris_option_override.  Make
      	static.
      	* config/cris/cris.h (OVERRIDE_OPTIONS): Remove.
      	* config/frv/frv-protos.h (frv_override_options): Remove.
      	* config/frv/frv.c (TARGET_OPTION_OVERRIDE): Define.
      	(frv_override_options): Rename to frv_option_override.  Make
      	static.
      	* config/frv/frv.h (OVERRIDE_OPTIONS): Remove.
      	* config/h8300/h8300-protos.h (h8300_init_once): Remove.
      	* config/h8300/h8300.c (h8300_init_once): Rename to
      	h8300_option_override.  Make static.
      	(TARGET_OPTION_OVERRIDE): Define.
      	* config/h8300/h8300.h (OVERRIDE_OPTIONS): Remove.
      	* config/i386/i386-protos.h (override_options): Remove.
      	* config/i386/i386.c (override_options): Rename to
      	ix86_option_override_internal.  Make static.  Comments referring
      	to this function and callers changed.
      	(ix86_option_override): New.
      	(TARGET_OPTION_OVERRIDE): Define.
      	* config/i386/i386.h (OVERRIDE_OPTION): Remove.
      	* config/i386/linux64.h (DEFAULT_PCC_STRUCT_RETURN): Update
      	comment.
      	* config/ia64/ia64.c (ia64_file_start): Update comment referring
      	to ia64_override_options.
      	* config/iq2000/iq2000-protos.h (override_options): Remove.
      	* config/iq2000/iq2000.c (TARGET_OPTION_OVERRIDE): Define.
      	(override_options): Rename to iq2000_option_override.  Make
      	static.
      	* config/iq2000/iq2000.h (OVERRIDE_OPTIONS): Remove.
      	* config/lm32/lm32-protos.h (lm32_override_options): Remove.
      	* config/lm32/lm32.c (TARGET_OPTION_OVERRIDE): Define.
      	(lm32_override_options): Rename to lm32_option_override.  Make
      	static.
      	* config/lm32/lm32.h (OVERRIDE_OPTIONS): Remove.
      	* config/m32r/m32r.c (TARGET_OPTION_OVERRIDE): Define.
      	(m32r_option_override): New.
      	(m32r_init): Update comment.
      	* config/m32r/m32r.h (OVERRIDE_OPTIONS): Remove.
      	* config/m68hc11/m68hc11-protos.h (m68hc11_override_options):
      	Remove.
      	* config/m68hc11/m68hc11.c (TARGET_OPTION_OVERRIDE): Define.
      	(m68hc11_override_options): Rename to m68hc11_option_override.
      	Make static.  Return void.
      	* config/m68hc11/m68hc11.h (OVERRIDE_OPTIONS): Remove.
      	* config/m68k/m68k-protos.h (override_options): Remove.
      	* config/m68k/m68k.c (TARGET_OPTION_OVERRIDE): Define.
      	(override_options): Rename to m68k_option_override.  Make static.
      	* config/m68k/m68k.h (OVERRIDE_OPTIONS): Remove.
      	* config/mcore/mcore-protos.h (mcore_override_options): Remove.
      	* config/mcore/mcore.c (TARGET_OPTION_OVERRIDE): Define.
      	(mcore_override_options): Rename to mcore_option_override.  Make
      	static.
      	* config/mcore/mcore.h (OVERRIDE_OPTIONS): Remove.
      	* config/mep/mep-protos.h (mep_override_options): Remove.
      	* config/mep/mep.c (TARGET_OPTION_OVERRIDE): Define.
      	(mep_override_options): Rename to mep_option_override.  Make
      	static.
      	* config/mep/mep.h (OVERRIDE_OPTIONS): Remove.
      	* config/mmix/mmix-protos.h (mmix_override_options): Remove.
      	* config/mmix/mmix.c (TARGET_OPTION_OVERRIDE): Define.
      	(mmix_override_options): Rename to mmix_option_override.  Make
      	static.
      	* config/mmix/mmix.h (OVERRIDE_OPTIONS): Remove.
      	* config/mn10300/mn10300-protos.h (mn10300_override_options):
      	Remove.
      	* config/mn10300/mn10300.c (TARGET_OPTION_OVERRIDE): Define.
      	(mn10300_override_options): Rename to mn10300_option_override.
      	Make static.
      	* config/mn10300/mn10300.h (OVERRIDE_OPTIONS): Remove.
      	* config/moxie/moxie-protos.h (moxie_override_options): Remove.
      	* config/moxie/moxie.c (moxie_override_options): Rename to
      	moxie_option_override.  Make static.
      	(TARGET_OPTION_OVERRIDE): Define.
      	* config/moxie/moxie.h (OVERRIDE_OPTIONS): Remove.
      	* config/picochip/picochip-protos.h (picochip_override_options):
      	Remove.  Update comment referring to picochip_override_options.
      	* config/picochip/picochip.c (TARGET_OPTION_OVERRIDE): Define.
      	(picochip_override_options): Rename to picochip_option_override.
      	Make static.  Update comment and definition of
      	TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE.
      	* config/picochip/picochip.h (OVERRIDE_OPTIONS): Remove.
      	* config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Update
      	comment.
      	* config/rs6000/aix51.h (SUBTARGET_OVERRIDE_OPTIONS): Update
      	comment.
      	* config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Update
      	comment.
      	* config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Update
      	comment.
      	* config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Update
      	comment.
      	* config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Define
      	instead of OVERRIDE_OPTIONS.
      	* config/rs6000/rs6000-modes.def: Update comment referring to
      	rs6000_override_options.
      	* config/rs6000/rs6000-protos.h (rs6000_override_options): Remove.
      	* config/rs6000/rs6000.c (TARGET_OPTION_OVERRIDE): Define.
      	(rs6000_override_options): Rename to
      	rs6000_option_override_internal.  Make static.  Commented
      	referring to rs6000_override_options and OVERRIDE_OPTIONS updated.
      	(rs6000_option_override): New.
      	* config/rs6000/rs6000.h (OPTION_TARGET_CPU_DEFAULT): Define
      	instead of OVERRIDE_OPTIONS.
      	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Update
      	comment.
      	* config/s390/s390-protos.h (override_options): Remove.
      	* config/s390/s390.c (override_options): Rename to
      	s390_option_override.  Make static.
      	(TARGET_OPTION_OVERRIDE): Define.
      	* config/s390/s390.h (OVERRIDE_OPTIONS): Remove.
      	* config/score/score-protos.h (score_override_options): Remove.
      	* config/score/score.c (TARGET_OPTION_OVERRIDE): Define.
      	(score_override_options): Rename to score_option_override.  Make
      	static.
      	* config/score/score.h (OVERRIDE_OPTIONS): Remove.
      	Update comment referring to override_options.
      	* config/score/score3.c (score3_override_options): Rename to
      	score3_option_override.
      	* config/score/score3.h (score3_override_options): Rename to
      	score3_option_override.
      	* config/score/score7.c (score7_override_options): Rename to
      	score7_option_override.
      	* config/score/score7.h (score7_override_options): Rename to
      	score7_option_override.
      	* config/sh/sh.c: Update comments referring to OVERRIDE_OPTIONS.
      	* config/sparc/sparc.c (TARGET_OPTION_OVERRIDE): Define.
      	(sparc_override_options): Rename to sparc_option_override.  Make
      	static.  Call SUBTARGET_OVERRIDE_OPTIONS.
      	* config/sparc/sparc.h (OVERRIDE_OPTIONS): Remove.
      	* config/sparc/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define
      	instead of OVERRIDE_OPTIONS.
      	* config/spu/spu-protos.h (spu_override_options): Remove.
      	* config/spu/spu.c (TARGET_OPTION_OVERRIDE): Define.
      	(spu_override_options): Rename to spu_option_override.  Make
      	static.
      	* config/spu/spu.h (OVERRIDE_OPTIONS): Remove.
      	* config/vax/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead of
      	OVERRIDE_OPTIONS.
      	* config/vax/vax-protos.h (override_options): Remove.
      	* config/vax/vax.c (TARGET_OPTION_OVERRIDE): Define.
      	(override_options): Rename to vax_option_override.  Make static.
      	Call SUBTARGET_OVERRIDE_OPTIONS.
      	* config/vax/vax.h (OVERRIDE_OPTIONS): Remove.
      	* config/vxworks.c: Update comment referring to OVERRIDE_OPTIONS.
      	* config/vxworks.h: Update comment referring to OVERRIDE_OPTIONS.
      	* config/xtensa/xtensa-protos.h (override_options): Remove.
      	* config/xtensa/xtensa.c (TARGET_OPTION_OVERRIDE): Define.
      	(override_options): Rename to xtensa_option_override.  Make
      	static.
      	* config/xtensa/xtensa.h (OVERRIDE_OPTIONS): Remove.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164334 138bc75d-0d04-0410-961f-82ee72b054a4
      4c834714
  15. 14 Sep, 2010 1 commit
    • hjl's avatar
      Turn UNITS_PER_SIMD_WORD into a target hook. · 2101edf2
      hjl authored
      2010-09-14  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* defaults.h (UNITS_PER_SIMD_WORD): Removed.
      	* config/arm/arm.h (UNITS_PER_SIMD_WORD): Likewise.
      	* config/i386/i386.h (UNITS_PER_SIMD_WORD): Likewise.
      	* config/mips/mips.h (UNITS_PER_SIMD_WORD): Likewise.
      	* config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Likewise.
      	* config/sparc/sparc.h (UNITS_PER_SIMD_WORD): Likewise.
      
      	* target.def: Add units_per_simd_word to vectorize.
      
      	* targhooks.c (default_units_per_simd_word): New.
      	* targhooks.h (default_units_per_simd_word): Likewise.
      	* config/arm/arm.c (arm_units_per_simd_word): Likewise.
      	(TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
      	* config/mips/mips.c (mips_units_per_simd_word): Likewise.
      	(TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
      	* config/rs6000/rs6000.c (rs6000_units_per_simd_word): Likewise.
      	(TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
      	* config/sparc/sparc.c (sparc_units_per_simd_word): Likewise.
      	(TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
      
      	* tree-vect-loop.c: Replace UNITS_PER_SIMD_WORD with
      	TARGET_VECTORIZE_UNITS_PER_SIMD_WORD in comments.
      
      	* tree-vect-stmts.c (get_vectype_for_scalar_type): Replace
      	UNITS_PER_SIMD_WORD with targetm.vectorize.units_per_simd_word.
      
      	* system.h (UNITS_PER_SIMD_WORD): Poisoned.
      
      	* config/i386/i386-protos.h (ix86_units_per_simd_word): Removed.
      
      	* config/i386/i386.c (ix86_units_per_simd_word): Make it
      	static.
      	(TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): New.
      
      	* doc/tm.texi.in: Remove UNITS_PER_SIMD_WORD.  Add
      	TARGET_VECTORIZE_UNITS_PER_SIMD_WORD.
      
      	* doc/tm.texi: Regenerated.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164285 138bc75d-0d04-0410-961f-82ee72b054a4
      2101edf2
  16. 31 Aug, 2010 1 commit
    • froydnj's avatar
      * config/arm/arm-protos.h (arm_function_arg_advance): Delete. · f448df09
      froydnj authored
      	(arm_function_arg): Delete.
      	(arm_needs_doubleword_align): Take a const_tree.
      	* config/arm/arm.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
      	* config/arm/arm.c (aapcs_select_call_coproc): Take a const_tree.
      	(aapcs_layout_arg, arm_needs_doubleword_align): Likewise.
      	(arm_function_arg): Make static.  Take a const_tree and a bool.
      	(arm_function_arg_advance): Likewise.
      	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163683 138bc75d-0d04-0410-961f-82ee72b054a4
      f448df09
  17. 18 Aug, 2010 1 commit
    • ramana's avatar
      For Marcus - Implement sync primitives inline for ARM. · 06df6b17
      ramana authored
      2010-08-18  Marcus Shawcroft  <marcus.shawcroft@arm.com>
      
      	* config/arm/arm-protos.h (arm_expand_sync): New.
      	(arm_output_memory_barrier, arm_output_sync_insn): New.
      	(arm_sync_loop_insns): New.
      	* config/arm/arm.c (FL_ARCH7): New.
      	(FL_FOR_ARCH7): Include FL_ARCH7.
      	(arm_arch7): New.
      	(arm_print_operand): Support %C markup.
      	(arm_legitimize_sync_memory): New.
      	(arm_emit, arm_insn_count, arm_count, arm_output_asm_insn): New.
      	(arm_process_output_memory_barrier, arm_output_memory_barrier): New.
      	(arm_ldrex_suffix, arm_output_ldrex, arm_output_strex): New.
      	(arm_output_op2, arm_output_op3, arm_output_sync_loop): New.
      	(arm_get_sync_operand, FETCH_SYNC_OPERAND): New.
      	(arm_process_output_sync_insn, arm_output_sync_insn): New.
      	(arm_sync_loop_insns,arm_call_generator, arm_expand_sync): New.
      	* config/arm/arm.h (struct arm_sync_generator): New.
      	(TARGET_HAVE_DMB, TARGET_HAVE_DMB_MCR): New.
      	(TARGET_HAVE_MEMORY_BARRIER): New.
      	(TARGET_HAVE_LDREX, TARGET_HAVE_LDREXBHD): New.
      	* config/arm/arm.md: Include sync.md.
      	(UNSPEC_MEMORY_BARRIER): New.
      	(VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK): New.
      	(VUNSPEC_SYNC_OP):New.
      	(VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): New.
      	(sync_result, sync_memory, sync_required_value): New attributes.
      	(sync_new_value, sync_t1, sync_t2): Likewise.
      	(sync_release_barrier, sync_op): Likewise.
      	(length): Add logic to length attribute defintion to call
      	arm_sync_loop_insns when appropriate.
      	* config/arm/sync.md: New file.
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163327 138bc75d-0d04-0410-961f-82ee72b054a4
      06df6b17
  18. 02 Aug, 2010 2 commits
    • bernds's avatar
      PR target/40457 · 320ea44d
      bernds authored
      	* config/arm/arm.h (arm_regs_in_sequence): Declare.
      	* config/arm/arm-protos.h (emit_ldm_seq, emit_stm_seq,
      	load_multiple_sequence, store_multiple_sequence): Delete
      	declarations.
      	(arm_gen_load_multiple, arm_gen_store_multiple): Adjust
      	declarations.
      	* config/arm/ldmstm.md: New file.
      	* config/arm/arm.c (arm_regs_in_sequence): New array.
      	(load_multiple_sequence): Now static.  New args SAVED_ORDER,
      	CHECK_REGS.  All callers changed.
      	If SAVED_ORDER is nonnull, copy the computed order into it.
      	If CHECK_REGS is false, don't sort REGS.  Handle Thumb mode.
      	(store_multiple_sequence): Now static.  New args NOPS_TOTAL,
      	SAVED_ORDER, REG_RTXS and CHECK_REGS.  All callers changed.
      	If SAVED_ORDER is nonnull, copy the computed order into it.
      	If CHECK_REGS is false, don't sort REGS.  Set up REG_RTXS just
      	like REGS.  Handle Thumb mode.
      	(arm_gen_load_multiple_1): New function, broken out of
      	arm_gen_load_multiple.
      	(arm_gen_store_multiple_1): New function, broken out of
      	arm_gen_store_multiple.
      	(arm_gen_multiple_op): New function, with code from
      	arm_gen_load_multiple and arm_gen_store_multiple moved here.
      	(arm_gen_load_multiple, arm_gen_store_multiple): Now just
      	wrappers around arm_gen_multiple_op.  Remove argument UP, all callers
      	changed.
      	(gen_ldm_seq, gen_stm_seq, gen_const_stm_seq): New functions.
      	* config/arm/predicates.md (commutative_binary_operator): New.
      	(load_multiple_operation, store_multiple_operation): Handle more
      	variants of these patterns with different starting offsets.  Handle
      	Thumb-1.
      	* config/arm/arm.md: Include "ldmstm.md".
      	(ldmsi_postinc4, ldmsi_postinc4_thumb1, ldmsi_postinc3, ldmsi_postinc2,
      	ldmsi4, ldmsi3, ldmsi2, stmsi_postinc4, stmsi_postinc4_thumb1,
      	stmsi_postinc3, stmsi_postinc2, stmsi4, stmsi3, stmsi2 and related
      	peepholes): Delete.
      	* config/arm/ldmstm.md: New file.
      	* config/arm/arm-ldmstm.ml: New file.
      
      testsuite/
      	PR target/40457
      	* gcc.target/arm/pr40457-1.c: New test.
      	* gcc.target/arm/pr40457-2.c: New test.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162815 138bc75d-0d04-0410-961f-82ee72b054a4
      320ea44d
    • bernds's avatar
      * final.c (final_scan_insn): Call CC_STATUS_INIT unconditionally. · 747b7458
      bernds authored
      	* config/arm/arm.c (thumb1_code): New variable.
      	(arm_override_options): Set it.
      	(thumb1_final_prescan_insn): Keep track of condition code status.
      	(arm_adjust_cost): For Thumb, try to keep cc-setting insns next to
      	jumps that depend on them.
      	* config/arm/arm.h (thumb1_code): Declare variable.
      	(struct machine_function): Guard with #ifndef GENERATOR_FILE.  Add
      	members thumb1_cc_insn, thumb1_cc_op0, thumb1_cc_op1 and
      	thumb1_cc_mode.
      	(CC_STATUS_INIT): New macro.
      	* config/arm/constraints.md (Pd): New constraint.
      	* config/arm/predicates.md (noov_comparison_operator): New predicate.
      	* config/arm/arm.md (is_thumb1): New define_attr.
      	(conds): Set default to "clob" when generating Thumb1 code.
      	(thumb1_bicsi3): Renamed from bicsi3.  All uses changed.  Condition
      	code are set.  Use two-operand assembly syntax.
      	(thumb1_subsi3_insn): Condition codes are set.  Now a properly named
      	pattern.
      	(thumb1_andsi3_insn, thumb1_iorsi3_insn, thumb1_xorsi3_insn): Condition
      	codes are set.  Use two-operand assembly syntax.
      	(zero_extendhisi splitter): Remove constraints.
      	(thumb1_movsi_insn, thumb1_movhi_insn, thumb1_movqi_insn, thumb1_movhf,
      	thumb1_movsf_insn): Set conds attribute as appropriate.
      	(cbranchsi4_insn): Use condition code status from struct
      	machine_function to determine whether the comparison can be eliminated.
      	Discourage the alternative using high registers.
      	(movsi_cbranchsi4, andsi3_cbranch, orrsi3_cbranch_scratch,
      	orrsi3_cbranch, xorsi3_cbranch_scratch, xorsi3_cbranch,
      	bicsi3_cbranch_scratch, bicsi3_cbranch, subsi3_cbranch_scratch,
      	subsi3_cbranch): Delete.
      	(movsi_cbranchsi4 peepholes): Rewrite to generate a sequence of
      	one subtract and one cbranch insn.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162813 138bc75d-0d04-0410-961f-82ee72b054a4
      747b7458
  19. 28 Jul, 2010 1 commit
  20. 03 Jul, 2010 1 commit
    • sandra's avatar
      2010-07-02 Daniel Jacobowitz <dan@codesourcery.com> · a8045a4f
      sandra authored
      	    Julian Brown  <julian@codesourcery.com>
      	    Sandra Loosemore <sandra@codesourcery.com>
      
      	gcc/
      	* config/arm/arm.c (arm_canonicalize_comparison): Canonicalize DImode
      	comparisons.  Adjust to take both operands.
      	(arm_select_cc_mode): Handle DImode comparisons.
      	(arm_gen_compare_reg): Generate a scratch register for DImode
      	comparisons which require one.  Use xor for Thumb equality checks.
      	(arm_const_double_by_immediates): New.
      	(arm_print_operand): Allow 'Q' and 'R' for constants.
      	(get_arm_condition_code): Handle new CC_CZmode and CC_NCVmode.
      	* config/arm/arm.h (CANONICALIZE_COMPARISON): Always use
      	arm_canonicalize_comparison.
      	* config/arm/arm-modes.def: Add CC_CZmode and CC_NCVmode.
      	* config/arm/arm-protos.h (arm_canonicalize_comparison): Update
      	prototype.
      	(arm_const_double_by_immediates): Declare.
      	* config/arm/constraints.md (Di): New constraint.
      	* config/arm/predicates.md (arm_immediate_di_operand)
      	(arm_di_operand, cmpdi_operand): New.
      	* config/arm/arm.md (cbranchdi4): Handle non-Cirrus also.
      	(*arm_cmpdi_insn, *arm_cmpdi_unsigned)
      	(*arm_cmpdi_zero, *thumb_cmpdi_zero): New insns.
      	(cstoredi4): Handle non-Cirrus also.
      
      	gcc/testsuite/
      	* gcc.c-torture/execute/20100416-1.c: New test case.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161764 138bc75d-0d04-0410-961f-82ee72b054a4
      a8045a4f
  21. 29 Jun, 2010 1 commit
    • froydnj's avatar
      * reginfo.c (init_reg_sets_1): Adjust comments. · f5bc28da
      froydnj authored
      	* combine-stack-adj.c (rest_of_handle_stack_adjustments): Likewise.
      	* calls.c (prepare_call_address): Likewise.
      	(emit_call_1): Use targetm.calls.return_pops_args.
      	(expand_call): Likewise.
      	* function.c (assign_parms): Likewise.
      	* system.h (RETURN_POPS_ARGS): Add to #pragma poison list.
      	* target.h (struct gcc_target) [struct calls]: Add
      	return_pops_args field.
      	* targhooks.h (default_return_pops_args): Declare.
      	* targhooks.c (default_return_pops_args): Define.
      	* target-def.h (TARGET_RETURN_POPS_ARGS): Define.
      	(TARGET_CALLS): Add TARGET_RETURN_POPS_ARGS.
      	* doc/tm.texi (RETURN_POPS_ARGS): Rename to...
      	(TARGET_RETURN_POPS_ARGS): ...this.  Use deftypefn.  Adjust
      	documentation.
      	* config/alpha/alpha.h (RETURN_POPS_ARGS): Delete.
      	* config/arc/arc.h (RETURN_POPS_ARGS): Likewise.
      	* config/arm/arm.h (RETURN_POPS_ARGS): Likewise.
      	* config/avr/avr.h (RETURN_POPS_ARGS): Likewise.
      	* config/bfin/bfin.h (RETURN_POPS_ARGS): Likewise.
      	* config/cris/cris.h (RETURN_POPS_ARGS): Likewise.
      	* config/crx/crx.h (RETURN_POPS_ARGS): Likewise.
      	* config/fr30/fr30.h (RETURN_POPS_ARGS): Likewise.
      	* config/frv/frv.h (RETURN_POPS_ARGS): Likewise.
      	* config/h8300/h8300.h (RETURN_POPS_ARGS): Likewise.
      	* config/ia64/ia64.h (RETURN_POPS_ARGS): Likewise.
      	* config/iq2000/iq2000.h (RETURN_POPS_ARGS): Likewise.
      	* config/lm32/lm32.h (RETURN_POPS_ARGS): Likewise.
      	* config/m32c/m32c.h (RETURN_POPS_ARGS): Likewise.
      	* config/m32r/m32r.h (RETURN_POPS_ARGS): Likewise.
      	* config/m68hc11/m68hc11.h (RETURN_POPS_ARGS): Likewise.
      	* config/mcore/mcore.h (RETURN_POPS_ARGS): Likewise.
      	* config/mep/mep.h (RETURN_POPS_ARGS): Likewise.
      	* config/mips/mips.h (RETURN_POPS_ARGS): Likewise.
      	* config/mmix/mmix.h (RETURN_POPS_ARGS): Likewise.
      	* config/mn10300/mn10300.h (RETURN_POPS_ARGS): Likewise.
      	* config/moxie/moxie.h (RETURN_POPS_ARGS): Likewise.
      	* config/pa/pa.h (RETURN_POPS_ARGS): Likewise.
      	* config/pdp11/pdp11.h (RETURN_POPS_ARGS): Likewise.
      	* config/picochip/picochip.h (RETURN_POPS_ARGS): Likewise.
      	* config/rs6000/rs6000.h (RETURN_POPS_ARGS): Likewise.
      	* config/rx/rx.h (RETURN_POPS_ARGS): Likewise.
      	* config/s390/s390.h (RETURN_POPS_ARGS): Likewise.
      	* config/score/score.h (RETURN_POPS_ARGS): Likewise.
      	* config/sh/sh.h (RETURN_POPS_ARGS): Likewise.
      	* config/sparc/sparc.h (RETURN_POPS_ARGS): Likewise.
      	* config/spu/spu.h (RETURN_POPS_ARGS): Likewise.
      	* config/stormy16/stormy16.h (RETURN_POPS_ARGS): Likewise.
      	* config/v850/v850.h (RETURN_POPS_ARGS): Likewise.
      	* config/xtensa/xtensa.h (RETURN_POPS_ARGS): Likewise.
      	* config/i386/i386-protos.h (ix86_return_pops_args): Delete.
      	* config/i386/i386.h (RETURN_POPS_ARGS): Delete.
      	* config/i386/i386.c (ix86_return_pops_args): Make static.
      	Constify arguments.
      	(TARGET_RETURN_POPS_ARGS): Define.
      	* config/m68k/m68k.h (RETURN_POPS_ARGS): Move to...
      	* config/m68k/m68k.c (m68k_return_pops_args): ...here.  New function.
      	(TARGET_RETURN_POPS_ARGS): Define.
      	* config/vax/vax.h (RETURN_POPS_ARGS): Move to...
      	* config/vax/vax.c (vax_return_pops_args): ...here.  New function.
      	(TARGET_RETURN_POPS_ARGS): Define.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161528 138bc75d-0d04-0410-961f-82ee72b054a4
      f5bc28da
  22. 16 Jun, 2010 1 commit
    • froydnj's avatar
      * config/arm/arm-protos.h (arm_print_operand): Delete. · dc4cd85f
      froydnj authored
      	(arm_print_operand_address): Delete.
      	* config/arm/arm.h (PRINT_OPERAND): Delete.
      	(PRINT_OPERAND_PUNCT_VALID_P): Delete.
      	(PRINT_OPERAND_ADDRESS, ARM_PRINT_OPERAND_ADDRESS):
      	(THUMB_PRINT_OPERAND_ADDRESS): Delete and move code to...
      	* config/arm/arm.c (arm_print_operand_address): ...here.  New
      	function.
      	(arm_print_operand): Make static.
      	(arm_print_operand_punct_valid_p): New function.
      	(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
      	(TARGET_PRINT_OPERAND_ADDRESS): Define.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160854 138bc75d-0d04-0410-961f-82ee72b054a4
      dc4cd85f
  23. 21 May, 2010 1 commit
    • jules's avatar
      gcc/ · d68c2c10
      jules authored
      	* config/arm/arm.c (arm_function_ok_for_sibcall): Only forbid
      	sibling calls for Thumb-1.
      	* config/arm/arm.h (USE_RETURN_INSN): Enable for Thumb-2.
      	* config/arm/arm.md (*call_symbol, *call_value_symbol): Use for
      	Thumb-2.
      	(*call_insn, *call_value_insn): Don't use for Thumb-2.
      	(sibcall, sibcall_value, *sibcall_insn, *sibcall_value_insn): Use
      	for Thumb-2.
      	(return): New expander.
      	(*arm_return): New name for ARM return insn.
      	* config/arm/thumb2.md (*thumb2_return): New insn pattern.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159672 138bc75d-0d04-0410-961f-82ee72b054a4
      d68c2c10
  24. 05 May, 2010 1 commit
    • bernds's avatar
      * config/arm/arm.h (MAX_LDM_STM_OPS): New macro. · 74f1fddf
      bernds authored
      	* config/arm/arm.c (multiple_operation_profitable_p,
      	compute_offset_order): New static functions.
      	(load_multiple_sequence, store_multiple_sequence): Use them.
      	Replace constant 4 with MAX_LDM_STM_OPS.  Compute order[0] from
      	memory offsets, not register numbers.
      	(emit_ldm_seq, emit_stm_seq): Replace constant 4 with MAX_LDM_STM_OPS.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159089 138bc75d-0d04-0410-961f-82ee72b054a4
      74f1fddf
  25. 03 May, 2010 1 commit
    • steven's avatar
      * doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove. · ed5527ca
      steven authored
      	(TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation,
      	based on the above, for new target hook.
      
      	* hooks.c (hook_bool_mode_true): New generic hook.
      	* hooks.h (hook_bool_mode_true): Add prototype.
      
      	* target.h (struct gcc_target): Add small_register_classes_for_mode_p
      	target hook.
      	* target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default
      	target hook, set to hook_bool_mode_false.
      	* regs.h: Remove default definition of SMALL_REGISTER_CLASSES.
      	* reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES
      	with targetm.small_register_classes_for_mode_p.
      	(find_reusable_reload): Likewise.
      	(combine_reloads): Likewise.
      	* reload1.c (reload_as_needed): Likewise.
      	* cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise.
      	* ifcvt.c (noce_process_if_block, check_cond_move_block,
      	dead_or_predicable): Likewise.
      	* regmove.c (optimize_reg_copy_1): Likewise.
      	* calls.c (prepare_call_address): Likewise.
      	(precompute_register_parameters): Likewise.
      
      	* config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target
      	hook definition.
      	* config/sh/sh.c (sh_small_register_classes_for_mode_p): Add
      	implementation of the hook that considers all register classes
      	small except for SH64.
      	(sh_override_options): Use the new hook.
      	* config/sh/sh-protos.h (sh_small_register_classes_for_mode_p):
      	Add prototype.
      
      	* config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target
      	hook definition.
      	* config/arm/arm.c (arm_small_register_classes_for_mode_p): Add
      	implementation of the hook that considers all register classes
      	small for THUMB1.
      	* config/arm/arm-protos.h (arm_small_register_classes_for_mode_p):
      	Add prototype.
      
      	* config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target
      	hook definition.
      	* config/mips/mips.c (mips_small_register_classes_for_mode_p): Add
      	implementation of the hook that considers all register classes
      	small for MIPS16.
      	* config/mips/mips-protos.h (mips_small_register_classes_for_mode_p):
      	Add prototype.
      
      	* config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target
      	hook definition.
      	* config/m32c/m32c.h: Likewise.
      	* config/pdp11/pdp11.h: Likewise.
      	* config/avr/avr.h: Likewise.
      	* config/xtensa/xtensa.h: Likewise.
      	* config/m68hc11/m68hc11.h: Likewise.
      	* config/mn10300/mn10300.h: Likewise.
      	* config/mcore/mcore.h: Likewise.
      	* config/h8300/h8300.h: Likewise.
      	* config/bfin/bfin.h: Likewise.
      
      	* config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition.
      	* config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition.
      
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158997 138bc75d-0d04-0410-961f-82ee72b054a4
      ed5527ca
  26. 29 Apr, 2010 1 commit
    • bernds's avatar
      PR target/42895 · dedfd669
      bernds authored
      	* doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
      	ORDER_REGS_FOR_LOCAL_ALLOC.  All instances of this macro changed.
      	(HONOR_REG_ALLOC_ORDER): Describe new macro.
      	* ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
      	* ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
      	account only if HONOR_REG_ALLOC_ORDER is not defined.
      	* config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
      	* system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158911 138bc75d-0d04-0410-961f-82ee72b054a4
      dedfd669
  27. 15 Apr, 2010 1 commit
    • jules's avatar
      gcc/ · 93bda833
      jules authored
      	* config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
      	alternatives according to use of high and low regs.
      	* config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
      	* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
      	optimizing for size on Thumb-2.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158378 138bc75d-0d04-0410-961f-82ee72b054a4
      93bda833
  28. 23 Dec, 2009 1 commit
    • ramana's avatar
      Fix PR target/42093 · f110e938
      ramana authored
      2009-12-23  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      
              PR target/42093
              * config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Fix macro usage
              to TARGET_THUMB1.
              (CASE_VECTOR_SHORTEN_MODE): Allow signed offsets 
              only for TARGET_THUMB1.
      
      2009-12-23  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      
              PR target/42093
              * gcc.target/arm/pr42093.c: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155428 138bc75d-0d04-0410-961f-82ee72b054a4
      f110e938
  29. 30 Nov, 2009 1 commit
  30. 25 Nov, 2009 1 commit
  31. 20 Nov, 2009 1 commit
    • jules's avatar
      gcc/ · 2ab81076
      jules authored
      	* config/arm/arm.h (ASM_OUTPUT_REG_PUSH): Handle STATIC_CHAIN_REGNUM
      	specially for Thumb-1.
      	(ASM_OUTPUT_REG_POP): Likewise.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154372 138bc75d-0d04-0410-961f-82ee72b054a4
      2ab81076
  32. 18 Nov, 2009 1 commit
    • pbrook's avatar
      2009-11-18 Paul Brook <paul@codesourcery.com> · 822a3549
      pbrook authored
      	Daniel Jacobowitz  <dan@codesourcery.com>
      
      	gcc/
      	* config/arm/arm.c (FL_ARCH7EM, FL_FOR_ARCH7EM): Define.
      	(arm_arch7em): New variable.
      	(all_architectures): Add armv7e-m.
      	(arm_override_options): Set arm_arch7em.
      	* config/arm/arm.h (TARGET_DSP_MULTIPLY, TARGET_INT_SIMD):
      	Include arm_arch7em.
      	(arm_arch7em): Declare.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154299 138bc75d-0d04-0410-961f-82ee72b054a4
      822a3549
  33. 09 Nov, 2009 1 commit
    • pbrook's avatar
      2009-11-09 Paul Brook <paul@codesourcery.com> · a50d7267
      pbrook authored
      	Daniel Jacobowitz  <dan@codesourcery.com>
      	Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* doc/extend.texi (Half-Precision): Update wording to reflect
      	that there are now multiple -mfpu options that enable fp16
      	hardware support.
      	* doc/invoke.texi: Update list of ARM -mfpu= options.
      	* config.gcc: Update ARM --with-fpu option list.
      	* config/arm/arm.c (all_fpus): Add vfpv3-fp16, vfpv3-d16-fp16,
      	vfpv3xd and vfpv3xd-fp16.
      	(use_vfp_abi): New function.
      	(aapcs_vfp_is_call_or_return_candidate): Avoid double precision regs
      	when undesirable.
      	(aapcs_vfp_is_return_candidate, aapcs_vfp_is_call_candidate,
      	aapcs_vfp_allocate_return_reg): Use use_vfp_abi.
              (arm_rtx_costs_1, arm_size_rtx_costs, arm_fastmul_rtx_costs,
              arm_9e_rtx_costs): Only expect double-precision operations if the FPU
              provides them.
      	(coproc_secondary_reload_class): Reload HFmode via GENERAL_REGS if no
      	NEON.
      	(arm_print_operand): Handle 'p' modifier.
      	(arm_hard_regno_mode_ok): : Allow HFmode in VFP registers if
      	TARGET_FP16.
      	* config/arm/arm.h (TARGET_VFP_SINGLE, TARGET_VFP_DOUBLE): Define.
      	(TARGET_FP16): Define.
      	* config/arm/vfp.md: Disable double-precision patterns if the FPU
      	does not provide them.
      	(arm_movdi_vfp, thumb2_movdi_vfp): Use fcpys to move
      	double-precision values on a single-precision FPU.
              (movdf_vfp, thumb2_movdf_vfp): Likewise.  Use "Dy" for
              double-precision constants.
      	(movhf_vfp_neon): New pattern (was movhf_vfp).
      	(movhf_vfp): Remove NEON instructions.
      	* config/arm/constraints.md: Add new "Dy" constraint for
      	double-precision constants.  Update description of "Dv".
      	* config/arm/arm.md: Disable double-precision patterns if the FPU
      	does not provide them
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154034 138bc75d-0d04-0410-961f-82ee72b054a4
      a50d7267
  34. 05 Nov, 2009 1 commit
    • pbrook's avatar
      2009-11-05 Paul Brook <paul@codesourcery.com> · 4fea7d65
      pbrook authored
      	gcc/
      	* config/arm/arm.c (arm_fp_model, arm_fpu_arch, arm_fpu_tune): Remove.
      	(arm_fpu_desc): New.
      	(all_fpus): Add FPU details.
      	(fp_model_for_fpu): Remove.
      	(arm_override_options): Set and use arm_fpu_desc and arm_fpu_attr.
      	(arm_output_epilogue, arm_save_coproc_regs): Use TARGET_FPA_EMU2.
      	(arm_file_start): Use arm_fpu_desc.
      	* config/arm/arm.h (TARGET_FPA, TARGET_MAVERICK, TARGET_VFP,
      	TARGET_VFPD32, TARGET_VFP3, TARGET_NEON_FP16, TARGET_NEON): Use
      	arm_fpu_desc.
      	(TARGET_FPA_EMU2): Define.
      	(arm_fp_model, fputype, arm_fpu_tune): Remove.
      	(vfp_reg_type, arm_fpu_desc): New.
      	* config/arm/arm.md (attr fpu): Simplify.
      	* config/arm/fpa.md (movxf_fpa): Use TARGET_FPA_EMU2.
      	* config/arm/linux-elf.h (FPUTYPE_DEFAULT): Use string value.
      	* config/arm/bpabi.h (FPUTYPE_DEFAULT): Use string value.
      	* config/arm/netbsd-elf.h (FPUTYPE_DEFAULT): Use string value.
      	* config/arm/vxworks.h (FPUTYPE_DEFAULT): Use string value.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153942 138bc75d-0d04-0410-961f-82ee72b054a4
      4fea7d65
  35. 22 Sep, 2009 1 commit
    • rth's avatar
      * config/arm/arm.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New. · 74ae09de
      rth authored
              (TARGET_TRAMPOLINE_INIT, TARGET_TRAMPOLINE_ADJUST_ADDRESS): New.
              (arm_asm_trampoline_template): New.
              (arm_trampoline_init, arm_trampoline_adjust_address): New.
              * config/arm/arm.h (TRAMPOLINE_TEMPLATE,
              * ARM_TRAMPOLINE_TEMPLATE,
              THUMB2_TRAMPOLINE_TEMPLATE, THUMB1_TRAMPOLINE_TEMPLATE): Move all
              code to arm_asm_trampoline_template.
              (TRAMPOLINE_ADJUST_ADDRESS): Move code to
              arm_trampoline_adjust_address.
              (INITIALIZE_TRAMPOLINE): Move code to arm_trampoline_init;
              adjust for target hook parameters.
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151986 138bc75d-0d04-0410-961f-82ee72b054a4
      74ae09de
  36. 04 Sep, 2009 1 commit
  37. 25 Aug, 2009 1 commit
    • aesok's avatar
      * hooks.h (hook_bool_const_int_const_int_true): Declare. · cd90919d
      aesok authored
      	* hooks.c (hook_bool_const_int_const_int_true): New function.
      	* target.h (struct gcc_target): Add can_eliminate field.
      	* target-def.h (TARGET_CAN_ELIMINATE): Define.
      	(TARGET_INITIALIZER): Use TARGET_CAN_ELIMINATE.
      	* ira.c (setup_eliminable_regset): Use can_eliminate target hook.
      	* reload1.c (update_eliminables, init_elim_table): (Ditto.).
      	(elim_table): Revise comment.
      	* system.h (CAN_ELIMINATE): Poison.
      	* defaults.h (CAN_ELIMINATE): Remove.
      	* doc/tm.texi (CAN_ELIMINATE): Revise documentation.
      
      	* config/alpha/vms.h (CAN_ELIMINATE): Remove macro.
      	* config/alpha/alpha.c (TARGET_CAN_ELIMINATE) [TARGET_ABI_OPEN_VMS]:
      	Define macro.
      	(alpha_vms_can_eliminate): Declare as static, change return type to
      	bool.
      	* config/alpha/alpha-protos.h (alpha_vms_can_eliminate): Remove.
      
      	* config/arm/arm.h (CAN_ELIMINATE): Remove macro.
      	* config/arm/arm.c (TARGET_CAN_ELIMINATE): Define macro.
      	(arm_can_eliminate): New function.
      
      	* config/avr/avr.h (CAN_ELIMINATE): Remove macro.
      	* config/avr/avr.c (TARGET_CAN_ELIMINATE): Define macro.
      	(avr_can_eliminate): Declare as static.
      	* config/avr/avr-protos.h (avr_can_eliminate): Remove.
      
      	* config/bfin/bfin.h (CAN_ELIMINATE): Remove macro.
      	* config/bfin/bfin.c (TARGET_CAN_ELIMINATE): Define macro.
      	(bfin_can_eliminate): New function.
      
      	* config/crx/crx.h (CAN_ELIMINATE): Remove macro.
      	* config/crx/crx.c (TARGET_CAN_ELIMINATE): Define macro.
      	(crx_can_eliminate): New function.
      	
      	* config/fr30/fr30.h (CAN_ELIMINATE): Remove macro.
      	* config/fr30/fr30.c (TARGET_CAN_ELIMINATE): Define macro.
      	(fr30_can_eliminate): New function.
      
      	* config/frv/frv.h (CAN_ELIMINATE): Remove macro.
      	* config/frv/frv.c (TARGET_CAN_ELIMINATE): Define macro.
      	(frv_can_eliminate): New function.
      
      	* config/h8300/h8300.h (CAN_ELIMINATE): Remove macro.
      	* config/h8300/h8300.c (TARGET_CAN_ELIMINATE): Define macro.
      	(h8300_can_eliminate): New function.
      
      	* config/i386/i386.h (CAN_ELIMINATE): Remove macro.
      	* config/i386/i386.c (TARGET_CAN_ELIMINATE): Define macro.
      	(i386_can_eliminate): Declare as static, change return type to bool.
      	* config/i386/i386-protos.h (i386_can_eliminate): Remove.
      
      	* config/ia64/ia64.h (CAN_ELIMINATE): Remove macro.
      	* config/ia64/ia64.c (TARGET_CAN_ELIMINATE): Define macro.
      	(ia64_can_eliminate): New function.
      
      	* config/iq2000/iq2000.h (CAN_ELIMINATE): Remove macro.
      	* config/iq2000/iq2000.c (TARGET_CAN_ELIMINATE): Define macro.
      	(iq2000_can_eliminate): New function.
      
      	* config/m32r/m32r.h (CAN_ELIMINATE): Remove macro.
      	* config/m32r/m32r.c (TARGET_CAN_ELIMINATE): Define macro.
      	(m32r_can_eliminate): New function.
      
      	* config/m68hc11/m68hc11.h (CAN_ELIMINATE): Remove macro.
      	* config/m68hc11/m68hc11.c (TARGET_CAN_ELIMINATE): Define macro.
      	(m68hc11_can_eliminate): New function.
      
      	* config/m68k/m68k.h (CAN_ELIMINATE): Remove macro.
      	* config/m68k/m68k.c (TARGET_CAN_ELIMINATE): Define macro.
      	(m68k_can_eliminate): New function.
      
      	* config/mep/mep.h (CAN_ELIMINATE): Remove macro.
      	* config/mep/mep.c (TARGET_CAN_ELIMINATE): Define macro.
      	(mep_can_eliminate): New function.
      
      	* config/mips/mips.h (CAN_ELIMINATE): Remove macro.
      	* config/mips/mips.c (TARGET_CAN_ELIMINATE): Define macro.
      	(mips_can_eliminate): New function.
      
      	* config/rs6000/rs6000.h (CAN_ELIMINATE): Remove macro.
      	* config/rs6000/rs6000.c (TARGET_CAN_ELIMINATE): Define macro.
      	(rs6000_can_eliminate): New function.
      
      	* config/s390/s390.h (CAN_ELIMINATE): Remove macro.
      	* config/s390/s390.c (TARGET_CAN_ELIMINATE): Define macro.
      	(s390_can_eliminate): Declare as static.
      	* config/s390/s390-protos.h (sparc_can_eliminate): Remove.
      
      	* config/score/score.h (CAN_ELIMINATE): Remove macro.
      	* config/score/score.c (TARGET_CAN_ELIMINATE): Define macro.
      	(score_can_eliminate): New function.
      
      	* config/sparc/sparc.h (CAN_ELIMINATE): Remove macro.
      	* config/sparc/sparc.c (TARGET_CAN_ELIMINATE): Define macro.
      	(sparc_can_eliminate): Declare as static.
      	* config/sparc/sparc-protos.h (sparc_can_eliminate): Remove.
      
      	* config/stormy16/stormy16.h (CAN_ELIMINATE): Remove macro.
      	* config/stormy16/stormy16.c (TARGET_CAN_ELIMINATE): Define macro.
      	(xstormy16_can_eliminate): New function.
      
      	* config/v850/v850.h (CAN_ELIMINATE): Remove macro.
      	* config/v850/v850.c (TARGET_CAN_ELIMINATE): Define macro.
      	(v850_can_eliminate): New function.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151096 138bc75d-0d04-0410-961f-82ee72b054a4
      cd90919d
  38. 21 Aug, 2009 1 commit