1. 08 Aug, 2011 1 commit
    • Fix Dwarf unwind library for UNITS_PER_WORD > sizeof (void *) · cca2207a
      gcc/
      
      2011-08-08  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR other/48007
      	* config.gcc (libgcc_tm_file): Add i386/value-unwind.h for
      	Linux/x86.
      
      	* system.h (REG_VALUE_IN_UNWIND_CONTEXT): Poisoned.
      	(ASSUME_EXTENDED_UNWIND_CONTEXT): Likewise.
      
      	* unwind-dw2.c (ASSUME_EXTENDED_UNWIND_CONTEXT): New.
      	(_Unwind_Context_Reg_Val): Likewise.
      	(_Unwind_Get_Unwind_Word): Likewise.
      	(_Unwind_Get_Unwind_Context_Reg_Val): Likewise.
      	(_Unwind_Context): Use _Unwind_Context_Reg_Val on the reg field.
      	(_Unwind_IsExtendedContext): Check ASSUME_EXTENDED_UNWIND_CONTEXT
      	for EXTENDED_CONTEXT_BIT.
      	(__frame_state_for): Likewise.
      	(uw_init_context_1): Likewise.
      	(_Unwind_GetGR): Updated.
      	(_Unwind_SetGR): Likewise.
      	(_Unwind_GetGRPtr): Likewise.
      	(_Unwind_SetGRPtr): Likewise.
      	(_Unwind_SetGRValue): Likewise.
      	(_Unwind_GRByValue): Likewise.
      	(uw_install_context_1): Likewise.
      
      	* doc/tm.texi.in: Document REG_VALUE_IN_UNWIND_CONTEXT and
      	ASSUME_EXTENDED_UNWIND_CONTEXT.
      	* doc/tm.texi: Regenerated.
      
      libgcc/
      
      2011-08-08  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR other/48007
      	* config/i386/value-unwind.h: New.
      
      From-SVN: r177563
      H.J. Lu committed
  2. 05 Aug, 2011 1 commit
    • Makefile.in (UNWIND_H): Remove. · 201cdb74
      	gcc:
      	* Makefile.in (UNWIND_H): Remove.
      	(LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Move to
      	../libgcc/Makefile.in.
      	(LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): Likewise.
      	(LIBUNWINDDEP): Remove.
      	(libgcc-support): Remove LIB2ADDEH, $(srcdir)/emutls.c dependencies.
      	(libgcc.mvars): Remove LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED,
      	LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL.
      	(stmp-int-hdrs): Remove $(UNWIND_H) dependency.
      	Don't copy $(UNWIND_H).
      	* config.gcc (ia64*-*-linux*): Remove with_system_libunwind
      	handling.
      	* configure.ac (GCC_CHECK_UNWIND_GETIPINFO): Remove.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      	* emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h,
      	unwind-dw2-fde-compat.c, unwind-dw2-fde-glibc.c, unwind-dw2-fde.c,
      	unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h,
      	unwind-pe.h, unwind-sjlj.c, unwind.inc: Move to ../libgcc.
      	* unwind-dw2-fde-darwin.c: Move to ../libgcc/config.
      	* config/arm/libunwind.S, config/arm/pr-support.c,
      	config/arm/unwind-arm.c, config/arm/unwind-arm.h: Move to
      	../libgcc/config/arm.
      	* config/arm/t-bpabi (UNWIND_H, LIB2ADDEH): Remove.
      	* config/arm/t-symbian (UNWIND_H, LIB2ADDEH): Remove.
      	* config/frv/t-frv ($(T)frvbegin$(objext)): Use
      	$(srcdir)/../libgcc to refer to unwind-dw2-fde.h.
      	($(T)frvend$(objext)): Likewise.
      	* config/ia64/t-glibc (LIB2ADDEH): Remove.
      	* config/ia64/t-glibc-libunwind: Move to ../libgcc/config/ia64.
      	* config/ia64/fde-glibc.c, config/ia64/fde-vms.c,
      	config/ia64/unwind-ia64.c, config/ia64/unwind-ia64.h: Move to
      	../libgcc/config/ia64.
      	* config/ia64/t-hpux (LIB2ADDEH): Remove.
      	* config/ia64/t-ia64 (LIB2ADDEH): Remove.
      	* config/ia64/t-vms (LIB2ADDEH): Remove.
      	* config/ia64/vms.h (UNW_IVMS_MODE,
      	MD_UNW_COMPATIBLE_PERSONALITY_P): Remove.
      	* config/picochip/t-picochip (LIB2ADDEH): Remove.
      	* config/rs6000/aix.h (R_LR, MD_FROB_UPDATE_CONTEXT): Remove.
      	* config/rs6000/t-darwin (LIB2ADDEH): Remove.
      	* config/rs6000/darwin-fallback.c: Move to ../libgcc/config/rs6000.
      	* config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): Use
      	$(srcdir)/../libgcc to refer to unwinder sources.
      	* config/spu/t-spu-elf (LIB2ADDEH): Remove.
      	* config/t-darwin (LIB2ADDEH): Remove.
      	* config/t-freebsd (LIB2ADDEH): Remove.
      	* config/t-libunwind (LIB2ADDEH, LIB2ADDEHSTATIC): Remove.
      	* config/t-libunwind-elf: Move to ../libgcc/config.
      	* config/t-linux (LIB2ADDEH): Remove.
      	* config/t-sol2 (LIB2ADDEH): Remove.
      	* config/xtensa/t-xtensa (LIB2ADDEH): Remove.
      	* system.h (MD_FROB_UPDATE_CONTEXT): Poison.
      
      	gcc/po:
      	* EXCLUDES (unwind-c.c, unwind-dw2-fde-darwin.c)
      	(unwind-dw2-fde-glibc.c, unwind-dw2-fde.c, unwind-dw2-fde.h)
      	(unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h): Remove.
      
      	libgcc:
      	* Makefile.in (LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): New
      	variables.
      	(LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): New variables.
      	(LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Add $(srcdir)/emutls.c.
      	(install-unwind_h): New target.
      	(all): Depend on it.
      	* config.host (unwind_header): New variable.
      	(*-*-freebsd*): Set tmake_file to t-eh-dw2-dip.
      	(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
      	*-*-gnu*): Likewise, also for *-*-kopensolaris*-gnu.
      	(*-*-solaris2*): Add t-eh-dw2-dip to tmake_file.
      	(arm*-*-linux*): Add arm/t-bpabi for arm*-*-linux-*eabi.
      	Set unwind_header.
      	(arm*-*-uclinux*): Add arm/t-bpabi for arm*-*-uclinux*eabi.
      	Set unwind_header.
      	(arm*-*-eabi*, arm*-*-symbianelf*): Add arm/t-bpabi for
      	arm*-*-eabi*.
      	Add arm/t-symbian to tmake_file for arm*-*-symbianelf*.
      	Set unwind_header.
      	(ia64*-*-elf*): Add ia64/t-eh-ia64 to tmake_file.
      	(ia64*-*-freebsd*): Likewise.
      	(ia64*-*-linux*): Add ia64/t-glibc, ia64/t-eh-ia64, t-libunwind to
      	tmake_file.
      	Add t-libunwind-elf, ia64/t-glibc-libunwind unless
      	$with_system_libunwind.
      	(ia64*-*-hpux*): Set tmake_file.
      	(ia64-hp-*vms*): Add ia64/t-eh-ia64 to tmake_file.
      	(picochip-*-*): Set tmake_file.
      	(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Set
      	md_unwind_header.
      	(rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
      	(rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
      	(s390x-ibm-tpf*): Add t-eh-dw2-dip to tmake_file.
      	(xtensa*-*-elf*): Set tmake_file.
      	(xtensa*-*-linux*): Likewise.
      	* configure.ac: Include ../config/unwind_ipinfo.m4.
      	Call GCC_CHECK_UNWIND_GETIPINFO.
      	Link unwind.h to $unwind_header.
      	* configure: Regenerate.
      	* emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h,
      	unwind-dw2-fde-compat.c, unwind-dw2-fde-dip.c, unwind-dw2-fde.c,
      	unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h,
      	unwind-pe.h, unwind-sjlj.c, unwind.inc: New files.
      	* config/unwind-dw2-fde-darwin.c: New file.
      	* config/arm/libunwind.S, config/arm/pr-support.c,
      	config/arm/t-bpabi, config/arm/t-symbian, config/arm/unwind-arm.c,
      	config/arm/unwind-arm.h,: New files.
      	* config/ia64/fde-glibc.c, config/ia64/fde-vms.c,
      	config/ia64/t-eh-ia64, config/ia64/t-glibc,
      	config/ia64/t-glibc-libunwind, config/ia64/t-hpux,
      	config/ia64/t-vms, config/ia64/unwind-ia64.c,
      	config/ia64/unwind-ia64.h: New files.
      	* config/picochip/t-picochip: New file.
      	* config/rs6000/aix-unwind.h, config/rs6000/darwin-fallback.c: New
      	files.
      	* config/rs6000/t-darwin (LIB2ADDEH): Set.
      	* config/s390/t-tpf (LIB2ADDEH): Remove.
      	* config/t-darwin (LIB2ADDEH): Set.
      	* config/t-eh-dw2-dip: New file.
      	* config/t-libunwind, config/t-libunwind-elf: New files.
      	* config/t-sol2 (LIB2ADDEH): Remove.
      	* config/xtensa/t-xtensa: New file.
      
      	gcc/ada:
      	* gcc-interface/Makefile.in (raise-gcc.o): Search
      	$(srcdir)/../libgcc.
      
      	libgo:
      	* Makefile.am (AM_CFLAGS): Search $(srcdir)/../libgcc.
      	* Makefile.in: Regenerate.
      
      	libjava:
      	* configure.ac (GCC_UNWIND_INCLUDE): Rename to
      	LIBGCC_UNWIND_INCLUDE.
      	Point to $(multi_basedir)/./libjava/../libgcc.
      	* configure: Regenerate.
      	* Makefile.am (GCC_UNWIND_INCLUDE): Reflect this.
      	* Makefile.in: Regenerate.
      
      	libobjc:
      	* Makefile.in (INCLUDES): Search
      	$(srcdir)/$(MULTISRCTOP)../libgcc.
      
      	libstdc++-v3:
      	* acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Point TOPLEVEL_INCLUDES
      	to $(toplevel_srcdir)/libgcc.
      	* configure: Regenerate.
      
      From-SVN: r177447
      Rainer Orth committed
  3. 25 Jul, 2011 1 commit
  4. 21 Jul, 2011 1 commit
  5. 21 Jun, 2011 1 commit
    • gcc_update (gcc/config/avr/avr-tables.opt): New dependencies. · 1b916ca6
      contrib:
      	* gcc_update (gcc/config/avr/avr-tables.opt): New dependencies.
      
      gcc:
      	* config/avr/avr-mcus.def, config/avr/genopt.sh: New files.
      	* config/avr/avr-tables.opt: New file (generated).
      	* config.gcc (avr-*-*): Use avr/avr-tables.opt.
      	* config/avr/avr-devices.c (avr_mcu_types): Move contents to
      	avr-mcus.def.
      	* config/avr/avr.c (avr_help, TARGET_HELP): Remove.
      	(avr_option_override): Don't process -mmcu= argument here.  Set
      	avr_current_device using avr_mcu_index.
      	(avr_file_start): Use avr_current_device->name instead of
      	avr_mcu_name.
      	* config/avr/avr.opt (mmcu=): Use Enum.
      	* config/avr/t-avr (avr-devices.o): Update dependencies.
      	($(srcdir)/config/avr/avr-tables.opt): New.
      	* target.def (help): Remove.
      	* doc/tm.texi.in (TARGET_HELP): Remove.
      	* doc/tm.texi: Regenerate.
      	* opts.c: Don't include target.h.
      	(common_handle_option): Don't call targetm.help.
      	* system.h (TARGET_HELP): Poison.
      	* Makefile.in (opts.o): Update dependencies.
      
      From-SVN: r175248
      Joseph Myers committed
  6. 14 Jun, 2011 1 commit
    • common-target-def.h, [...]: New files. · c49a6962
      	* common/common-target-def.h, common/common-target.def,
      	common/common-target.h, common/config/default-common.c,
      	common/config/pa/pa-common.c: New files.
      	* Makefile.in (common_out_file, common_out_object_file,
      	COMMON_TARGET_H, COMMON_TARGET_DEF_H): New.
      	(OBJS-libcommon-target): Include $(common_out_object_file).
      	(prefix.o): Update dependencies.
      	($(common_out_object_file), common/common-target-hooks-def.h,
      	s-common-target-hooks-def-h): New.
      	(s-tm-texi): Also check timestamp on common-target.def.
      	(build/genhooks.o): Update dependencies.
      	* config.gcc (common_out_file, target_has_targetm_common): Define.
      	* config/pa/som.h (ALWAYS_STRIP_DOTDOT): Replace with
      	TARGET_ALWAYS_STRIP_DOTDOT.
      	* configure.ac (common_out_object_file): Define.
      	(common_out_file, common_out_object_file): Substitute.
      	(common): Create directory.
      	* configure: Regenerate.
      	* doc/tm.texi.in (targetm_common): Document.
      	(TARGET_ALWAYS_STRIP_DOTDOT): Add @hook entry.
      	* doc/tm.texi: Regenerate.
      	* genhooks.c (hook_array): Also include common/common-target.def.
      	* prefix.c (tm.h): Don't include.
      	(common/common-target.h): Include.
      	(ALWAYS_STRIP_DOTDOT): Don't define.
      	(update_path): Use targetm_common.always_strip_dotdot instead of
      	ALWAYS_STRIP_DOTDOT.
      	* system.h (ALWAYS_STRIP_DOTDOT): Poison.
      
      From-SVN: r175052
      Joseph Myers committed
  7. 10 Jun, 2011 2 commits
  8. 09 Jun, 2011 1 commit
    • netbsd.h (ENABLE_EXECUTE_STACK): Remove. · 10e48e39
      2011-05-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
      	    Joseph Myers  <joseph@codesourcery.com>
      
      	gcc:
      	* config/alpha/netbsd.h (ENABLE_EXECUTE_STACK): Remove.
      	(HAVE_ENABLE_EXECUTE_STACK): Define.
      	* config/alpha/osf5.h (ENABLE_EXECUTE_STACK): Remove.
      	(HAVE_ENABLE_EXECUTE_STACK): Define.
      	* config/darwin.h (ENABLE_EXECUTE_STACK): Remove.
      	(HAVE_ENABLE_EXECUTE_STACK): Define.
      	* config/i386/mingw32.h (MINGW_ENABLE_EXECUTE_STACK): Remove.
      	(ENABLE_EXECUTE_STACK): Remove.
      	(HAVE_ENABLE_EXECUTE_STACK): Define.
      	[IN_LIBGCC2]: Don't include <windows.h>.
      	* config/i386/netbsd-elf.h (ENABLE_EXECUTE_STACK): Remove.
      	(HAVE_ENABLE_EXECUTE_STACK): Define.
      	* config/i386/netbsd64.h (ENABLE_EXECUTE_STACK): Remove.
      	(HAVE_ENABLE_EXECUTE_STACK): Define.
      	* config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Remove.
      	* config/openbsd.h (ENABLE_EXECUTE_STACK): Remove.
      	(HAVE_ENABLE_EXECUTE_STACK): Define.
      	* config/sol2.h (ENABLE_EXECUTE_STACK): Remove.
      	(HAVE_ENABLE_EXECUTE_STACK): Define.
      	* config/sparc/freebsd.h (ENABLE_EXECUTE_STACK): Remove.
      	(HAVE_ENABLE_EXECUTE_STACK): Define.
      	* config/sparc/netbsd-elf.h (ENABLE_EXECUTE_STACK): Remove.
      	(HAVE_ENABLE_EXECUTE_STACK): Define.
      	* config/alpha/alpha.c (alpha_trampoline_init): Test
      	HAVE_ENABLE_EXECUTE_STACK.
      	* config/i386/i386.c (ix86_trampoline_init): Likewise.
      	* config/sparc/sparc.c (sparc32_initialize_trampoline): Likewise.
      	(sparc64_initialize_trampoline): Likewise.
      	* libgcc2.c [L_enable_execute_stack]: Remove.
      	* system.h (ENABLE_EXECUTE_STACK): Poison.
      	* doc/tm.texi.in (Trampolines, ENABLE_EXECUTE_STACK): Remove.
      	* doc/tm.texi: Regenerate.
      	* Makefile.in (LIBGCC2_CFLAGS): Add -fbuilding-libgcc.
      
      	gcc/c-family:
      	* c.opt (fbuilding-libgcc): New option.
      	* c-cppbuiltin.c (c_cpp_builtins): Define
      	__LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
      
      	libgcc:
      	* enable-execute-stack-empty.c: New file.
      	* enable-execute-stack-mprotect.c: New file.
      	* config/i386/enable-execute-stack-mingw32.c: New file.
      	* config.host (enable_execute_stack): New variable.
      	Select appropriate variants.
      	* configure.ac: Link enable-execute-stack.c to
      	$enable_execute_stack.
      	* configure: Regenerate.
      	* Makefile.in (LIB2ADD): Add enable-execute-stack.c.
      	(lib2funcs): Remove _enable_execute_stack.
      
      Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
      
      From-SVN: r174843
      Rainer Orth committed
  9. 03 Jun, 2011 1 commit
    • linux.h (MD_UNWIND_SUPPORT): Remove. · 58cd1d70
      	gcc:
      	* config/alpha/linux.h (MD_UNWIND_SUPPORT): Remove.
      	* config/alpha/osf5.h (MD_UNWIND_SUPPORT): Remove.
      	* config/alpha/vms.h (MD_UNWIND_SUPPORT): Remove.
      	* config/bfin/linux.h (MD_UNWIND_SUPPORT): Remove.
      	* config/bfin/uclinux.h (MD_UNWIND_SUPPORT): Remove.
      	* config/i386/linux.h (MD_UNWIND_SUPPORT): Remove.
      	* config/i386/linux64.h (MD_UNWIND_SUPPORT): Remove.
      	* config/i386/sol2.h (MD_UNWIND_SUPPORT): Remove.
      	* config/i386/mingw32.h (MD_UNWIND_SUPPORT): Remove.
      	* config/ia64/linux.h (MD_UNWIND_SUPPORT): Remove.
      	* config/ia64/vms.h (MD_UNWIND_SUPPORT): Remove.
      	* config/m68k/linux.h (MD_UNWIND_SUPPORT): Remove.
      	* config/mips/linux.h (MD_UNWIND_SUPPORT): Remove.
      	* config/pa/pa-hpux.h (MD_UNWIND_SUPPORT): Remove.
      	* config/pa/pa32-linux.h (MD_UNWIND_SUPPORT): Remove.
      	* config/rs6000/darwin.h (MD_UNWIND_SUPPORT): Remove.
      	* config/rs6000/linux.h (MD_UNWIND_SUPPORT): Remove.
      	* config/rs6000/linux64.h (MD_UNWIND_SUPPORT): Remove.
      	* config/s390/linux.h (MD_UNWIND_SUPPORT): Remove.
      	* config/s390/tpf.h (MD_UNWIND_SUPPORT): Remove.
      	* config/sh/linux.h (MD_UNWIND_SUPPORT): Remove.
      	* config/sparc/linux.h (MD_UNWIND_SUPPORT): Remove.
      	* config/sparc/linux64.h (MD_UNWIND_SUPPORT): Remove.
      	* config/sparc/sol2.h (MD_UNWIND_SUPPORT): Remove.
      	* config/xtensa/linux.h (MD_UNWIND_SUPPORT): Remove.
      	* config/alpha/linux-unwind.h: Move to ../libgcc/config/alpha.
      	* config/alpha/osf5-unwind.h: Move to ../libgcc/config/alpha.
      	* config/alpha/vms-unwind.h: Move to ../libgcc/config/alpha.
      	* config/bfin/linux-unwind.h: Move to ../libgcc/config/bfin.
      	* config/i386/linux-unwind.h: Move to ../libgcc/config/i386.
      	* config/i386/sol2-unwind.h: Move to ../libgcc/config/i386.
      	* config/i386/w32-unwind.h: Move to ../libgcc/config/i386.
      	* config/ia64/linux-unwind.h: Move to ../libgcc/config/ia64.
      	* config/ia64/vms-unwind.h: Move to ../libgcc/config/ia64.
      	* config/m68k/linux-unwind.h: Move to ../libgcc/config/m68k.
      	* config/mips/linux-unwind.h: Move to ../libgcc/config/mips.
      	* config/pa/hpux-unwind.h: Move to ../libgcc/config/pa.
      	* config/pa/linux-unwind.h: Move to ../libgcc/config/pa.
      	* config/rs6000/darwin-unwind.h: Move to ../libgcc/config/rs6000.
      	* config/rs6000/linux-unwind.h: Move to ../libgcc/config/rs6000.
      	* config/s390/linux-unwind.h: Move to ../libgcc/config/s390.
      	* config/s390/tpf-unwind.h: Move to ../libgcc/config/s390.
      	* config/sh/linux-unwind.h: Move to ../libgcc/config/sh.
      	* config/sparc/linux-unwind.h: Move to ../libgcc/config/sparc.
      	* config/sparc/sol2-unwind.h: Move to ../libgcc/config/sparc.
      	* config/xtensa/linux-unwind.h: Move to ../libgcc/config/xtensa.
      	* config/darwin9.h (DARWIN_LIBSYSTEM_HAS_UNWIND): Remove.
      	* system.h (MD_UNWIND_SUPPORT): Poison.
      	* doc/tm.texi.in (Exception Handling, MD_UNWIND_SUPPORT): Remove.
      	* doc/tm.texi: Regenerate.
      	* unwind-dw2.c: Include md-unwind-support.h instead of
      	MD_UNWIND_SUPPORT.
      	* config/ia64/unwind-ia64.c: Likewise.
      	* config/xtensa/unwind-dw2-xtensa.c: Likewise.
      
      	libgcc:
      	* config/alpha/linux-unwind.h: Move from ../gcc/config/alpha.
      	* config/alpha/osf5-unwind.h: Move from ../gcc/config/alpha.
      	* config/alpha/vms-unwind.h: Move from ../gcc/config/alpha.
      	* config/bfin/linux-unwind.h: Move from ../gcc/config/bfin.
      	* config/i386/linux-unwind.h: Move from ../gcc/config/i386.
      	* config/i386/sol2-unwind.h: Move from ../gcc/config/i386.
      	* config/i386/w32-unwind.h: Move from ../gcc/config/i386.
      	Wrap in !__MINGW64__.
      	* config/ia64/linux-unwind.h: Move from ../gcc/config/ia64.
      	* config/ia64/vms-unwind.h: Move from ../gcc/config/ia64.
      	* config/m68k/linux-unwind.h: Move from ../gcc/config/m68k.
      	* config/mips/linux-unwind.h: Move from ../gcc/config/mips.
      	* config/pa/hpux-unwind.h: Move from ../gcc/config/pa.
      	* config/pa/linux-unwind.h: Move from ../gcc/config/pa.
      	* config/rs6000/darwin-unwind.h: Move from ../gcc/config/rs6000.
      	Wrap in !__LP64__.
      	* config/rs6000/linux-unwind.h: Move from ../gcc/config/rs6000.
      	* config/s390/linux-unwind.h: Move from ../gcc/config/s390.
      	* config/s390/tpf-unwind.h: Move from ../gcc/config/s390.
      	* config/sh/linux-unwind.h: Move from ../gcc/config/sh.
      	* config/sparc/linux-unwind.h: Move from ../gcc/config/sparc.
      	* config/sparc/sol2-unwind.h: Move from ../gcc/config/sparc.
      	* config/xtensa/linux-unwind.h: Move from ../gcc/config/xtensa.
      	* config/no-unwind.h: New file.
      	* config.host (md_unwind_header): Document.
      	Define.
      	(alpha*-*-linux*, alpha*-dec-osf5.1*, alpha64-dec-*vms*,
      	alpha*-dec-*vms*, bfin*-uclinux*, bfin*-linux-uclibc*,
      	hppa*-*-linux*, hppa[12]*-*-hpux10*, hppa*64*-*-hpux11*,
      	hppa[12]*-*-hpux11*): Set md_unwind_header.
      	(i[34567]86-*-linux*): Handle i[34567]86-*-kopensolaris*-gnu.
      	Set md_unwind_header.
      	(x86_64-*-linux*, i[34567]86-*-solaris2*): Set md_unwind_header.
      	(i[34567]86-*-cygwin*): Split from i[34567]86-*-mingw*.
      	(i[34567]86-*-mingw*, ia64*-*-linux*, ia64-hp-*vms*,
      	m68k-*-uclinux*, m68k-*-linux*, mips64*-*-linux*, mips*-*-linux*,
      	powerpc-*-darwin*, powerpc-*-linux*, s390-*-linux*,
      	s390x-*-linux*,  s390x-ibm-tpf*, sh*-*-linux*, sparc-*-linux*,
      	sparc*-*-solaris2*, sparc64-*-linux*, xtensa*-*-linux*): Set
      	md_unwind_header.
      	* configure.ac: Link md-unwind-support.h to $md_unwind_header.
      	* configure: Regenerate.
      
      From-SVN: r174613
      Rainer Orth committed
  10. 25 May, 2011 1 commit
    • libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if LIBGCC2_GNU_PREFIX is defined. · cdbf4541
      	gcc/
      	* libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if
      	LIBGCC2_GNU_PREFIX is defined.
      	(__N): New macro.
      	(__powisf2, __powidf2, __powitf2, __powixf2, __bswapsi2, __bswapdi2,
      	__mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3, __divxc3,
      	__divtc3, __udiv_w_sdiv, __clear_cache, __enable_execute_stack,
      	__clz_tab): Define using __N.
      	(__absvsi2, __negvsi2, __addvsi3, __subvsi3, __mulvsi3): Likewise if
      	COMPAT_SIMODE_TRAPPING_ARITHMETIC.
      	* target.def (libfunc_gnu_prefix): New hook.
      	* doc/tm.texi.in (LIBGCC2_GNU_PREFIX): Document.
      	(TARGET_LIBFUNC_GNU_PREFIX): Add hook.
      	* doc/tm.texi: Regenerate.
      	* system.h (LIBGCC2_GNU_PREFIX): Poison.
      	* optabs.c (gen_libfunc): Take the libfunc_gnu_prefix hook into
      	account.
      	(gen_interclass_conv_libfunc, gen_intraclass_conv_libfunc): Likewise.
      	(init_optabs): Likewise for the bswap libfuncs.
      	* tree.c (build_common_builtin_nodes): Likewise for complex multiply
      	and divide.
      	* config/t-slibgcc-elf-ver (SHLIB_MAPFILES): Use $$(libgcc_objdir).
      	* config/t-slibgcc-sld (SHLIB_MAPFILES): Likewise.
      	* libgcc-std.ver: Remove.
      	* Makefile.in (srcdirify): Handle $$(libgcc_objdir).
      	* config/frv/t-linux (SHLIB_MAPFILES): Use $$(libgcc_objdir) for
      	libgcc-std.ver.
      	* config/i386/t-linux (SHLIB_MAPFILES): Likewise.
      	* config/mips/t-slibgcc-irix (SHLIB_MAPFILES): Likewise.
      	* config/rs6000/t-aix43 (SHLIB_MAPFILES): Likewise.
      	* config/rs6000/t-aix52 (SHLIB_MAPFILES): Likewise.
      	* config/sparc/t-linux (SHLIB_MAPFILES): Likewise.
      	* config/i386/t-linux (SHLIB_MAPFILES): Likewise.
      	* config/i386/t-linux (SHLIB_MAPFILES): Likewise.
      	* config/fixed-bit.h (FIXED_OP): Define differently depending on
      	LIBGCC2_GNU_PREFIX. All uses changed not to pass leading underscores.
      	(FIXED_CONVERT_OP, FIXED_CONVERT_OP2): Likewise.
      
      	libgcc/
      	* libgcc-std.ver.in: New file.
      	* Makefile.in (LIBGCC_VER_GNU_PREFIX, LIBGCC_VER_SYMBOLS_PREFIX): New
      	variables.
      	(libgcc-std.ver): New rule.
      	* config/t-gnu-prefix: New file.
      
      From-SVN: r174187
      Bernd Schmidt committed
  11. 10 May, 2011 1 commit
    • config.gcc (libgcc_tm_file): Define instead of including files from… · 80cf2e08
      config.gcc (libgcc_tm_file): Define instead of including files from ../../libgcc/config/ in tm_file.
      
      gcc:
      	* config.gcc (libgcc_tm_file): Define instead of including files
      	from ../../libgcc/config/ in tm_file.
      	* configure.ac (libgcc_tm_file_list, libgcc_tm_include_list):
      	Define.
      	* configure: Regenerate.
      	* Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list,
      	libgcc_tm.h, cs-libgcc_tm.h): New.
      	(TM_H): Include libgcc_tm.h and $(libgcc_tm_file_list).
      	(clean): Remove libgcc_tm.h.
      	* config/arm/symbian.h (RENAME_LIBRARY): Remove.
      	* mkconfig.sh: Include libgcc_tm.h in tm.h if USED_FOR_TARGET.
      	* system.h (DECLARE_LIBRARY_RENAMES): Poison.
      
      libgcc:
      	* config/arm/symbian-lib.h: New.
      
      From-SVN: r173619
      Joseph Myers committed
  12. 25 Apr, 2011 1 commit
  13. 21 Apr, 2011 1 commit
    • target.def (legitimate_constant_p): New hook. · 1a627b35
      gcc/
      	* target.def (legitimate_constant_p): New hook.
      	* doc/tm.texi.in (LEGITIMATE_CONSTANT_P): Replace with...
      	(TARGET_LEGITIMATE_CONSTANT_P): ...this.
      	* doc/tm.texi: Regenerate.
      	* hooks.h (hook_bool_mode_rtx_true): Declare.
      	* hooks.c (hook_bool_mode_rtx_true): Define.
      	* system.h (LEGITIMATE_CONSTANT_P): Poison.
      	* calls.c (precompute_register_parameters): Replace uses of
      	LEGITIMATE_CONSTANT_P with targetm.legitimate_constant_p.
      	(emit_library_call_value_1): Likewise.
      	* expr.c (move_block_to_reg, can_store_by_pieces, emit_move_insn)
      	(compress_float_constant, emit_push_insn, expand_expr_real_1): Likewise.
      	* ira-costs.c (scan_one_insn): Likewise.
      	* recog.c (general_operand, immediate_operand): Likewise.
      	* reload.c (find_reloads_toplev, find_reloads_address_part): Likewise.
      	* reload1.c (init_eliminable_invariants): Likewise.
      
      	* config/alpha/alpha-protos.h (alpha_legitimate_constant_p): Add a
      	mode argument.
      	* config/alpha/alpha.h (LEGITIMATE_CONSTANT_P): Delete.
      	* config/alpha/alpha.c (alpha_legitimate_constant_p): Add a mode
      	argument.
      	(TARGET_LEGITIMATE_CONSTANT_P): Define.
      	* config/alpha/predicates.md (input_operand): Update call to
      	alpha_legitimate_constant_p.
      
      	* config/arm/arm-protos.h (arm_cannot_force_const_mem): Delete.
      	* config/arm/arm.h (ARM_LEGITIMATE_CONSTANT_P): Likewise.
      	(THUMB_LEGITIMATE_CONSTANT_P, LEGITIMATE_CONSTANT_P): Likewise.
      	* config/arm/arm.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
      	(arm_legitimate_constant_p_1, thumb_legitimate_constant_p)
      	(arm_legitimate_constant_p): New functions.
      	(arm_cannot_force_const_mem): Make static.
      
      	* config/avr/avr.h (LEGITIMATE_CONSTANT_P): Delete.
      
      	* config/bfin/bfin-protos.h (bfin_legitimate_constant_p): Delete.
      	* config/bfin/bfin.h (LEGITIMATE_CONSTANT_P): Delete.
      	* config/bfin/bfin.c (expand_move): Use targetm.legitimate_constant_p
      	instead of bfin_legitimate_constant_p.
      	(bfin_legitimate_constant_p): Make static.  Add a mode argument.
      	(TARGET_LEGITIMATE_CONSTANT_P): Define.
      
      	* config/cris/cris.h (LEGITIMATE_CONSTANT_P): Delete.
      
      	* config/fr30/fr30.h (LEGITIMATE_CONSTANT_P): Delete.
      
      	* config/frv/frv-protos.h (frv_legitimate_constant_p): Delete.
      	* config/frv/frv.h (LEGITIMATE_CONSTANT_P): Delete.
      	* config/frv/frv.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
      	(frv_legitimate_constant_p): Make static.  Add a mode argument.
      
      	* config/h8300/h8300-protos.h (h8300_legitimate_constant_p): Delete.
      	* config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Likewise.
      	* config/h8300/h8300.c (h8300_legitimate_constant_p): Likewise.
      
      	* config/i386/i386-protos.h (legitimate_constant_p): Delete.
      	* config/i386/i386.h (LEGITIMATE_CONSTANT_P): Likewise.
      	* config/i386/i386.c (legitimate_constant_p): Rename to...
      	(ix86_legitimate_constant_p): ...this.  Make static.  Add a mode
      	argument.
      	(ix86_cannot_force_const_mem): Update accordingly.
      	(ix86_legitimate_address_p): Likewise.
      	(TARGET_LEGITIMATE_CONSTANT_P): Define.
      	* config/i386/i386.md: Update commentary.
      
      	* config/ia64/ia64-protos.h (ia64_legitimate_constant_p): Delete.
      	* config/ia64/ia64.h (LEGITIMATE_CONSTANT_P): Likewise.
      	* config/ia64/ia64.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
      	(ia64_legitimate_constant_p): Make static.  Add a mode argument.
      
      	* config/iq2000/iq2000.h (LEGITIMATE_CONSTANT_P): Delete.
      
      	* config/lm32/lm32-protos.h (lm32_legitimate_constant_p): Delete.
      	* config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Likewise.
      	* config/lm32/lm32.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
      	(lm32_legitimate_constant_p): Make static.  Add a mode argument.
      
      	* config/m32c/m32c-protos.h (m32c_legitimate_constant_p): Delete.
      	* config/m32c/m32c.h (LEGITIMATE_CONSTANT_P): Likewise.
      	* config/m32c/m32c.c (m32c_legitimate_constant_p): Likewise.
      
      	* config/m32r/m32r.h (LEGITIMATE_CONSTANT_P): Delete.
      	* config/m32r/m32r.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
      	(m32r_legitimate_constant_p): New function.
      
      	* config/m68k/m68k-protos.h (m68k_legitimate_constant_p): Declare.
      	* config/m68k/m68k.h (CONSTANT_ADDRESS_P): Call it instead of
      	LEGITIMATE_CONSTANT_P.
      	(LEGITIMATE_CONSTANT_P): Delete.
      	* config/m68k/m68k.c (m68k_expand_prologue): Call
      	m68k_legitimate_constant_p instead of LEGITIMATE_CONSTANT_P.
      	(m68k_legitimate_constant_p): New function.
      	* config/m68k/m68k.md: Update comments.
      
      	* config/mcore/mcore.h (LEGITIMATE_CONSTANT_P): Delete.
      	* config/mcore/mcore.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
      	(mcore_legitimate_constant_p): New function.
      
      	* config/mep/mep-protos.h (mep_legitimate_constant_p): Delete.
      	* config/mep/mep.h (LEGITIMATE_CONSTANT_P): Likewise.
      	* config/mep/mep.c (mep_legitimate_constant_p): Make static.
      	Add a mode argument.
      	(mep_legitimate_address): Update accordingly.
      	(TARGET_LEGITIMATE_CONSTANT_P): Define.
      
      	* config/microblaze/microblaze-protos.h (microblaze_const_double_ok):
      	Delete.
      	* config/microblaze/microblaze.h (LEGITIMATE_CONSTANT_P): Likewise.
      	* config/microblaze/microblaze.c (microblaze_const_double_ok): Make
      	static.  Check OP's mode for VOIDmode.
      	(microblaze_legitimate_constant_p): New function.
      	(TARGET_LEGITIMATE_CONSTANT_P): Define.
      
      	* config/mips/mips.h (LEGITIMATE_CONSTANT_P): Delete.
      	* config/mips/mips.c (mips_legitimate_constant_p): New function.
      	(mips_cannot_force_const_mem): Use it instead of LEGITIMATE_CONSTANT_P.
      	(TARGET_LEGITIMATE_CONSTANT_P): Define.
      	* config/mips/predicates.md: Update comments.
      
      	* config/mmix/mmix-protos.h (mmix_legitimate_constant_p): Delete.
      	* config/mmix/mmix.h (LEGITIMATE_CONSTANT_P): Likewise.
      	* config/mmix/mmix.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
      	(mmix_legitimate_constant_p): Make static, return a bool, and take
      	a mode argument.
      	(mmix_print_operand_address): Update accordingly.
      
      	* config/mn10300/mn10300-protos.h (mn10300_legitimate_constant_p):
      	Delete.
      	* config/mn10300/mn10300.h (LEGITIMATE_CONSTANT_P): Likewise.
      	* config/mn10300/mn10300.c (mn10300_legitimate_constant_p):
      	Make static.  Add a mode argument.
      	(TARGET_LEGITIMATE_CONSTANT_P): Define.
      
      	* config/moxie/moxie.h (LEGITIMATE_CONSTANT_P): Delete.
      
      	* config/pa/pa.h (LEGITIMATE_CONSTANT_P): Delete.
      	* config/pa/pa.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
      	(pa_legitimate_constant_p): New function.
      
      	* config/picochip/picochip.h (LEGITIMATE_CONSTANT_P): Delete.
      
      	* config/pdp11/pdp11.h (LEGITIMATE_CONSTANT_P): Delete.
      	* config/pdp11/pdp11.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
      	(pdp11_legitimate_constant_p): New function.
      
      	* config/rs6000/rs6000.h (LEGITIMATE_CONSTANT_P): Delete.
      	* config/rs6000/rs6000.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
      	(rs6000_legitimate_constant_p): New function.
      
      	* config/rx/rx-protos.h (rx_is_legitimate_constant): Replace with...
      	(rx_legitimate_constant_p): ...this.
      	* config/rx/rx.h (LEGITIMATE_CONSTANT_P): Delete.
      	* config/rx/rx.c (rx_is_legitimate_constant): Replace with...
      	(rx_legitimate_constant_p): ...this.
      	(TARGET_LEGITIMATE_CONSTANT_P): Define.
      	* config/rx/rx.md (mov<register_modes:mode>): Update accordingly.
      
      	* config/s390/s390-protos.h (legitimate_constant_p): Delete.
      	* config/s390/s390.h (LEGITIMATE_CONSTANT_P): Likewise.
      	* config/s390/s390.c (legitimate_constant_p): Rename to...
      	(s390_legitimate_constant_p): ...this.  Make static, return a bool,
      	and add a mode argument.
      	(TARGET_LEGITIMATE_CONSTANT_P): Define.
      
      	* config/score/score.h (LEGITIMATE_CONSTANT_P): Delete.
      
      	* config/sh/sh.h (LEGITIMATE_CONSTANT_P): Delete.
      	* config/sh/sh.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
      	(sh_legitimate_constant_p): New function.
      
      	* config/sparc/sparc-protos.h (legitimate_constant_p): Delete.
      	* config/sparc/sparc.h (LEGITIMATE_CONSTANT_P): Delete.
      	* config/sparc/sparc.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
      	(legitimate_constant_p): Rename to...
      	(sparc_legitimate_constant_p): ...this.  Make static.  Add a mode
      	argument.
      	(constant_address_p): Update accordingly.
      
      	* config/spu/spu-protos.h (spu_legitimate_constant_p): Add a mode
      	argument and return a bool.
      	* config/spu/spu.h (LEGITIMATE_CONSTANT_P): Delete.
      	* config/spu/spu.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
      	(spu_legitimate_constant_p): Add a mode argument and return a bool.
      	(spu_rtx_costs): Update accordingly.
      	* config/spu/predicates.md (vec_imm_operand): Likewise.
      
      	* config/stormy16/stormy16.h (LEGITIMATE_CONSTANT_P): Delete.
      
      	* config/v850/v850.h (LEGITIMATE_CONSTANT_P): Delete.
      	* config/v850/v850.c (v850_legitimate_constant_p): New function.
      	(TARGET_LEGITIMATE_CONSTANT_P): Define.
      
      	* config/vax/vax-protos.h (legitimate_constant_p): Delete.
      	* config/vax/vax.h (LEGITIMATE_CONSTANT_P): Likewise.
      	* config/vax/vax.c (legitimate_constant_p): Likewise.
      
      	* config/xtensa/xtensa.h (LEGITIMATE_CONSTANT_P): Delete.
      	* config/xtensa/xtensa.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
      	(xtensa_legitimate_constant_p): New function.
      
      From-SVN: r172814
      Richard Sandiford committed
  14. 08 Apr, 2011 1 commit
    • tm.texi.in (ASM_OUTPUT_BSS): Remove documentation. · 07c5f94e
      	* doc/tm.texi.in (ASM_OUTPUT_BSS): Remove documentation.
      	(BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Update documentation.
      	* doc/tm.texi: Regenerate.
      	* system.h (ASM_OUTPUT_BSS): Poison.
      	* varasm.c (asm_output_bss): Remove function.
      	(emit_bss, init_varasm_once): Don't use ASM_OUTPUT_BSS macro.
      	
      	* config/frv/frv.h (BSS_SECTION_ASM_OP): Remove comment.
      	* config/frv/fr30.h (BSS_SECTION_ASM_OP): Likewise.
      	* config/i386/djgpp.h (BSS_SECTION_ASM_OP): Likewise.
      	* config/i386/i386elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
      	Likewise.
      	* config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
      	Likewise.
      	* config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
      	Likewise.
      	* config/m68k/netbsd-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
      
      From-SVN: r172166
      Anatoly Sokolov committed
  15. 06 Apr, 2011 1 commit
    • tm.texi.in: Document C target hooks as separate from general target hooks. · acce4e77
      	* doc/tm.texi.in: Document C target hooks as separate from general
      	target hooks.
      	* doc/tm.texi: Regenerate.
      	* genhooks.c (struct hook_desc): Add docname field.
      	(HOOK_VECTOR_1, DEFHOOKPOD, DEFHOOK, DEFHOOK_UNDOC).  Initialize
      	docname field.
      	(hook_array): Include c-target.def.
      	(emit_documentation): Use docname field in output.
      	(emit_init_macros): Take docname argument.  Only emit definitions
      	for hooks matching docname.
      	(main): Expect additional arguments in all cases.  Pass argument
      	to emit_init_macros.
      	* target.def: Move initial macro definitions and comments to
      	target-hooks-macros.h.
      	(gcc_targetcm): Move to c-family/c-target.def.
      	* target.h (targetcm): Move declaration to c-family/c-target.h.
      	* targhooks.c (default_handle_c_option): Move to
      	c-family/c-opts.c.
      	* targhooks.h (default_handle_c_option): Move declaration to
      	c-family/c-common.h.
      	* target-hooks-macros.h: New file.
      	* config.gcc (target_has_targetcm): Define and use to add to
      	c_target_objs and cxx_target_objs.
      	* config/default-c.c: New file.
      	* config/darwin-c.c: Include c-target.h and c-target-def.h instead
      	of target.h and target-def.h.
      	(TARGET_HANDLE_C_OPTION, targetcm): Define later in file.
      	(darwin_objc_construct_string, darwin_cfstring_ref_p,
      	darwin_check_cfstring_format_arg): Make static.
      	(TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
      	TARGET_STRING_OBJECT_REF_TYPE_P,
      	TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): Define here.
      	* config/darwin-protos.h (darwin_objc_construct_string,
      	darwin_cfstring_ref_p, darwin_check_cfstring_format_arg): Don't
      	declare.
      	* config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
      	TARGET_STRING_OBJECT_REF_TYPE_P,
      	TARGET_CHECK_STRING_OBJECT_FORMAT_ARG, TARGET_HAS_TARGETCM):
      	Remove.
      	* config/t-darwin (darwin-c.o): Update dependencies.
      	* system.h (TARGET_HAS_TARGETCM): Poison.
      	* Makefile.in (TARGET_H): Update.
      	(TARGET_DEF, C_TARGET_DEF, C_TARGET_H, C_TARGET_DEF_H): Define.
      	(c-family/c-format.o, c-family/c-opts.o): Update dependencies.
      	(default-c.o): New target.
      	(s-target-hooks-def-h): Pass "Target Hook" string to genhooks.
      	(c-family/c-target-hooks-def.h, s-c-target-hooks-def-h): New
      	targets.
      	(s-tm-texi): Pass -d option to genhooks.  Also test timestamp on
      	c-target.def.
      	(build/genhooks.o): Update dependencies.
      
      c-family:
      	* c-target-def.h: New file.
      	* c-target.def: New file.
      	* c-target.h: New file.
      	* c-common.c (targetcm): Don't define here.
      	* c-common.h (default_handle_c_option): Declare.
      	* c-format.c: Include c-target.h instead of target.h.
      	* c-opts.c: Include c-target.h instead of target.h.  Explicitly
      	include tm.h.
      	(default_handle_c_option): Move from targhooks.c.
      
      objc:
      	* objc-act.c: Include c-target.h instead of target.h.
      	* Make-lang.in (objc/objc-act.o): Update dependencies.
      
      From-SVN: r172035
      Joseph Myers committed
  16. 31 Mar, 2011 1 commit
    • re PR target/47109 (m68k-netbsdelf: collect2 build fails with undefined… · eb1eb914
      re PR target/47109 (m68k-netbsdelf: collect2 build fails with undefined reference to m68k_cpu_flags)
      
      	PR target/47109
      	* doc/tm.texi.in (TARGET_VERSION): Remove.
      	* doc/tm.texi: Regenerate.
      	* system.h (TARGET_VERSION, MACHINE_TYPE): Poison.
      	* collect2.c (main): Don't use TARGET_VERSION.
      	* mips-tdump.c (main): Don't use TARGET_VERSION.
      	* mips-tfile.c (main): Don't use TARGET_VERSION.
      	* config.gcc (powerpc-wrs-vxworksae): Don't use
      	rs6000/vxworksae.h.
      	* config/rs6000/vxworksae.h: Remove.
      	* config/alpha/alpha.h (TARGET_VERSION): Remove.
      	* config/alpha/freebsd.h (TARGET_VERSION): Remove.
      	* config/alpha/linux-elf.h (TARGET_VERSION): Remove.
      	* config/alpha/netbsd.h (TARGET_VERSION): Remove.
      	* config/alpha/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
      	* config/arm/arm.h (TARGET_VERSION): Remove.
      	* config/arm/coff.h (TARGET_VERSION): Remove.
      	* config/arm/ecos-elf.h (TARGET_VERSION): Remove.
      	* config/arm/elf.h (TARGET_VERSION): Remove.
      	* config/arm/freebsd.h (TARGET_VERSION): Remove.
      	* config/arm/linux-elf.h (TARGET_VERSION): Remove.
      	* config/arm/netbsd-elf.h (TARGET_VERSION): Remove.
      	* config/arm/pe.h (TARGET_VERSION): Remove.
      	* config/arm/rtems-elf.h (TARGET_VERSION): Remove.
      	* config/arm/semi.h (TARGET_VERSION): Remove.
      	* config/arm/uclinux-elf.h (TARGET_VERSION): Remove.
      	* config/arm/unknown-elf.h (TARGET_VERSION): Remove.
      	* config/arm/vxworks.h (TARGET_VERSION): Remove.
      	* config/avr/avr.h (TARGET_VERSION): Remove.
      	* config/bfin/bfin.h (TARGET_VERSION): Remove.
      	* config/fr30/fr30.h (TARGET_VERSION): Remove.
      	* config/frv/frv.h (TARGET_VERSION): Remove.
      	* config/h8300/h8300.h (TARGET_VERSION): Remove.
      	* config/i386/cygwin.h (TARGET_VERSION): Remove.
      	* config/i386/darwin.h (TARGET_VERSION): Remove.
      	* config/i386/darwin64.h (TARGET_VERSION): Remove.
      	* config/i386/djgpp.h (TARGET_VERSION): Remove.
      	* config/i386/freebsd.h (TARGET_VERSION): Remove.
      	* config/i386/freebsd64.h (TARGET_VERSION): Remove.
      	* config/i386/gnu.h (TARGET_VERSION): Remove.
      	* config/i386/i386-interix.h (TARGET_VERSION): Remove.
      	* config/i386/i386elf.h (TARGET_VERSION): Remove.
      	* config/i386/linux.h (TARGET_VERSION): Remove.
      	* config/i386/linux64.h (TARGET_VERSION): Remove.
      	* config/i386/lynx.h (TARGET_VERSION): Remove.
      	* config/i386/mingw32.h (TARGET_VERSION): Remove.
      	* config/i386/netbsd-elf.h (TARGET_VERSION): Remove.
      	* config/i386/netbsd64.h (TARGET_VERSION): Remove.
      	* config/i386/netware.h (TARGET_VERSION): Remove.
      	* config/i386/nto.h (TARGET_VERSION): Remove.
      	* config/i386/openbsd.h (TARGET_VERSION): Remove.
      	* config/i386/vxworks.h (TARGET_VERSION): Remove.
      	* config/ia64/elf.h (TARGET_VERSION): Remove.
      	* config/ia64/freebsd.h (TARGET_VERSION): Remove.
      	* config/ia64/hpux.h (TARGET_VERSION): Remove.
      	* config/ia64/linux.h (TARGET_VERSION): Remove.
      	* config/ia64/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
      	* config/iq2000/iq2000.h (IQ2000_VERSION, MACHINE_TYPE,
      	TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
      	* config/lm32/lm32.h (TARGET_VERSION): Remove.
      	* config/lm32/uclinux-elf.h (TARGET_VERSION): Remove.
      	* config/m32c/m32c.h (TARGET_VERSION): Remove.
      	* config/m32r/linux.h (LINUX_DEFAULT_ELF, TARGET_VERSION): Remove.
      	* config/m32r/m32r.h (TARGET_VERSION): Remove.
      	* config/m68k/linux.h (TARGET_VERSION): Remove.
      	* config/m68k/m68k.h (TARGET_VERSION): Remove.
      	* config/m68k/netbsd-elf.h (TARGET_VERSION): Remove.
      	* config/m68k/uclinux.h (TARGET_VERSION): Remove.
      	* config/mcore/mcore-elf.h (TARGET_VERSION): Remove.
      	* config/mep/mep.h (TARGET_VERSION): Remove.
      	* config/microblaze/microblaze.h (MICROBLAZE_VERSION,
      	MACHINE_TYPE, TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
      	* config/mips/iris6.h (MACHINE_TYPE): Remove.
      	* config/mips/linux.h (TARGET_VERSION): Remove.
      	* config/mips/netbsd.h (MACHINE_TYPE): Remove.
      	* config/mips/vxworks.h (TARGET_VERSION): Remove.
      	* config/mmix/mmix.h (TARGET_VERSION): Remove.
      	* config/mn10300/linux.h (TARGET_VERSION): Remove.
      	* config/mn10300/mn10300.h (TARGET_VERSION): Remove.
      	* config/pa/pa.h (TARGET_VERSION): Remove.
      	* config/pdp11/pdp11.h (TARGET_VERSION): Remove.
      	* config/picochip/picochip.h (TARGET_VERSION): Remove.
      	* config/rs6000/aix.h (TARGET_VERSION): Remove.
      	* config/rs6000/darwin.h (TARGET_VERSION): Remove.
      	* config/rs6000/darwin64.h (TARGET_VERSION): Remove.
      	* config/rs6000/eabi.h (TARGET_VERSION): Remove.
      	* config/rs6000/eabialtivec.h (TARGET_VERSION): Remove.
      	* config/rs6000/eabisim.h (TARGET_VERSION): Remove.
      	* config/rs6000/eabispe.h (TARGET_VERSION): Remove.
      	* config/rs6000/freebsd.h (TARGET_VERSION): Remove.
      	* config/rs6000/linux.h (TARGET_VERSION): Remove.
      	* config/rs6000/linux64.h (TARGET_VERSION): Remove.
      	* config/rs6000/linuxaltivec.h (TARGET_VERSION): Remove.
      	* config/rs6000/linuxspe.h (TARGET_VERSION): Remove.
      	* config/rs6000/lynx.h (TARGET_VERSION): Remove.
      	* config/rs6000/netbsd.h (TARGET_VERSION): Remove.
      	* config/rs6000/sysv4.h (TARGET_VERSION): Remove.
      	* config/rs6000/vxworks.h (TARGET_VERSION): Remove.
      	* config/s390/linux.h (TARGET_VERSION): Remove.
      	* config/s390/s390.h (TARGET_VERSION): Remove.
      	* config/s390/tpf.h (TARGET_VERSION): Remove.
      	* config/score/score.h (TARGET_VERSION): Remove.
      	* config/sh/linux.h (TARGET_VERSION): Remove.
      	* config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN,
      	TARGET_VERSION_CPU, TARGET_VERSION): Remove.
      	* config/sh/sh.h (TARGET_VERSION): Remove.
      	* config/sh/sh64.h (TARGET_VERSION): Remove.
      	* config/sh/superh.h (TARGET_VERSION): Remove.
      	* config/sh/vxworks.h (TARGET_VERSION): Remove.
      	* config/sparc/freebsd.h (TARGET_VERSION): Remove.
      	* config/sparc/linux.h (TARGET_VERSION): Remove.
      	* config/sparc/linux64.h (TARGET_VERSION): Remove.
      	* config/sparc/netbsd-elf.h (TARGET_VERSION, TARGET_NAME64,
      	TARGET_NAME32, TARGET_NAME): Remove.
      	* config/sparc/openbsd64.h (TARGET_VERSION): Remove.
      	* config/sparc/sp-elf.h (TARGET_VERSION): Remove.
      	* config/sparc/sp64-elf.h (TARGET_VERSION): Remove.
      	* config/sparc/sysv4.h (TARGET_VERSION): Remove.
      	* config/sparc/vxworks.h (TARGET_VERSION): Remove.
      	* config/spu/spu.h (TARGET_VERSION): Remove.
      	* config/stormy16/stormy16.h (TARGET_VERSION): Remove.
      	* config/v850/v850.h (TARGET_VERSION): Remove.
      	* config/vax/linux.h (TARGET_VERSION): Remove.
      	* config/vax/vax.h (TARGET_NAME, TARGET_VERSION): Remove.
      	* config/xtensa/elf.h (TARGET_VERSION): Remove.
      	* config/xtensa/linux.h (TARGET_VERSION): Remove.
      
      From-SVN: r171779
      Joseph Myers committed
  17. 29 Mar, 2011 1 commit
    • [multiple changes] · 1756cb66
      2011-03-28  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* ira-color.c (update_left_conflict_sizes_p): Don't assume that
      	conflict object hard regset nodes have intersecting hard reg sets.
      	
      	* regmove.c (regmove_optimize): Move ira_set_pseudo_classes call
      	after regstat_init_n_sets_and_refs.
      
      	* ira.c: Add more comments at the top.
      	(setup_stack_reg_pressure_class, setup_pressure_classes):
      	Add comments how we compute the register pressure classes.
      	(setup_allocno_and_important_classes): Add more comments.
      	(setup_class_translate_array, reorder_important_classes)
      	(setup_reg_class_relations): Add comments.
      
      	* ira-emit.c: Add 2011 to the Copyright line.  Add comments at the
      	start of the file.
      
      	* ira-color.c: Add 2011 to the Copyright line.
      	(assign_hard_reg):  Add more comments.
      	(improve_allocation): Ditto.
      
      	* ira-costs.c: Add 2011 to the Copyright line.
      	(setup_cost_classes, setup_regno_cost_classes_by_aclass): Add more
      	comments.
      	(setup_regno_cost_classes_by_mode): Ditto.
      
      	Initial patches from ira-improv branch:
      
      	2010-08-13  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* ira-build.c: (ira_create_object): Remove initialization of
      	OBJECT_PROFITABLE_HARD_REGS.  Initialize OBJECT_ADD_DATA.
      	(ira_create_allocno): Remove initialization of
      	ALLOCNO_MEM_OPTIMIZED_DEST, ALLOCNO_MEM_OPTIMIZED_DEST_P,
      	ALLOCNO_SOMEWHERE_RENAMED_P, ALLOCNO_CHILD_RENAMED_P,
      	ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
      	ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO,
      	ALLOCNO_FIRST_COALESCED_ALLOCNO, ALLOCNO_NEXT_COALESCED_ALLOCNO.
      	Initialize ALLOCNO_ADD_DATA.
      	(copy_info_to_removed_store_destinations): Use ALLOCNO_EMIT_DATA
      	and allocno_emit_reg instead of ALLOCNO_MEM_OPTIMIZED_DEST_P and
      	ALLOCNO_REG.
      	(ira_flattening): Ditto.  Use ALLOCNO_EMIT_DATA instead of
      	ALLOCNO_MEM_OPTIMIZED_DEST and ALLOCNO_SOMEWHERE_RENAMED_P.
      
      	* ira.c (ira_reallocate): Remove.
      	(setup_pressure_classes): Call
      	ira_init_register_move_cost_if_necessary.  Use
      	ira_register_move_cost instead of ira_get_register_move_cost.
      	(setup_allocno_assignment_flags): Use ALLOCNO_EMIT_DATA.
      	(ira): Call ira_initiate_emit_data and ira_finish_emit_data.
      
      	* ira-color.c: Use ALLOCNO_COLOR_DATA instead of
      	ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
      	ALLOCNO_AVAILABLE_REGS_NUM, ALLOCNO_NEXT_BUCKET_ALLOCNO,
      	ALLOCNO_PREV_BUCKET_ALLOCNO. ALLOCNO_TEMP. Use OBJECT_COLOR_DATA
      	instead of OBJECT_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE,
      	OBJECT_HARD_REGS_SUBNODES_START, OBJECT_HARD_REGS_SUBNODES_NUM.
      	Fix formatting.
      	(object_hard_regs_t, object_hard_regs_node_t): Move from
      	ira-int.h.
      	(struct object_hard_regs, struct object_hard_regs_node): Ditto.
      	(struct allocno_color_data): New.
      	(allocno_color_data_t): New typedef.
      	(allocno_color_data): New definition.
      	(ALLOCNO_COLOR_DATA): New macro.
      	(struct object_color_data): New.
      	(object_color_data_t): New typedef.
      	(object_color_data): New definition.
      	(OBJECT_COLOR_DATA): New macro.
      	(update_copy_costs, calculate_allocno_spill_cost): Call
      	ira_init_register_move_cost_if_necessary.  Use
      	ira_register_move_cost instead of ira_get_register_move_cost.
      	(move_spill_restore, update_curr_costs): Ditto.
      	(allocno_spill_priority): Make it inline.
      	(color_pass): Allocate and free allocno_color_dat and
      	object_color_data.
      	(struct coalesce_data, coalesce_data_t): New.
      	(allocno_coalesce_data): New definition.
      	(ALLOCNO_COALESCE_DATA): New macro.
      	(merge_allocnos, coalesced_allocno_conflict_p): Use
      	ALLOCNO_COALESCED_DATA instead of ALLOCNO_FIRST_COALESCED_ALLOCNO,
      	ALLOCNO_NEXT_COALESCED_ALLOCNO, ALLOCNO_TEMP.
      	(coalesce_allocnos): Ditto.
      	(setup_coalesced_allocno_costs_and_nums): Ditto.
      	(collect_spilled_coalesced_allocnos): Ditto.
      	(slot_coalesced_allocno_live_ranges_intersect_p): Ditto.
      	(setup_slot_coalesced_allocno_live_ranges): Ditto.
      	(coalesce_spill_slots): Ditto.
      	(ira_sort_regnos_for_alter_reg): Ditto.  Allocate, initialize and
      	free allocno_coalesce_data.
      
      	* ira-conflicts.c: Fix formatting.
      	(process_regs_for_copy): Call
      	ira_init_register_move_cost_if_necessary.  Use
      	ira_register_move_cost instead of ira_get_register_move_cost.
      	(build_object_conflicts): Optimize.
      
      	* ira-costs.c (record_reg_classes): Optimize.  Call
      	ira_init_register_move_cost_if_necessary.  Use
      	ira_register_move_cost, ira_may_move_in_cost, and
      	ira_may_move_out_cost instead of ira_get_register_move_cost and
      	ira_get_may_move_cost.
      	(record_address_regs): Ditto.
      	(scan_one_insn): Optimize.
      	(find_costs_and_classes): Optimize.
      	(process_bb_node_for_hard_reg_moves): Call
      	ira_init_register_move_cost_if_necessary.  Use
      	ira_register_move_cost instead of ira_get_register_move_cost.
      
      	* ira-emit.c: Use allocno_emit_reg, ALLOCNO_EMIT_DATA instead of
      	ALLOCNO_REG, ALLOCNO_CHILD_RENAMED_P, ALLOCNO_MEM_OPTIMIZED_DEST,
      	ALLOCNO_MEM_OPTIMIZED_DEST_P, and ALLOCNO_SOMEWHERE_RENAMED_P.
      	(ira_allocno_emit_data, void_p, new_allocno_emit_data_vec): New
      	definitions.
      	(ira_initiate_emit_data, ira_finish_emit_data)
      	(create_new_allocno): New functions.
      	(modify_move_list): Call create_new_alloc instead of
      	ira_create_allocno.
      	(emit_move_list): Call ira_init_register_move_cost_if_necessary.
      	Use ira_register_move_cost instead of ira_get_register_move_cost.
      
      	* ira-int.h: Fix some comments.
      	(object_hard_regs_t, object_hard_regs_node_t): Move
      	to ira-color.c.
      	(struct object_hard_regs, struct object_hard_regs_node):
      	Ditto.
      	(struct ira_object): Remove profitable_hard_regs, hard_regs_node,
      	hard_regs_subnodes_start, hard_regs_subnodes_num.  Add new member
      	add_data.
      	(struct ira_allocno): Make mode and aclass a bitfield.  Move other
      	bitfield after mode.  Make hard_regno a short int.  Make
      	hard_regno short.  Remove first_coalesced_allocno and
      	next_coalesced_allocno.  Move mem_optimized_dest_p,
      	somewhere_renamed_p, child_renamed_p, reg, and mem_optimized_dest
      	into struct ira_emit_data.  Remove in_graph_p, may_be_spilled_p,
      	available_regs_num, next_bucket_allocno, prev_bucket_allocno,
      	temp, colorable_p.  Add new member add_data.
      	(ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P): Remove.
      	(ALLOCNO_COLORABLE_P, ALLOCNO_AVAILABLE_REGS_NUM): Remove.
      	(ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO): Remove.
      	(ALLOCNO_TEMP, ALLOCNO_FIRST_COALESCED_ALLOCNO): Remove.
      	(ALLOCNO_NEXT_COALESCED_ALLOCNO): Remove.
      	(ALLOCNO_ADD_DATA): New macro.
      	(ira_emit_data_t): New typedef.
      	(struct ira_emit_data): New.  Move mem_optimized_dest_p,
      	somewhere_renamed_p, child_renamed_p, reg, mem_optimized_dest
      	from struct ira_allocno.
      	(ALLOCNO_EMIT_DATA): New macro.
      	(ira_allocno_emit_data, allocno_emit_reg): New.
      	(ALLOCNO_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE): Remove.
      	(OBJECT_HARD_REGS_SUBNODES_STAR, OBJECT_HARD_REGS_SUBNODES_NUM):
      	Remove.
      	(OBJECT_ADD_DATA): New macro.
      	(ira_reallocate): Remove.
      	(ira_initiate_emit_data, ira_finish_emit_data): New.
      	(ira_get_register_move_cost, ira_get_may_move_cost): Remove.
      	(ira_init_register_move_cost_if_necessary): New.
      	(ira_object_conflict_iter_next): Merge into
      	ira_object_conflict_iter_cond.
      	(FOR_EACH_OBJECT_CONFLICT): Don't use
      	ira_object_conflict_iter_next.
      
      	* ira-live.c: (process_single_reg_class_operands): Call
      	ira_init_register_move_cost_if_necessary.  Use
      	ira_register_move_cost instead of ira_get_register_move_cost.
      
      	2010-08-13  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* ira-int.h (struct target_ira_int): Remove x_cost_classes.
      
      	* ira-costs.c: Fix formatting.
      	(cost_classes, cost_classes_num): Remove.
      	(struct cost_classes, cost_classes_t, const_cost_classes_t): New.
      	(regno_cost_classes, cost_classes_hash, cost_classes_eq): New.
      	(cost_classes_del, cost_classes_htab): New.
      	(cost_classes_aclass_cache, cost_classes_mode_cache): New.
      	(initiate_regno_cost_classes, setup_cost_classes): New.
      	(setup_regno_cost_classes_by_aclass): New.
      	(setup_regno_cost_classes_by_mode, finish_regno_cost_classes):
      	New.
      	(record_reg_classes): Use regno_cost_classes instead of
      	cost_classes.  Move checking opposite operand up.
      	(record_address_regs): Use regno_cost_classes
      	instead of cost_classes.
      	(scan_one_insn): Ditto.  Use always general register.
      	(print_allocno_costs): Use regno_cost_classes instead of
      	cost_classes.
      	(print_pseudo_costs): Ditto.  Use Reg_N_REFS.
      	(find_costs_and_classes): Set up cost classes for each registers.
      	Use also their mode for this.  Use regno_cost_classes instead of
      	cost_classes.
      	(setup_allocno_class_and_costs): Use regno_cost_classes instead of
      	cost_classes.
      	(free_ira_costs, ira_init_costs): Don't use cost_classes.
      	(ira_costs, ira_set_pseudo_classes): Call
      	initiate_regno_cost_classes and finish_regno_cost_classes.
      
      	2010-10-04  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* target-def.h (TARGET_IRA_COVER_CLASSES): Remove.
      
      	* target.def (ira_cover_classes): Remove.
      
      	* doc/tm.texi: Remove TARGET_IRA_COVER_CLASSES and
      	IRA_COVER_CLASSES.
      
      	* doc/tm.texi.in: Ditto.
      
      	* ira-conflicts.c: Remove mentioning cover classes from the file.
      	Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS.  Use
      	ALLOCNO_COVER_CLASS_COST instead of ALLOCNO_CLASS_COST.  Fix
      	formatting.
      
      	* targhooks.c (default_ira_cover_classes): Remove.
      
      	* targhooks.h (default_ira_cover_classes): Ditto.
      
      	* haifa-sched.c: Remove mentioning cover classes from the file.
      	Use ira_reg_pressure_cover instead of ira_reg_class_cover.  Use
      	ira_pressure_classes and ira_pressure_classes_num instead of
      	ira_reg_class_cover_size and ira_reg_class_cover.  Use
      	sched_regno_pressure_class instead of sched_regno_cover_class.
      	(mark_regno_birth_or_death, setup_insn_reg_pressure_info): Use
      	ira_reg_class_max_nregs instead of ira_reg_class_nregs.
      
      	* ira-int.h: Add 2010 to Copyright.  Remove mentioning cover
      	classes from the file.
      	(object_hard_regs_t, object_hard_regs_node_t): New typedefs.
      	(struct object_hard_regs, struct object_hard_regs_node): New.
      	(struct ira_object): New members profitable_hard_regs,
      	hard_regs_node, hard_regs_subnodes_start, hard_regs_subnodes_num.
      	(struct ira_allocno): Rename cover_class to aclass.  Rename
      	cover_class_cost and updated_cover_class_cost to class_cost and
      	updated_class_cost.  Remove splay_removed_p and
      	left_conflict_size.  Add new members colorable_p.
      	(ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICTS_SIZE): Remove.
      	(ALLOCNO_COLORABLE_P): New macro.
      	(ALLOCNO_COVER_CLASS): Rename to ALLOCNO_CLASS.
      	(ALLOCNO_COVER_CLASS_COST, ALLOCNO_UPDATED_COVER_CLASS_COST):
      	Rename to ALLOCNO_CLASS_COST and ALLOCNO_UPDATED__CLASS_COST.
      	(OBJECT_...): Rename parameter C to O.
      	(OBJECT_PROFITABLE_HARD_REGS): New macro.
      	(OBJECT_HARD_REGS_NODE, OBJECT_HARD_REGS_SUBNODES_START)
      	(OBJECT_HARD_REGS_SUBNODES_NUM): New macros.
      	(struct target_ira_int): New members x_ira_max_memory_move_cost,
      	x_ira_max_register_move_cost, x_ira_max_may_move_in_cost,
      	x_ira_max_may_move_out_cost, x_ira_reg_allocno_class_p,
      	x_ira_reg_pressure_class_p, x_ira_important_class_nums,
      	x_ira_reg_class_superunion.  Rename x_prohibited_class_mode_reg to
      	x_ira_prohibited_class_mode_reg.  Rename x_ira_reg_class_union to
      	x_ira_reg_class_subunion.
      	(ira_max_memory_move_cost, ira_max_register_move_cost)
      	(ira_max_may_move_in_cost, ira_max_may_move_out_cost)
      	(ira_reg_allocno_class_p, ira_reg_pressure_class_p)
      	(ira_important_class_nums, ira_reg_class_superunion): New macros.
      	(prohibited_class_mode_regs): Rename to
      	ira_prohibited_class_mode_regs.
      	(ira_reg_class_union): Rename to ira_reg_class_subunion.
      	(ira_debug_class_cover): Rename to ira_debug_allocno_classes.
      	(ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
      	(ira_tune_allocno_costs_and_cover_classes): Rename to
      	ira_tune_allocno_costs.
      	(ira_debug_hard_regs_forest): New.
      	(ira_object_conflict_iter_init, ira_object_conflict_iter_cond)
      	(ira_object_conflict_iter_next): Fix comments.
      	(ira_hard_reg_set_intersection_p, hard_reg_set_size): New
      	functions.
      	(ira_allocate_and_set_costs, ira_allocate_and_copy_costs): Rename
      	cover_class to aclass.
      	(ira_allocate_and_accumulate_costs): Ditto.
      	(ira_allocate_and_set_or_copy_costs): Ditto.
      
      	* opts.c (decode_options): Remove ira_cover_class check.
      
      	* ira-color.c: Remove mentioning cover classes from the file.  Use
      	ALLOCNO_CLASS, ALLOCNO_CLASS_COST, and ALLOCNO_UPDATED_CLASS_COST
      	instead of ALLOCNO_COVER_CLASS, ALLOCNO_COVER_CLASS_COST, and
      	ALLOCNO_UPDATED_COVER_CLASS_COST.  Fix formatting.
      	(splay-tree.h): Remove include.
      	(allocno_coalesced_p, processed_coalesced_allocno_bitmap): Move
      	before copy_freq_compare_func.
      	(allocnos_for_spilling, removed_splay_allocno_vec): Remove.
      	(object_hard_regs_vec, object_hard_regs_htab, node_check_tick):
      	New definitions.
      	(hard_regs_roots, hard_regs_node_vec): Ditto.
      	(object_hard_regs_hash, object_hard_regs_eq, find_hard_regs): Ditto.
      	(insert_hard_regs, init_object_hard_regs, add_object_hard_regs): Ditto.
      	(finish_object_hard_regs, object_hard_regs_compare): Ditto.
      	(create_new_object_hard_regs_node): Ditto.
      	(add_new_object_hard_regs_node_to_forest): Ditto.
      	(add_object_hard_regs_to_forest, collect_object_hard_regs_cover):
      	Ditto.
      	(setup_object_hard_regs_nodes_parent, first_common_ancestor_node):
      	Ditto.
      	(print_hard_reg_set, print_hard_regs_subforest): Ditto.
      	(print_hard_regs_forest, ira_debug_hard_regs_forest): Ditto.
      	(remove_unused_object_hard_regs_nodes): Ditto.
      	(enumerate_object_hard_regs_nodes): Ditto.
      	(object_hard_regs_nodes_num, object_hard_regs_nodes): Ditto.
      	(object_hard_regs_subnode_t): Ditto.
      	(struct object_hard_regs_subnode): Ditto.
      	(object_hard_regs_subnodes, object_hard_regs_subnode_index): Ditto.
      	(setup_object_hard_regs_subnode_index): Ditto.
      	(get_object_hard_regs_subnodes_num): Ditto.
      	(form_object_hard_regs_nodes_forest): Ditto.
      	(finish_object_hard_regs_nodes_tree): Ditto.
      	(finish_object_hard_regs_nodes_forest): Ditto.
      	(allocnos_have_intersected_live_ranges_p): Rename to
      	allocnos_conflict_by_live_ranges_p.  Move before
      	copy_freq_compare_func.
      	(pseudos_have_intersected_live_ranges_p): Rename to
      	conflict_by_live_ranges_p.  Move before copy_freq_compare_func.
      	(setup_left_conflict_sizes_p, update_left_conflict_sizes_p): Ditto.
      	(empty_profitable_hard_regs, setup_profitable_hard_regs): Ditto.
      	(update_copy_costs): Remove assert.  Skip cost update if the hard
      	reg does not belong the class.
      	(assign_hard_reg): Process only profitable hard regs.
      	(uncolorable_allocnos_num): Make it scalar.
      	(allocno_spill_priority): Use ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
      	and ira_reg_class_max_nregs instead of ALLOCNO_LEFT_CONFLICTS_SIZE
      	and ira_reg_class_max_nregs.
      	(bucket_allocno_compare_func): Check frequency first.
      	(sort_bucket): Add compare function as a parameter.
      	(add_allocno_to_ordered_bucket): Assume no coalesced allocnos.
      	(uncolorable_allocnos_splay_tree, USE_SPLAY_P): Remove.
      	(push_allocno_to_stack): Rewrite for checking new allocno
      	colorability.
      	(remove_allocno_from_bucket_and_push): Print cost too.  Remove
      	assert.
      	(push_only_colorable): Pass new parameter to sort_bucket.
      	(push_allocno_to_spill): Remove.
      	(allocno_spill_priority_compare): Make it inline and rewrite.
      	(splay_tree_allocate, splay_tree_free): Remove.
      	(allocno_spill_sort_compare): New function.
      	(push_allocnos_to_stack): Sort allocnos for spilling once.  Don't
      	build and use splay tree.  Choose first allocno in uncolorable
      	allocno bucket to spill.  Remove setting spill cost.
      	(all_conflicting_hard_regs): Remove.
      	(setup_allocno_available_regs_num): Check only profitable hard
      	regs.  Print info about hard regs nodes.
      	(setup_allocno_left_conflicts_size): Remove.
      	(put_allocno_into_bucket): Don't call
      	setup_allocno_left_conflicts_size.  Use
      	setup_left_conflict_sizes_p.
      	(improve_allocation): New.
      	(color_allocnos): Call setup_profitable_hard_regs,
      	form_object_hard_regs_nodes_forest, improve_allocation,
      	finish_object_hard_regs_nodes_forest.  Setup spill cost.
      	(print_loop_title): Use pressure classes.
      	(color_allocnso): Ditto.
      	(do_coloring): Remove allocation and freeing splay_tree_node_pool
      	and allocnos_for_spilling.
      	(ira_sort_regnos_for_alter_reg): Don't setup members
      	{first,next}_coalesced_allocno.
      	(color): Remove allocating and freeing removed_splay_allocno_vec.
      	(fast_allocation): Use ira_prohibited_class_mode_regs instead of
      	prohibited_class_mode_regs.
      
      	* ira-lives.c: Remove mentioning cover classes from the file.  Fix
      	formatting.
      	(update_allocno_pressure_excess_length): Use pressure classes.
      	(inc_register_pressure, dec_register_pressure): Check for pressure
      	class.
      	(mark_pseudo_regno_live, mark_pseudo_regno_subword_live): Use
      	pressure class.  Use ira_reg_class_nregs instead of
      	ira_reg_class_max_nregs.
      	(mark_pseudo_regno_dead, mark_pseudo_regno_subword_dead): Ditto.
      	(mark_hard_reg_live, mark_hard_reg_dead): Use pressure class.
      	(single_reg_class): Use ira_reg_class_nregs instead of
      	ira_reg_class_max_nregs.
      	(process_bb_node_lives): Use pressure classes.
      
      	* ira-emit.c: Remove mentioning cover classes from the file.  Use
      	ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS.  Fix formatting.
      	(change_loop): Use pressure classes.
      	(modify_move_list): Call ira_set_allocno_class instead of
      	ira_set_allocno_cover_class.
      
      	* ira-build.c: Remove mentioning cover classes from the file.  Use
      	ALLOCNO_CLASS and ALLOCNO_CLASS_COST instead of
      	ALLOCNO_COVER_CLASS and ALLOCNO_COVER_CLASS_COST.  Use
      	ALLOCNO_UPDATED_CLASS_COST instead of
      	ALLOCNO_UPDATED_COVER_CLASS_COST.  Fix formatting.
      	(ira_create_object): Initiate OBJECT_PROFITABLE_HARD_REGS.
      	(ira_create_allocno): Remove initialization of
      	ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICT_SIZE.  Initialize
      	ALLOCNO_COLORABLE_P.
      	(ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
      	Update conflict regs for the objects.
      	(create_cap_allocno): Remove assert.  Don't propagate
      	ALLOCNO_AVAILABLE_REGS_NUM.
      	(ira_free_allocno_costs): New function.
      	(finish_allocno): Change a part of code into call of
      	ira_free_allocno_costs.
      	(low_pressure_loop_node_p): Use pressure classes.
      	(object_range_compare_func): Don't compare classes.
      	(setup_min_max_conflict_allocno_ids): Ditto.
      
      	* loop-invariant.c: Remove mentioning cover classes from the file.
      	Use ira_pressure_classes and ira_pressure_classes_num instead of
      	ira_reg_class_cover_size and ira_reg_class_cover.  Fix formatting.
      	(get_cover_class_and_nregs): Rename to
      	get_cover_pressure_and_nregs.  Use ira_reg_class_max_nregs instead
      	of ira_reg_class_nregs.  Use reg_allocno_class instead of
      	reg_cover_class.
      	(get_inv_cost): Use instead ira_stack_reg_pressure_class of
      	STACK_REG_COVER_CLASS.
      	(get_regno_cover_class): Rename to get_regno_pressure_class.
      	(move_loop_invariants): Initialize and finalize regstat.
      
      	* ira.c: Remove mentioning cover classes from the file.  Add
      	comments about coloring without cover classes.  Use ALLOCNO_CLASS
      	instead of ALLOCNO_COVER_CLASS.  Fix formatting.
      	(alloc_reg_class_subclasses, setup_reg_subclasses): Move it before
      	setup_class_subset_and_memory_move_costs.
      	(setup_stack_reg_pressure_class, setup_pressure_classes): New.
      	(setup_cover_and_important_classes): Rename to
      	setup_allocno_and_important_classes.
      	(setup_class_translate_array): New.
      	(setup_class_translate): Call it for allocno and pressure classes.
      	(cover_class_order): Rename to allocno_class_order.
      	(comp_reg_classes_func): Use ira_allocno_class_translate instead
      	of ira_class_translate.
      	(reorder_important_classes): Set up ira_important_class_nums.
      	(setup_reg_class_relations): Set up ira_reg_class_superunion.
      	(print_class_cover): Rename to print_classes.  Add parameter.
      	(ira_debug_class_cover): Rename to ira_debug_allocno_classes.
      	Print pressure classes too.
      	(find_reg_class_closure): Rename to find_reg_classes.  Don't call
      	setup_reg_subclasses.
      	(ira_hard_regno_cover_class): Rename to
      	ira_hard_regno_allocno_class.
      	(ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
      	(setup_prohibited_class_mode_regs): Use
      	ira_prohibited_class_mode_regs instead of
      	prohibited_class_mode_regs.
      	(clarify_prohibited_class_mode_regs): New function.
      	(ira_init_register_move_cost): Set up ira_max_register_move_cost,
      	ira_max_may_move_in_cost, and ira_max_may_move_out_cost.
      	(ira_init_once): Initialize them.
      	(free_register_move_costs): Process them.
      	(ira_init): Move calls of find_reg_classes and
      	setup_hard_regno_aclass after setup_prohibited_class_mode_regs.
      	Call clarify_prohibited_class_mode_regs.
      	(ira_no_alloc_reg): Remove.
      	(too_high_register_pressure_p): Use pressure classes.
      
      	* sched-deps.c: Remove mentioning cover classes from the file.
      	Use ira_reg_pressure_cover instead of ira_reg_class_cover.  Use
      	ira_pressure_classes and ira_pressure_classes_num instead of
      	ira_reg_class_cover_size and ira_reg_class_cover.
      	(mark_insn_hard_regno_birth, mark_hard_regno_death): Use
      	sched_regno_pressure_class instead of sched_regno_cover_class.
      	(mark_insn_pseudo_birth, mark_pseudo_death): Ditto.  Use
      	ira_reg_class_max_nregs instead of ira_reg_class_nregs.
      
      	* ira.h: Add 2010 to Copyright.
      	(ira_no_alloc_reg): Remove external.
      	(struct target_ira): Rename x_ira_hard_regno_cover_class,
      	x_ira_reg_class_cover_size, x_ira_reg_class_cover, and
      	x_ira_class_translate to x_ira_hard_regno_allocno_class,
      	x_ira_allocno_classes_num, x_ira_allocno_classes, and
      	x_ira_allocno_class_translate.  Add x_ira_pressure_classes_num,
      	x_ira_pressure_classes, x_ira_pressure_class_translate, and
      	x_ira_stack_reg_pressure_class.  Rename x_ira_reg_class_nregs to
      	x_ira_reg_class_max_nregs.  Add x_ira_reg_class_min_nregs and
      	x_ira_no_alloc_regs.
      	(ira_hard_regno_cover_class): Rename to
      	ira_hard_regno_allocno_class.
      	(ira_reg_class_cover_size, ira_reg_class_cover): Rename to
      	ira_allocno_classes_num and ira_allocno_classes.
      	(ira_class_translate): Rename to ira_allocno_class_translate.
      	(ira_pressure_classes_num, ira_pressure_classes): New definitions.
      	(ira_pressure_class_translate, ira_stack_reg_pressure_class): Ditto.
      	(ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
      	(ira_reg_class_min_nregs, ira_stack_reg_pressure_class): New
      	(ira_no_alloc_regs): New.
      
      	* ira-costs.c: Add 2010 to Copyright.  Remove mentioning cover
      	classes from the file.  Use ALLOCNO_CLASS instead of
      	ALLOCNO_COVER_CLASS.  Use ALLOCNO_CLASS_COST instead of
      	ALLOCNO_COVER_CLASS_COST.
      	(regno_cover_class): Rename to regno_aclass.
      	(record_reg_classes): Use ira_reg_class_subunion instead of
      	ira_reg_class_union.
      	(record_address_regs): Check overflow.
      	(scan_one_insn): Ditto.
      	(print_allocno_costs): Print total mem cost fore regional
      	allocation.
      	(print_pseudo_costs): Use REG_N_REFS.
      	(find_costs_and_classes): Use classes intersected with them on the
      	1st pass. Check overflow.  Use ira_reg_class_subunion instead of
      	ira_reg_class_union.  Use ira_allocno_class_translate and
      	regno_aclass instead of ira_class_translate and regno_cover_class.
      	Modify code for finding regno_aclass.  Setup preferred classes for
      	the next pass.
      	(setup_allocno_cover_class_and_costs): Rename to
      	setup_allocno_class_and_costs.  Use regno_aclass instead of
      	regno_cover_class.  Use ira_set_allocno_class instead of
      	ira_set_allocno_cover_class.
      	(init_costs, finish_costs): Use regno_aclass instead of
      	regno_cover_class.
      	(ira_costs): Use setup_allocno_class_and_costs instead of
      	setup_allocno_cover_class_and_costs.
      	(ira_tune_allocno_costs_and_cover_classes): Rename to
      	ira_tune_allocno_costs.  Check overflow.  Skip conflict hard regs
      	by processing objects.  Use ira_reg_class_max_nregs instead of
      	ira_reg_class_nregs.
      
      	* rtl.h (reg_cover_class): Rename to reg_allocno_class.
      
      	* sched-int.h: Remove mentioning cover classes from the file.
      	(sched_regno_cover_class): Rename to sched_regno_pressure_class.
      
      	* reginfo.c: Add 2010 to Copyright.  Remove mentioning cover
      	classes from the file.
      	(struct reg_pref): Rename coverclass into allocnoclass.
      	(reg_cover_class): Rename to reg_allocno_class.
      
      	* Makefile.in (ira-color.o): Remove SPLAY_TREE_H from
      	dependencies.
      
      	* config/alpha/alpha.h (IRA_COVER_CLASSES): Remove.
      
      	* config/arm/arm.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/avr/avr.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/bfin/bfin.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/cris/cris.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/fr30/fr30.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/frv/frv.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/h8300/h8300.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/i386/i386.h (STACK_REG_COVER_CLASS): Ditto.
      
      	* config/i386/i386.c (TARGET_IRA_COVER_CLASSES)
      	(i386_ira_cover_classes): Ditto.
      
      	* config/ia64/ia64.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/iq2000/iq2000.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/m32r/m32r.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/m68k/m68k.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/mcore/mcore.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/mep/mep.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/mips/mips.c (TARGET_IRA_COVER_CLASSES)
      	(mips_ira_cover_classes): Ditto.
      
      	* config/mn10300/mn10300.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/moxie/moxie.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/pa/pa64-regs.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/pa/pa32-regs.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/picochip/picochip.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/rs6000/rs6000.h (IRA_COVER_CLASSES_PRE_VSX)
      	(IRA_COVER_CLASSES_VSX): Ditto.
      
      	* config/rs6000/rs6000.c (TARGET_IRA_COVER_CLASSES)
      	(rs6000_ira_cover_classes): Ditto.
      
      	* config/rx/rx.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/s390/s390.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/score/score.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/sh/sh.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/sparc/sparc.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/spu/spu.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/stormy16/stormy16.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/v850/v850.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/vax/vax.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/xtensa/xtensa.h (IRA_COVER_CLASSES): Ditto.
      
      From-SVN: r171649
      Vladimir Makarov committed
  18. 28 Mar, 2011 1 commit
  19. 27 Mar, 2011 1 commit
    • [multiple changes] · fe82cdfb
      2011-03-27  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* regmove.c (regmove_optimize): Move ira_set_pseudo_classes call
      	after regstat_init_n_sets_and_refs.
      
      	* ira.c: Add more comments at the top.
      	(setup_stack_reg_pressure_class, setup_pressure_classes):
      	Add comments how we compute the register pressure classes.
      	(setup_allocno_and_important_classes): Add more comments.
      	(setup_class_translate_array, reorder_important_classes)
      	(setup_reg_class_relations): Add comments.
      
      	* ira-emit.c: Add 2011 to the Copyright line.  Add comments at the
      	start of the file.
      
      	* ira-color.c: Add 2011 to the Copyright line.
      	(assign_hard_reg):  Add more comments.
      	(improve_allocation): Ditto.
      
      	* ira-costs.c: Add 2011 to the Copyright line.
      	(setup_cost_classes, setup_regno_cost_classes_by_aclass): Add more
      	comments.
      	(setup_regno_cost_classes_by_mode): Ditto.
      
      	Initial patches from ira-improv branch:
      
      	2010-08-13  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* ira-build.c: (ira_create_object): Remove initialization of
      	OBJECT_PROFITABLE_HARD_REGS.  Initialize OBJECT_ADD_DATA.
      	(ira_create_allocno): Remove initialization of
      	ALLOCNO_MEM_OPTIMIZED_DEST, ALLOCNO_MEM_OPTIMIZED_DEST_P,
      	ALLOCNO_SOMEWHERE_RENAMED_P, ALLOCNO_CHILD_RENAMED_P,
      	ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
      	ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO,
      	ALLOCNO_FIRST_COALESCED_ALLOCNO, ALLOCNO_NEXT_COALESCED_ALLOCNO.
      	Initialize ALLOCNO_ADD_DATA.
      	(copy_info_to_removed_store_destinations): Use ALLOCNO_EMIT_DATA
      	and allocno_emit_reg instead of ALLOCNO_MEM_OPTIMIZED_DEST_P and
      	ALLOCNO_REG.
      	(ira_flattening): Ditto.  Use ALLOCNO_EMIT_DATA instead of
      	ALLOCNO_MEM_OPTIMIZED_DEST and ALLOCNO_SOMEWHERE_RENAMED_P.
      
      	* ira.c (ira_reallocate): Remove.
      	(setup_pressure_classes): Call
      	ira_init_register_move_cost_if_necessary.  Use
      	ira_register_move_cost instead of ira_get_register_move_cost.
      	(setup_allocno_assignment_flags): Use ALLOCNO_EMIT_DATA.
      	(ira): Call ira_initiate_emit_data and ira_finish_emit_data.
      
      	* ira-color.c: Use ALLOCNO_COLOR_DATA instead of
      	ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
      	ALLOCNO_AVAILABLE_REGS_NUM, ALLOCNO_NEXT_BUCKET_ALLOCNO,
      	ALLOCNO_PREV_BUCKET_ALLOCNO. ALLOCNO_TEMP. Use OBJECT_COLOR_DATA
      	instead of OBJECT_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE,
      	OBJECT_HARD_REGS_SUBNODES_START, OBJECT_HARD_REGS_SUBNODES_NUM.
      	Fix formatting.
      	(object_hard_regs_t, object_hard_regs_node_t): Move from
      	ira-int.h.
      	(struct object_hard_regs, struct object_hard_regs_node): Ditto.
      	(struct allocno_color_data): New.
      	(allocno_color_data_t): New typedef.
      	(allocno_color_data): New definition.
      	(ALLOCNO_COLOR_DATA): New macro.
      	(struct object_color_data): New.
      	(object_color_data_t): New typedef.
      	(object_color_data): New definition.
      	(OBJECT_COLOR_DATA): New macro.
      	(update_copy_costs, calculate_allocno_spill_cost): Call
      	ira_init_register_move_cost_if_necessary.  Use
      	ira_register_move_cost instead of ira_get_register_move_cost.
      	(move_spill_restore, update_curr_costs): Ditto.
      	(allocno_spill_priority): Make it inline.
      	(color_pass): Allocate and free allocno_color_dat and
      	object_color_data.
      	(struct coalesce_data, coalesce_data_t): New.
      	(allocno_coalesce_data): New definition.
      	(ALLOCNO_COALESCE_DATA): New macro.
      	(merge_allocnos, coalesced_allocno_conflict_p): Use
      	ALLOCNO_COALESCED_DATA instead of ALLOCNO_FIRST_COALESCED_ALLOCNO,
      	ALLOCNO_NEXT_COALESCED_ALLOCNO, ALLOCNO_TEMP.
      	(coalesce_allocnos): Ditto.
      	(setup_coalesced_allocno_costs_and_nums): Ditto.
      	(collect_spilled_coalesced_allocnos): Ditto.
      	(slot_coalesced_allocno_live_ranges_intersect_p): Ditto.
      	(setup_slot_coalesced_allocno_live_ranges): Ditto.
      	(coalesce_spill_slots): Ditto.
      	(ira_sort_regnos_for_alter_reg): Ditto.  Allocate, initialize and
      	free allocno_coalesce_data.
      
      	* ira-conflicts.c: Fix formatting.
      	(process_regs_for_copy): Call
      	ira_init_register_move_cost_if_necessary.  Use
      	ira_register_move_cost instead of ira_get_register_move_cost.
      	(build_object_conflicts): Optimize.
      
      	* ira-costs.c (record_reg_classes): Optimize.  Call
      	ira_init_register_move_cost_if_necessary.  Use
      	ira_register_move_cost, ira_may_move_in_cost, and
      	ira_may_move_out_cost instead of ira_get_register_move_cost and
      	ira_get_may_move_cost.
      	(record_address_regs): Ditto.
      	(scan_one_insn): Optimize.
      	(find_costs_and_classes): Optimize.
      	(process_bb_node_for_hard_reg_moves): Call
      	ira_init_register_move_cost_if_necessary.  Use
      	ira_register_move_cost instead of ira_get_register_move_cost.
      
      	* ira-emit.c: Use allocno_emit_reg, ALLOCNO_EMIT_DATA instead of
      	ALLOCNO_REG, ALLOCNO_CHILD_RENAMED_P, ALLOCNO_MEM_OPTIMIZED_DEST,
      	ALLOCNO_MEM_OPTIMIZED_DEST_P, and ALLOCNO_SOMEWHERE_RENAMED_P.
      	(ira_allocno_emit_data, void_p, new_allocno_emit_data_vec): New
      	definitions.
      	(ira_initiate_emit_data, ira_finish_emit_data)
      	(create_new_allocno): New functions.
      	(modify_move_list): Call create_new_alloc instead of
      	ira_create_allocno.
      	(emit_move_list): Call ira_init_register_move_cost_if_necessary.
      	Use ira_register_move_cost instead of ira_get_register_move_cost.
      
      	* ira-int.h: Fix some comments.
      	(object_hard_regs_t, object_hard_regs_node_t): Move
      	to ira-color.c.
      	(struct object_hard_regs, struct object_hard_regs_node):
      	Ditto.
      	(struct ira_object): Remove profitable_hard_regs, hard_regs_node,
      	hard_regs_subnodes_start, hard_regs_subnodes_num.  Add new member
      	add_data.
      	(struct ira_allocno): Make mode and aclass a bitfield.  Move other
      	bitfield after mode.  Make hard_regno a short int.  Make
      	hard_regno short.  Remove first_coalesced_allocno and
      	next_coalesced_allocno.  Move mem_optimized_dest_p,
      	somewhere_renamed_p, child_renamed_p, reg, and mem_optimized_dest
      	into struct ira_emit_data.  Remove in_graph_p, may_be_spilled_p,
      	available_regs_num, next_bucket_allocno, prev_bucket_allocno,
      	temp, colorable_p.  Add new member add_data.
      	(ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P): Remove.
      	(ALLOCNO_COLORABLE_P, ALLOCNO_AVAILABLE_REGS_NUM): Remove.
      	(ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO): Remove.
      	(ALLOCNO_TEMP, ALLOCNO_FIRST_COALESCED_ALLOCNO): Remove.
      	(ALLOCNO_NEXT_COALESCED_ALLOCNO): Remove.
      	(ALLOCNO_ADD_DATA): New macro.
      	(ira_emit_data_t): New typedef.
      	(struct ira_emit_data): New.  Move mem_optimized_dest_p,
      	somewhere_renamed_p, child_renamed_p, reg, mem_optimized_dest
      	from struct ira_allocno.
      	(ALLOCNO_EMIT_DATA): New macro.
      	(ira_allocno_emit_data, allocno_emit_reg): New.
      	(ALLOCNO_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE): Remove.
      	(OBJECT_HARD_REGS_SUBNODES_STAR, OBJECT_HARD_REGS_SUBNODES_NUM):
      	Remove.
      	(OBJECT_ADD_DATA): New macro.
      	(ira_reallocate): Remove.
      	(ira_initiate_emit_data, ira_finish_emit_data): New.
      	(ira_get_register_move_cost, ira_get_may_move_cost): Remove.
      	(ira_init_register_move_cost_if_necessary): New.
      	(ira_object_conflict_iter_next): Merge into
      	ira_object_conflict_iter_cond.
      	(FOR_EACH_OBJECT_CONFLICT): Don't use
      	ira_object_conflict_iter_next.
      
      	* ira-live.c: (process_single_reg_class_operands): Call
      	ira_init_register_move_cost_if_necessary.  Use
      	ira_register_move_cost instead of ira_get_register_move_cost.
      
      	2010-08-13  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* ira-int.h (struct target_ira_int): Remove x_cost_classes.
      
      	* ira-costs.c: Fix formatting.
      	(cost_classes, cost_classes_num): Remove.
      	(struct cost_classes, cost_classes_t, const_cost_classes_t): New.
      	(regno_cost_classes, cost_classes_hash, cost_classes_eq): New.
      	(cost_classes_del, cost_classes_htab): New.
      	(cost_classes_aclass_cache, cost_classes_mode_cache): New.
      	(initiate_regno_cost_classes, setup_cost_classes): New.
      	(setup_regno_cost_classes_by_aclass): New.
      	(setup_regno_cost_classes_by_mode, finish_regno_cost_classes):
      	New.
      	(record_reg_classes): Use regno_cost_classes instead of
      	cost_classes.  Move checking opposite operand up.
      	(record_address_regs): Use regno_cost_classes
      	instead of cost_classes.
      	(scan_one_insn): Ditto.  Use always general register.
      	(print_allocno_costs): Use regno_cost_classes instead of
      	cost_classes.
      	(print_pseudo_costs): Ditto.  Use Reg_N_REFS.
      	(find_costs_and_classes): Set up cost classes for each registers.
      	Use also their mode for this.  Use regno_cost_classes instead of
      	cost_classes.
      	(setup_allocno_class_and_costs): Use regno_cost_classes instead of
      	cost_classes.
      	(free_ira_costs, ira_init_costs): Don't use cost_classes.
      	(ira_costs, ira_set_pseudo_classes): Call
      	initiate_regno_cost_classes and finish_regno_cost_classes.
      
      	2010-10-04  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* target-def.h (TARGET_IRA_COVER_CLASSES): Remove.
      
      	* target.def (ira_cover_classes): Remove.
      
      	* doc/tm.texi: Remove TARGET_IRA_COVER_CLASSES and
      	IRA_COVER_CLASSES.
      
      	* doc/tm.texi.in: Ditto.
      
      	* ira-conflicts.c: Remove mentioning cover classes from the file.
      	Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS.  Use
      	ALLOCNO_COVER_CLASS_COST instead of ALLOCNO_CLASS_COST.  Fix
      	formatting.
      
      	* targhooks.c (default_ira_cover_classes): Remove.
      
      	* targhooks.h (default_ira_cover_classes): Ditto.
      
      	* haifa-sched.c: Remove mentioning cover classes from the file.
      	Use ira_reg_pressure_cover instead of ira_reg_class_cover.  Use
      	ira_pressure_classes and ira_pressure_classes_num instead of
      	ira_reg_class_cover_size and ira_reg_class_cover.  Use
      	sched_regno_pressure_class instead of sched_regno_cover_class.
      	(mark_regno_birth_or_death, setup_insn_reg_pressure_info): Use
      	ira_reg_class_max_nregs instead of ira_reg_class_nregs.
      
      	* ira-int.h: Add 2010 to Copyright.  Remove mentioning cover
      	classes from the file.
      	(object_hard_regs_t, object_hard_regs_node_t): New typedefs.
      	(struct object_hard_regs, struct object_hard_regs_node): New.
      	(struct ira_object): New members profitable_hard_regs,
      	hard_regs_node, hard_regs_subnodes_start, hard_regs_subnodes_num.
      	(struct ira_allocno): Rename cover_class to aclass.  Rename
      	cover_class_cost and updated_cover_class_cost to class_cost and
      	updated_class_cost.  Remove splay_removed_p and
      	left_conflict_size.  Add new members colorable_p.
      	(ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICTS_SIZE): Remove.
      	(ALLOCNO_COLORABLE_P): New macro.
      	(ALLOCNO_COVER_CLASS): Rename to ALLOCNO_CLASS.
      	(ALLOCNO_COVER_CLASS_COST, ALLOCNO_UPDATED_COVER_CLASS_COST):
      	Rename to ALLOCNO_CLASS_COST and ALLOCNO_UPDATED__CLASS_COST.
      	(OBJECT_...): Rename parameter C to O.
      	(OBJECT_PROFITABLE_HARD_REGS): New macro.
      	(OBJECT_HARD_REGS_NODE, OBJECT_HARD_REGS_SUBNODES_START)
      	(OBJECT_HARD_REGS_SUBNODES_NUM): New macros.
      	(struct target_ira_int): New members x_ira_max_memory_move_cost,
      	x_ira_max_register_move_cost, x_ira_max_may_move_in_cost,
      	x_ira_max_may_move_out_cost, x_ira_reg_allocno_class_p,
      	x_ira_reg_pressure_class_p, x_ira_important_class_nums,
      	x_ira_reg_class_superunion.  Rename x_prohibited_class_mode_reg to
      	x_ira_prohibited_class_mode_reg.  Rename x_ira_reg_class_union to
      	x_ira_reg_class_subunion.
      	(ira_max_memory_move_cost, ira_max_register_move_cost)
      	(ira_max_may_move_in_cost, ira_max_may_move_out_cost)
      	(ira_reg_allocno_class_p, ira_reg_pressure_class_p)
      	(ira_important_class_nums, ira_reg_class_superunion): New macros.
      	(prohibited_class_mode_regs): Rename to
      	ira_prohibited_class_mode_regs.
      	(ira_reg_class_union): Rename to ira_reg_class_subunion.
      	(ira_debug_class_cover): Rename to ira_debug_allocno_classes.
      	(ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
      	(ira_tune_allocno_costs_and_cover_classes): Rename to
      	ira_tune_allocno_costs.
      	(ira_debug_hard_regs_forest): New.
      	(ira_object_conflict_iter_init, ira_object_conflict_iter_cond)
      	(ira_object_conflict_iter_next): Fix comments.
      	(ira_hard_reg_set_intersection_p, hard_reg_set_size): New
      	functions.
      	(ira_allocate_and_set_costs, ira_allocate_and_copy_costs): Rename
      	cover_class to aclass.
      	(ira_allocate_and_accumulate_costs): Ditto.
      	(ira_allocate_and_set_or_copy_costs): Ditto.
      
      	* opts.c (decode_options): Remove ira_cover_class check.
      
      	* ira-color.c: Remove mentioning cover classes from the file.  Use
      	ALLOCNO_CLASS, ALLOCNO_CLASS_COST, and ALLOCNO_UPDATED_CLASS_COST
      	instead of ALLOCNO_COVER_CLASS, ALLOCNO_COVER_CLASS_COST, and
      	ALLOCNO_UPDATED_COVER_CLASS_COST.  Fix formatting.
      	(splay-tree.h): Remove include.
      	(allocno_coalesced_p, processed_coalesced_allocno_bitmap): Move
      	before copy_freq_compare_func.
      	(allocnos_for_spilling, removed_splay_allocno_vec): Remove.
      	(object_hard_regs_vec, object_hard_regs_htab, node_check_tick):
      	New definitions.
      	(hard_regs_roots, hard_regs_node_vec): Ditto.
      	(object_hard_regs_hash, object_hard_regs_eq, find_hard_regs): Ditto.
      	(insert_hard_regs, init_object_hard_regs, add_object_hard_regs): Ditto.
      	(finish_object_hard_regs, object_hard_regs_compare): Ditto.
      	(create_new_object_hard_regs_node): Ditto.
      	(add_new_object_hard_regs_node_to_forest): Ditto.
      	(add_object_hard_regs_to_forest, collect_object_hard_regs_cover):
      	Ditto.
      	(setup_object_hard_regs_nodes_parent, first_common_ancestor_node):
      	Ditto.
      	(print_hard_reg_set, print_hard_regs_subforest): Ditto.
      	(print_hard_regs_forest, ira_debug_hard_regs_forest): Ditto.
      	(remove_unused_object_hard_regs_nodes): Ditto.
      	(enumerate_object_hard_regs_nodes): Ditto.
      	(object_hard_regs_nodes_num, object_hard_regs_nodes): Ditto.
      	(object_hard_regs_subnode_t): Ditto.
      	(struct object_hard_regs_subnode): Ditto.
      	(object_hard_regs_subnodes, object_hard_regs_subnode_index): Ditto.
      	(setup_object_hard_regs_subnode_index): Ditto.
      	(get_object_hard_regs_subnodes_num): Ditto.
      	(form_object_hard_regs_nodes_forest): Ditto.
      	(finish_object_hard_regs_nodes_tree): Ditto.
      	(finish_object_hard_regs_nodes_forest): Ditto.
      	(allocnos_have_intersected_live_ranges_p): Rename to
      	allocnos_conflict_by_live_ranges_p.  Move before
      	copy_freq_compare_func.
      	(pseudos_have_intersected_live_ranges_p): Rename to
      	conflict_by_live_ranges_p.  Move before copy_freq_compare_func.
      	(setup_left_conflict_sizes_p, update_left_conflict_sizes_p): Ditto.
      	(empty_profitable_hard_regs, setup_profitable_hard_regs): Ditto.
      	(update_copy_costs): Remove assert.  Skip cost update if the hard
      	reg does not belong the class.
      	(assign_hard_reg): Process only profitable hard regs.
      	(uncolorable_allocnos_num): Make it scalar.
      	(allocno_spill_priority): Use ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
      	and ira_reg_class_max_nregs instead of ALLOCNO_LEFT_CONFLICTS_SIZE
      	and ira_reg_class_max_nregs.
      	(bucket_allocno_compare_func): Check frequency first.
      	(sort_bucket): Add compare function as a parameter.
      	(add_allocno_to_ordered_bucket): Assume no coalesced allocnos.
      	(uncolorable_allocnos_splay_tree, USE_SPLAY_P): Remove.
      	(push_allocno_to_stack): Rewrite for checking new allocno
      	colorability.
      	(remove_allocno_from_bucket_and_push): Print cost too.  Remove
      	assert.
      	(push_only_colorable): Pass new parameter to sort_bucket.
      	(push_allocno_to_spill): Remove.
      	(allocno_spill_priority_compare): Make it inline and rewrite.
      	(splay_tree_allocate, splay_tree_free): Remove.
      	(allocno_spill_sort_compare): New function.
      	(push_allocnos_to_stack): Sort allocnos for spilling once.  Don't
      	build and use splay tree.  Choose first allocno in uncolorable
      	allocno bucket to spill.  Remove setting spill cost.
      	(all_conflicting_hard_regs): Remove.
      	(setup_allocno_available_regs_num): Check only profitable hard
      	regs.  Print info about hard regs nodes.
      	(setup_allocno_left_conflicts_size): Remove.
      	(put_allocno_into_bucket): Don't call
      	setup_allocno_left_conflicts_size.  Use
      	setup_left_conflict_sizes_p.
      	(improve_allocation): New.
      	(color_allocnos): Call setup_profitable_hard_regs,
      	form_object_hard_regs_nodes_forest, improve_allocation,
      	finish_object_hard_regs_nodes_forest.  Setup spill cost.
      	(print_loop_title): Use pressure classes.
      	(color_allocnso): Ditto.
      	(do_coloring): Remove allocation and freeing splay_tree_node_pool
      	and allocnos_for_spilling.
      	(ira_sort_regnos_for_alter_reg): Don't setup members
      	{first,next}_coalesced_allocno.
      	(color): Remove allocating and freeing removed_splay_allocno_vec.
      	(fast_allocation): Use ira_prohibited_class_mode_regs instead of
      	prohibited_class_mode_regs.
      
      	* ira-lives.c: Remove mentioning cover classes from the file.  Fix
      	formatting.
      	(update_allocno_pressure_excess_length): Use pressure classes.
      	(inc_register_pressure, dec_register_pressure): Check for pressure
      	class.
      	(mark_pseudo_regno_live, mark_pseudo_regno_subword_live): Use
      	pressure class.  Use ira_reg_class_nregs instead of
      	ira_reg_class_max_nregs.
      	(mark_pseudo_regno_dead, mark_pseudo_regno_subword_dead): Ditto.
      	(mark_hard_reg_live, mark_hard_reg_dead): Use pressure class.
      	(single_reg_class): Use ira_reg_class_nregs instead of
      	ira_reg_class_max_nregs.
      	(process_bb_node_lives): Use pressure classes.
      
      	* ira-emit.c: Remove mentioning cover classes from the file.  Use
      	ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS.  Fix formatting.
      	(change_loop): Use pressure classes.
      	(modify_move_list): Call ira_set_allocno_class instead of
      	ira_set_allocno_cover_class.
      
      	* ira-build.c: Remove mentioning cover classes from the file.  Use
      	ALLOCNO_CLASS and ALLOCNO_CLASS_COST instead of
      	ALLOCNO_COVER_CLASS and ALLOCNO_COVER_CLASS_COST.  Use
      	ALLOCNO_UPDATED_CLASS_COST instead of
      	ALLOCNO_UPDATED_COVER_CLASS_COST.  Fix formatting.
      	(ira_create_object): Initiate OBJECT_PROFITABLE_HARD_REGS.
      	(ira_create_allocno): Remove initialization of
      	ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICT_SIZE.  Initialize
      	ALLOCNO_COLORABLE_P.
      	(ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
      	Update conflict regs for the objects.
      	(create_cap_allocno): Remove assert.  Don't propagate
      	ALLOCNO_AVAILABLE_REGS_NUM.
      	(ira_free_allocno_costs): New function.
      	(finish_allocno): Change a part of code into call of
      	ira_free_allocno_costs.
      	(low_pressure_loop_node_p): Use pressure classes.
      	(object_range_compare_func): Don't compare classes.
      	(setup_min_max_conflict_allocno_ids): Ditto.
      
      	* loop-invariant.c: Remove mentioning cover classes from the file.
      	Use ira_pressure_classes and ira_pressure_classes_num instead of
      	ira_reg_class_cover_size and ira_reg_class_cover.  Fix formatting.
      	(get_cover_class_and_nregs): Rename to
      	get_cover_pressure_and_nregs.  Use ira_reg_class_max_nregs instead
      	of ira_reg_class_nregs.  Use reg_allocno_class instead of
      	reg_cover_class.
      	(get_inv_cost): Use instead ira_stack_reg_pressure_class of
      	STACK_REG_COVER_CLASS.
      	(get_regno_cover_class): Rename to get_regno_pressure_class.
      	(move_loop_invariants): Initialize and finalize regstat.
      
      	* ira.c: Remove mentioning cover classes from the file.  Add
      	comments about coloring without cover classes.  Use ALLOCNO_CLASS
      	instead of ALLOCNO_COVER_CLASS.  Fix formatting.
      	(alloc_reg_class_subclasses, setup_reg_subclasses): Move it before
      	setup_class_subset_and_memory_move_costs.
      	(setup_stack_reg_pressure_class, setup_pressure_classes): New.
      	(setup_cover_and_important_classes): Rename to
      	setup_allocno_and_important_classes.
      	(setup_class_translate_array): New.
      	(setup_class_translate): Call it for allocno and pressure classes.
      	(cover_class_order): Rename to allocno_class_order.
      	(comp_reg_classes_func): Use ira_allocno_class_translate instead
      	of ira_class_translate.
      	(reorder_important_classes): Set up ira_important_class_nums.
      	(setup_reg_class_relations): Set up ira_reg_class_superunion.
      	(print_class_cover): Rename to print_classes.  Add parameter.
      	(ira_debug_class_cover): Rename to ira_debug_allocno_classes.
      	Print pressure classes too.
      	(find_reg_class_closure): Rename to find_reg_classes.  Don't call
      	setup_reg_subclasses.
      	(ira_hard_regno_cover_class): Rename to
      	ira_hard_regno_allocno_class.
      	(ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
      	(setup_prohibited_class_mode_regs): Use
      	ira_prohibited_class_mode_regs instead of
      	prohibited_class_mode_regs.
      	(clarify_prohibited_class_mode_regs): New function.
      	(ira_init_register_move_cost): Set up ira_max_register_move_cost,
      	ira_max_may_move_in_cost, and ira_max_may_move_out_cost.
      	(ira_init_once): Initialize them.
      	(free_register_move_costs): Process them.
      	(ira_init): Move calls of find_reg_classes and
      	setup_hard_regno_aclass after setup_prohibited_class_mode_regs.
      	Call clarify_prohibited_class_mode_regs.
      	(ira_no_alloc_reg): Remove.
      	(too_high_register_pressure_p): Use pressure classes.
      
      	* sched-deps.c: Remove mentioning cover classes from the file.
      	Use ira_reg_pressure_cover instead of ira_reg_class_cover.  Use
      	ira_pressure_classes and ira_pressure_classes_num instead of
      	ira_reg_class_cover_size and ira_reg_class_cover.
      	(mark_insn_hard_regno_birth, mark_hard_regno_death): Use
      	sched_regno_pressure_class instead of sched_regno_cover_class.
      	(mark_insn_pseudo_birth, mark_pseudo_death): Ditto.  Use
      	ira_reg_class_max_nregs instead of ira_reg_class_nregs.
      
      	* ira.h: Add 2010 to Copyright.
      	(ira_no_alloc_reg): Remove external.
      	(struct target_ira): Rename x_ira_hard_regno_cover_class,
      	x_ira_reg_class_cover_size, x_ira_reg_class_cover, and
      	x_ira_class_translate to x_ira_hard_regno_allocno_class,
      	x_ira_allocno_classes_num, x_ira_allocno_classes, and
      	x_ira_allocno_class_translate.  Add x_ira_pressure_classes_num,
      	x_ira_pressure_classes, x_ira_pressure_class_translate, and
      	x_ira_stack_reg_pressure_class.  Rename x_ira_reg_class_nregs to
      	x_ira_reg_class_max_nregs.  Add x_ira_reg_class_min_nregs and
      	x_ira_no_alloc_regs.
      	(ira_hard_regno_cover_class): Rename to
      	ira_hard_regno_allocno_class.
      	(ira_reg_class_cover_size, ira_reg_class_cover): Rename to
      	ira_allocno_classes_num and ira_allocno_classes.
      	(ira_class_translate): Rename to ira_allocno_class_translate.
      	(ira_pressure_classes_num, ira_pressure_classes): New definitions.
      	(ira_pressure_class_translate, ira_stack_reg_pressure_class): Ditto.
      	(ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
      	(ira_reg_class_min_nregs, ira_stack_reg_pressure_class): New
      	(ira_no_alloc_regs): New.
      
      	* ira-costs.c: Add 2010 to Copyright.  Remove mentioning cover
      	classes from the file.  Use ALLOCNO_CLASS instead of
      	ALLOCNO_COVER_CLASS.  Use ALLOCNO_CLASS_COST instead of
      	ALLOCNO_COVER_CLASS_COST.
      	(regno_cover_class): Rename to regno_aclass.
      	(record_reg_classes): Use ira_reg_class_subunion instead of
      	ira_reg_class_union.
      	(record_address_regs): Check overflow.
      	(scan_one_insn): Ditto.
      	(print_allocno_costs): Print total mem cost fore regional
      	allocation.
      	(print_pseudo_costs): Use REG_N_REFS.
      	(find_costs_and_classes): Use classes intersected with them on the
      	1st pass. Check overflow.  Use ira_reg_class_subunion instead of
      	ira_reg_class_union.  Use ira_allocno_class_translate and
      	regno_aclass instead of ira_class_translate and regno_cover_class.
      	Modify code for finding regno_aclass.  Setup preferred classes for
      	the next pass.
      	(setup_allocno_cover_class_and_costs): Rename to
      	setup_allocno_class_and_costs.  Use regno_aclass instead of
      	regno_cover_class.  Use ira_set_allocno_class instead of
      	ira_set_allocno_cover_class.
      	(init_costs, finish_costs): Use regno_aclass instead of
      	regno_cover_class.
      	(ira_costs): Use setup_allocno_class_and_costs instead of
      	setup_allocno_cover_class_and_costs.
      	(ira_tune_allocno_costs_and_cover_classes): Rename to
      	ira_tune_allocno_costs.  Check overflow.  Skip conflict hard regs
      	by processing objects.  Use ira_reg_class_max_nregs instead of
      	ira_reg_class_nregs.
      
      	* rtl.h (reg_cover_class): Rename to reg_allocno_class.
      
      	* sched-int.h: Remove mentioning cover classes from the file.
      	(sched_regno_cover_class): Rename to sched_regno_pressure_class.
      
      	* reginfo.c: Add 2010 to Copyright.  Remove mentioning cover
      	classes from the file.
      	(struct reg_pref): Rename coverclass into allocnoclass.
      	(reg_cover_class): Rename to reg_allocno_class.
      
      	* Makefile.in (ira-color.o): Remove SPLAY_TREE_H from
      	dependencies.
      
      	* config/alpha/alpha.h (IRA_COVER_CLASSES): Remove.
      
      	* config/arm/arm.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/avr/avr.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/bfin/bfin.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/cris/cris.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/fr30/fr30.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/frv/frv.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/h8300/h8300.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/i386/i386.h (STACK_REG_COVER_CLASS): Ditto.
      
      	* config/i386/i386.c (TARGET_IRA_COVER_CLASSES)
      	(i386_ira_cover_classes): Ditto.
      
      	* config/ia64/ia64.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/iq2000/iq2000.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/m32r/m32r.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/m68k/m68k.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/mcore/mcore.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/mep/mep.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/mips/mips.c (TARGET_IRA_COVER_CLASSES)
      	(mips_ira_cover_classes): Ditto.
      
      	* config/mn10300/mn10300.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/moxie/moxie.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/pa/pa64-regs.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/pa/pa32-regs.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/picochip/picochip.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/rs6000/rs6000.h (IRA_COVER_CLASSES_PRE_VSX)
      	(IRA_COVER_CLASSES_VSX): Ditto.
      
      	* config/rs6000/rs6000.c (TARGET_IRA_COVER_CLASSES)
      	(rs6000_ira_cover_classes): Ditto.
      
      	* config/rx/rx.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/s390/s390.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/score/score.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/sh/sh.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/sparc/sparc.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/spu/spu.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/stormy16/stormy16.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/v850/v850.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/vax/vax.h (IRA_COVER_CLASSES): Ditto.
      
      	* config/xtensa/xtensa.h (IRA_COVER_CLASSES): Ditto.
      
      From-SVN: r171583
      Vladimir Makarov committed
  20. 24 Mar, 2011 1 commit
    • system.h (FUNCTION_ARG, [...]): Poison. · b25b9e8f
      	* system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
      	(FUNCTION_ARG_ADVANCE): Likewise.
      	* tm.texi.in: Change references to them to hook references.
      	* tm.texi: Regenerate.
      	* targhooks.c (default_function_arg): Eliminate check for target
      	macro.
      	(default_function_incoming_arg): Likewise.
      	(default_function_arg_advance): Likewise.
      	* target.def (function_arg, function_incoming_arg): Change to
      	DEFHOOK.
      	(function_arg_advance): Likewise.
      	* target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
      
      From-SVN: r171389
      Nathan Froyd committed
  21. 09 Jan, 2011 1 commit
  22. 22 Dec, 2010 1 commit
    • svr4.h: Remove. · 57809813
      	* config/svr4.h: Remove.
      	* system.h (USING_SVR4_H, SVR4_ASM_SPEC): Poison.
      	* config.gcc, config/bfin/bfin.h, config/cris/cris.h,
      	config/fr30/fr30.h, config/frv/frv.h, config/i386/openbsdelf.h,
      	config/i386/vx-common.h, config/ia64/elf.h, config/ia64/ia64.h,
      	config/ia64/sysv4.h, config/iq2000/iq2000.h, config/m68k/linux.h,
      	config/m68k/m68kelf.h, config/mips/mips.h, config/mips/vxworks.h,
      	config/moxie/moxie.h, config/netbsd-aout.h, config/openbsd.h,
      	config/rs6000/sysv4.h, config/sh/elf.h, config/sh/sh.h,
      	config/sol2.h, config/sparc/sysv4.h, config/stormy16/stormy16.h,
      	config/v850/v850.h, config/vxworks.h: Remove or update comments
      	referring to svr4.h.
      
      From-SVN: r168166
      Joseph Myers committed
  23. 15 Dec, 2010 1 commit
    • tm.texi.in (US_SOFTWARE_GOFAST): Don't document. · bd9c1f8f
      	* doc/tm.texi.in (US_SOFTWARE_GOFAST): Don't document.
      	* doc/tm.texi: Regenerate.
      	* system.h (US_SOFTWARE_GOFAST): Poison.
      	* config.gcc (enable_gofast): Don't handle.
      	* config/gofast.h: Remove.
      	* config/mips/t-gofast: Remove.
      	* config/fp-bit.c (US_SOFTWARE_GOFAST): Don't handle.
      	* config/fp-bit.h (US_SOFTWARE_GOFAST): Don't handle.
      	* config/mips/elforion.h: Don't mention GOFAST in comment.
      	* config/mips/mips.c: Don't include gofast.h.
      	(mips_init_libfuncs): Don't call gofast_maybe_init_libfuncs.
      	* config/mips/t-sr71k (dp-bit.c, fp-bit.c): Don't define
      	US_SOFTWARE_GOFAST.
      	* config/sparc/sparc.c: Don't include gofast.h.
      	(sparc_init_libfuncs): Don't call gofast_maybe_init_libfuncs.
      	* config/spu/t-spu-elf (dp-bit.c, fp-bit.c): Don't undefine
      	US_SOFTWARE_GOFAST.
      
      From-SVN: r167880
      Joseph Myers committed
  24. 13 Dec, 2010 1 commit
  25. 29 Nov, 2010 1 commit
    • system.h: Include "safe-ctype.h" instead of <safe-ctype.h>. · 71f3e391
      	* system.h: Include "safe-ctype.h" instead of <safe-ctype.h>.
      	Include <signal.h>, <sys/mman.h>, <sys/resource.h> and
      	<sys/times.h>.
      	(O_BINARY, SIGCHLD, MAP_FAILED, MAP_ANONYMOUS, kill):
      	Conditionally define.
      	(GET_ENVIRONMENT): Poison.
      	* configure.ac: Don't test for mincore.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      	* collect2-aix.c: Don't include <sys/mman.h>.
      	* collect2.c: Don't include <signal.h>.
      	(SIGCHLD): Don't define.
      	(prefix_from_env): Use getenv instead of GET_ENVIRONMENT.
      	* config/alpha/alpha.c: Include "splay-tree.h" instead of
      	<splay-tree.h>.
      	* config/arm/arm.c (arm_target_help): Use getenv instead of
      	GET_ENVIRONMENT.
      	* config/avr/driver-avr.c: Don't include <stdlib.h>.
      	* config/frv/frv.c: Don't include <ctype.h>.
      	* config/host-darwin.c: Don't include <sys/mman.h>.
      	* config/host-hpux.c: Don't include <sys/mman.h> or <unistd.h>.
      	(MAP_FAILED): Don't define.
      	* config/host-linux.c: Don't include <sys/mman.h> or <limits.h>.
      	* config/host-solaris.c: Don't include <sys/mman.h>.
      	* config/i386/cygming.h: Don't include <stdio.h>.
      	* config/i386/driver-i386.c: Don't include <stdlib.h>.
      	* config/i386/host-cygwin.c: Don't include <sys/mman.h>.
      	* config/iq2000/iq2000.c: Don't include <signal.h>.
      	* config/m32c/m32c-pragma.c: Don't include <stdio.h>.
      	* config/m68hc11/m68hc11.c: Don't include <stdio.h>.
      	* config/mep/mep-pragma.c: Don't include <stdio.h>.
      	* config/microblaze/microblaze.c: Don't include <signal.h>.
      	* config/mips/mips.c: Don't include <signal.h>.
      	* config/rs6000/host-darwin.c: Don't include <signal.h>.
      	* cppdefault.c (cpp_relocated): Use getenv instead of
      	GET_ENVIRONMENT.
      	* defaults.h (GET_ENVIRONMENT): Don't define.
      	* et-forest.h: Don't include <ansidecl.h> or <stddef.h>.
      	* gcc.c: Don't include <signal.h>, <sys/mman.h> or <sys/types.h>.
      	(SIGCHLD, MAP_FAILED, kill): Don't define.
      	(process_command): Use getenv instead of GET_ENVIRONMENT.
      	* genhooks.c: Don't include <string.h>.
      	* ggc-common.c: Don't include <sys/resource.h>, <sys/mman.h> or
      	<sys/types.h>.
      	(MAP_FAILED): Don't define.
      	* ggc-page.c Don't include <sys/mman.h>.
      	(MAP_ANONYMOUS, MAP_FAILED): Don't define.
      	* ggc-zone.c: Don't include <sys/mman.h>.
      	(MAP_ANONYMOUS, MAP_FAILED): Don't define.
      	* graph.c: Include "config.h" instead of <config.h>.
      	* incpath.c (add_env_var_paths): Use getenv instead of
      	GET_ENVIRONMENT.
      	* lto-wrapper.c: Don't include <errno.h>, <signal.h> or
      	"libiberty.h".
      	(SIGCHLD, kill): Don't define.
      	* mips-tfile.c: Don't include <signal.h>.
      	* opts.c: Don't include <signal.h> or <sys/resource.h>.
      	(print_specific_help): Use getenv instead of GET_ENVIRONMENT.
      	* passes.c: Don't include <signal.h>, <sys/resource.h> or
      	<sys/times.h>.
      	* sparseset.h: Don't include <assert.h>.
      	* timevar.c: Don't include <sys/times.h> or <sys/resource.h>.
      	* tlink.c: Don't include "libiberty.h".
      	* toplev.c: Don't include <signal.h> or <sys/times.h>.
      	* tree-mudflap.c: Include "demangle.h" instead of <demangle.h>.
      	* tree-switch-conversion.c: Don't include <signal.h>.
      	* vmsdbgout.c: Don't include <errno.h> or <string.h>.
      
      c-family:
      	* c-opts.c (check_deps_environment_vars): Use getenv instead of
      	GET_ENVIRONMENT.
      	* c-pch.c (O_BINARY): Don't define here.
      	* c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
      
      fortran:
      	* gfortran.h (alloca): Don't include definitions.
      	(NULL): Don't define.
      
      java:
      	* boehm.c: Include "config.h" instead of <config.h>.
      	* builtins.c: Don't include <stdarg.h>.
      	* class.c: Don't include "stdio.h".
      	(O_BINARY): Don't define here.
      	* jcf-depend.c: Don't include <assert.h>.
      	(jcf_dependency_set_dep_file, jcf_dependency_init,
      	jcf_dependency_write): Use gcc_assert.
      	* jcf-io.c (O_BINARY): Don't define here.
      	* jcf-path.c: Don't include "tm.h".
      	(jcf_path_init): Use getenv instead of GET_ENVIRONMENT.
      	* resource.c: Don't include "stdio.h".
      	(O_BINARY): Don't define here.
      	* verify-impl.c: Don't include <stdio.h>.
      
      lto:
      	* lto-endian.h: Delete.
      	* lto-object.c: Don't include "libiberty.h".
      	(O_BINARY): Don't define.
      	* lto.c: Don't include "libiberty.h" or <sys/mman.h>.
      	(O_BINARY): Don't define.
      
      From-SVN: r167241
      Joseph Myers committed
  26. 24 Nov, 2010 2 commits
    • targhooks.c (default_except_unwind_info): Remove MUST_USE_SJLJ_EXCEPTIONS case. · 19779181
      	* targhooks.c (default_except_unwind_info): Remove
      	MUST_USE_SJLJ_EXCEPTIONS case.
      	* config/h8300/h8300.h (MUST_USE_SJLJ_EXCEPTIONS): Delete.
      	* config/h8300/h8300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
      	* doc/tm.texi.in (MUST_USE_SJLJ_EXCEPTIONS): Delete.
      	* doc/tm.texi: Regenerate.
      	* system.h (MUST_USE_SJLJ_EXCEPTIONS): Poison.
      
      From-SVN: r167131
      Nathan Froyd committed
    • cppbuiltin.c (define_builtin_macros_for_type_sizes): Define __FLOAT_WORD_ORDER__… · a3abe41c
      cppbuiltin.c (define_builtin_macros_for_type_sizes): Define __FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN.
      
      gcc/
      	* cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
      	__FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN.
      	* config/dfp-bit.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete.
      	* doc/cpp.texi (__FLOAT_WORD_ORDER__): Document.
      	* system.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Poison.
      
      libgcc/
      	* config/libbid/bid_conf.h (BID_BIG_ENDIAN): Define in terms of
      	__FLOAT_WORD_ORDER__.
      	* config/libbid/bid_gcc_intrinsics.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN):
      	Delete.
      
      libdecnumber/
      	* dconfig.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete.
      	(WORDS_BIG_ENDIAN): Define based on value of __FLOAT_WORD_ORDER__.
      
      From-SVN: r167129
      Nathan Froyd committed
  27. 23 Nov, 2010 1 commit
    • tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): New macro. · f16d3f39
      	* tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): New macro.
      	(tree_decl_with_vis): Add implicit_section_name_p.
      	* targhooks.h (default_function_section): Declare.
      	* target.def (function_section): New hook.
      	* defaults.h (HOT_TEXT_SECTION_NAME,
      	UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
      	* predict.c (choose_function_section): Remove.
      	(estimate_bb_frequencies): Do not use choose_function_section.
      	* coretypes.h (enum node_frequency): Move here from cgraph.h
      	* cgraph.h (enum node_frequency): Remove.
      	* varasm.c (initialize_cold_section_name, unlikely_text_section,
      	unlikely_text_section_p): Remove.
      	(named_subsection_entry): New structure.
      	(get_text_section): New function.
      	(default_function_section): New function.
      	(function_section_1): Break out from ...; handle profile info.
      	(function_section): ... here.
      	(unlikely_text_section): Remove.
      	(unlikely_text_section_p): Use function_section_1.
      	(assemble_start_function): Do not initialize cold section.
      	(default_section_type_flags): Do not special case cold subsection.
      	(switch_to_section): Likewise.
      	* output.h (get_text_section): Define.
      	* config/i386/winnt.c: Do not special case cold section.
      	* config/darwin-protos.h (darwin_function_section): Declare.
      	* config/microblaze/microblaze.h (HOT_TEXT_SECTION_NAME,
      	UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
      	* config/ia64/hpux.h (HOT_TEXT_SECTION_NAME,
      	UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
      	(TARGET_ASM_FUNCTION_SECTION): Define to ia64_hpux_function_section.
      	* config/ia64/ia64.c (ia64_hpux_function_section): New function.
      	* config/darwin.c (machopic_select_section): Use
      	darwin_function_section.
      	(darwin_function_section): New function.
      	* config/darwin.h (HOT_TEXT_SECTION_NAME,
      	UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
      	(TARGET_ASM_FUNCTION_SECTION): Define.
      	* system.h (HOT_TEXT_SECTION_NAME,
      	UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Poison.
      
      From-SVN: r167085
      Jan Hubicka committed
  28. 22 Nov, 2010 2 commits
    • * system.h (FUNCTION_ARG_BOUNDARY): Really poison. · b27c742b
      From-SVN: r167021
      Nathan Froyd committed
    • target.def (conditional_register_usage): Define. · 5efd84c5
      	* target.def (conditional_register_usage): Define.
      	* 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.
      
      From-SVN: r167020
      Nathan Froyd committed
  29. 21 Nov, 2010 2 commits
    • * system.h (strerror): Poison. · e7ff5730
      From-SVN: r167010
      Joseph Myers committed
    • tm.texi.in (HANDLE_SYSV_PRAGMA, [...]): Remove. · 24a57808
      	* doc/tm.texi.in (HANDLE_SYSV_PRAGMA,
      	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.
      
      From-SVN: r166992
      Joseph Myers committed
  30. 10 Nov, 2010 1 commit
    • tm.texi.in (TARGET_OPTION_TRANSLATE_TABLE): Remove. · 2be55a25
      	* doc/tm.texi.in (TARGET_OPTION_TRANSLATE_TABLE): Remove.
      	* doc/tm.texi: Regenerate.
      	* opts-common.c (tm.h): Don't include.
      	(target_option_translations): Remove.
      	(decode_cmdline_options_to_array): Don't handle translating
      	options.
      	* system.h (TARGET_OPTION_TRANSLATE_TABLE): Poison.
      	* config/darwin-driver.c: Don't condition includes on
      	CROSS_DIRECTORY_STRUCTURE.
      	(darwin_default_min_version): Make static.
      	(darwin_driver_init): New.  Call darwin_default_min_version if not
      	CROSS_DIRECTORY_STRUCTURE.
      	* config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
      	(DRIVER_SELF_SPECS, DARWIN_CC1_SPEC): Define.
      	(ASM_SPEC): Add %{static}.
      	(darwin_default_min_version): Don't declare.
      	(darwin_driver_init): Declare.
      	(GCC_DRIVER_HOST_INITIALIZATION): Define to call
      	darwin_driver_init, independent of CROSS_DIRECTORY_STRUCTURE.
      	* config/darwin.opt (all_load, allowable_client,
      	arch_errors_fatal, bind_at_load, bundle, bundle_loader,
      	dead_strip, dependency-file, dylib_file, dynamic, dynamiclib,
      	exported_symbols_list, filelist, findirect-virtual-calls,
      	flat_namespace, force_cpusubtype_ALL, force_flat_namespace,
      	framework, fterminated-vtables, gfull, gused, image_base, init,
      	install_name, multi_module, multiply_defined,
      	multiply_defined_unused, no_dead_strip_inits_and_terms,
      	seg_addr_table, seg_addr_table_filename, segaddr,
      	segs_read_only_addr, segs_read_write_addr, single_module,
      	umbrella, unexported_symbols_list, weak_reference_mismatches,
      	Zall_load, Zarch_errors_fatal, Zbind_at_load, Zbundle,
      	Zdead_strip, Zdynamic, Zdynamiclib, Zflat_namespace,
      	Zforce_cpusubtype_ALL, Zforce_flat_namespace, Zmulti_module,
      	Zno_dead_strip_inits_and_terms, Zsingle_module): New.
      	* config/i386/darwin.h (CC1_SPEC): Add DARWIN_CC1_SPEC.
      	(ASM_SPEC): Add %{static}.
      	(SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
      	* config/mep/mep.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
      	(DRIVER_SELF_SPECS): Handle options formerly in
      	TARGET_OPTION_TRANSLATE_TABLE.
      	* config/mep/mep.opt (mfar): New.
      	* config/picochip/picochip.h (TARGET_OPTION_TRANSLATE_TABLE):
      	Remove.
      	(DRIVER_SELF_SPECS): Define.  Handle options formerly in
      	TARGET_OPTION_TRANSLATE_TABLE.
      	* config/rs6000/darwin.h (CC1_SPEC): Handle -faltivec and
      	-fno-altivec.
      	(SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
      	* config/rs6000/darwin.opt (Waltivec-long-deprecated, faltivec,
      	ffix-and-continue, findirect-data): New.
      	* config/rx/rx.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
      	* config/rx/rx.opt (nofpu): Make into alias of mnofpu.
      	(mnofpu): Define mask and use Report here.
      
      From-SVN: r166534
      Joseph Myers committed
  31. 05 Nov, 2010 1 commit
    • defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG, [...]): Remove. · c243beb0
      	* defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG,
      	WORD_SWITCH_TAKES_ARG): Remove.
      	* doc/options.texi (Args): Document.
      	* doc/tm.texi.in (WORD_SWITCH_TAKES_ARG): Remove.
      	* doc/tm.texi: Regenerate.
      	* opt-functions.awk (switch_flags): Handle Args.
      	* opts-common.c: Update comment on tm.h include.
      	(decode_cmdline_option): Handle options with multiple arguments.
      	Don't check WORD_SWITCH_TAKES_ARG for unknown options.
      	* opts.h (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK):
      	Define.
      	(CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
      	CL_COMMON): Update values.
      	* system.h (WORD_SWITCH_TAKES_ARG): Poison.
      	* config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove.
      	* config/darwin.opt (Zsegaddr, sectalign, sectcreate,
      	sectobjectsymbols, sectorder, segcreate, segprot): New.
      
      From-SVN: r166359
      Joseph Myers committed
  32. 01 Nov, 2010 1 commit
    • common.opt (R, [...]): New. · 6d721f67
      	* common.opt (R, T, Tbss, Tdata, Ttext, h, z): New.
      	* defaults.h (DEFAULT_SWITCH_TAKES_ARG, SWITCH_TAKES_ARG): Remove.
      	(DEFAULT_WORD_SWITCH_TAKES_ARG): Define to 0.
      	* doc/tm.texi.in (SWITCH_TAKES_ARG): Remove.
      	(WORD_SWITCH_TAKES_ARG): Don't refer to SWITCH_TAKES_ARG.
      	Document that options in .opt files do not need to be included.
      	* doc/tm.texi: Regenerate.
      	* gcc.c (LINK_COMMAND_SPEC): Don't include %{x}.
      	* opts-common.c: Update comment on tm.h include.
      	(decode_cmdline_option): Don't use SWITCH_TAKES_ARG.
      	* system.h (SWITCH_TAKES_ARG): Poison.
      	* config/alpha/alpha.h (SWITCH_TAKES_ARG): Remove.
      	* config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove options included
      	in darwin.opt.
      	(LINK_COMMAND_SPEC_A): Don't include %{x}.
      	* config/fr30/fr30.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG):
      	Remove.
      	* config/freebsd-spec.h (FBSD_SWITCH_TAKES_ARG): Remove.
      	* config/freebsd.h (SWITCH_TAKES_ARG): Remove.
      	* config/frv/frv.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG):
      	Remove.
      	* config/i386/djgpp.h (LINK_COMMAND_SPEC): Don't include %{x}.
      	* config/ia64/ia64.h (SWITCH_TAKES_ARG): Remove.
      	* config/interix.h (WORD_SWITCH_TAKES_ARG): Don't handle -T
      	options.
      	* config/lm32/lm32.h (SWITCH_TAKES_ARG): Remove.
      	* config/m32r/m32r.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG):
      	Remove.
      	* config/microblaze/microblaze.h (SWITCH_TAKES_ARG): Remove.
      	* config/mips/mips.h (SWITCH_TAKES_ARG): Remove.
      	* config/mips/netbsd.h (SWITCH_TAKES_ARG): Remove.
      	* config/mips/vxworks.h (SWITCH_TAKES_ARG): Remove.
      	* config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove.
      	* config/netbsd-elf.h (SWITCH_TAKES_ARG): Remove.
      	* config/openbsd.h (SWITCH_TAKES_ARG): Remove.
      	* config/rs6000/sysv4.h (SWITCH_TAKES_ARG): Remove.
      	* config/score/score.h (SWITCH_TAKES_ARG): Remove.
      	* config/sol2.h (SWITCH_TAKES_ARG): Remove.
      	* config/sparc/sp-elf.h (SWITCH_TAKES_ARG): Remove.
      	* config/sparc/sp64-elf.h (SWITCH_TAKES_ARG): Remove.
      	* config/sparc/sparc.h (ASM_SPEC): Don't include %{R}.
      	* config/svr4.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
      
      From-SVN: r166155
      Joseph Myers committed
  33. 23 Oct, 2010 1 commit
    • cppbuiltin.c (define_builtin_macros_for_type_sizes): Define __BYTE_ORDER__... · 18ed6ee4
      gcc/
      	* 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__.
      
      From-SVN: r165881
      Nathan Froyd committed
  34. 22 Oct, 2010 2 commits
    • gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION, [...]): Remove. · c3fb2eb4
      	* gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION,
      	SWITCH_CURTAILS_COMPILATION): Remove.
      	* doc/tm.texi.in (SWITCH_CURTAILS_COMPILATION): Remove
      	documentation.
      	* doc/tm.texi: Regenerate.
      	* system.h (SWITCH_CURTAILS_COMPILATION): Poison.
      
      From-SVN: r165855
      Joseph Myers committed
    • target.h (enum opt_levels, [...]): New. · 3020190e
      	* target.h (enum opt_levels, struct default_options): New.
      	* 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.
      
      From-SVN: r165823
      Joseph Myers committed
  35. 19 Oct, 2010 1 commit
    • tm.texi.in (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): New. · ad0c4c36
      * doc/tm.texi.in (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): New.
      (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Change to hook.
      (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Likewise.
      (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Likewise.
      * doc/tm.texi: Regenerate.
      * targhooks.h (default_label_align_after_barrier_max_skip,
      default_loop_align_max_skip, default_label_align_max_skip,
      default_jump_align_max_skip): Declare.
      * target.def (label_align_after_barrier_max_skip): New.
      (loop_align_max_skip): New.
      (label_align_max_skip): New.
      (jump_align_max_skip): New.
      * system.h (poison): Add those macros to the list.
      * final.c (LABEL_ALIGN_MAX_SKIP): Remove.
      (LOOP_ALIGN_MAX_SKIP): Remove.
      (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Remove.
      (JUMP_ALIGN_MAX_SKIP): Remove.
      (default_label_align_after_barrier_max_skip): New.
      (default_loop_align_max_skip): New.
      (default_label_align_max_skip): New.
      (default_jump_align_max_skip): New.
      (compute_alignments): Use the new hooks.
      (shorten_branches): Likewise.
      
      From-SVN: r165707
      DJ Delorie committed