Commit Graph

216 Commits

Author SHA1 Message Date
Rainer Orth f9989b51a9 Move libgcc2 to toplevel libgcc
toplevel:
	* Makefile.tpl (EXTRA_GCC_FLAGS): Remove LIBGCC2_CFLAGS,
	LIBGCC2_DEBUG_CFLAGS, LIBGCC2_INCLUDES.
	* Makefile.in: Regenerate.

	config:
	* mh-interix (LIBGCC2_DEBUG_CFLAGS): Remove.

	gcc:
	* Makefile.in (LIBGCC2_DEBUG_CFLAGS LIBGCC2_CFLAGS)
	(LIBGCC2_INCLUDES, TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXTRA)
	(LIB2FUNCS_STATIC_EXTRA, LIB2FUNCS_EXCLUDE, T, T_TARGET)
	(INCLUDES_FOR_TARGET): Remove.
	(LIBGCC2_CFLAGS): Don't export.
	(LIB2FUNCS_ST, LIB2_DIVMOD_FUNCS, LIB2ADD, LIB2ADD_ST, srcdirify):
	Remove.
	(libgcc-support): Remove $(LIB2ADD), $(LIB2ADD_ST) dependencies.
	(libgcc.mvars): Likewise.
	Don't emit LIB2FUNCS_ST, LIB2FUNCS_EXCLUDE, LIB2ADD, LIB2ADD_ST,
	LIB2_SIDITI_CONV_FUNCS, LIB2_DIVMOD_FUNCS, LIBGCC2_CFLAGS,
	TARGET_LIBGCC2_CFLAGS.
	Emit GTHREAD_FLAGS.
	* libgcc2.c, libgcc2.h, gbl-ctors.h, longlong.h: Move to ../libgcc.
	* config/darwin-64.c: Move to ../libgcc/config.
	* config/divmod.c, config/floatunsidf.c, config/floatunsisf.c,
	config/floatunsitf.c, config/floatunsixf.c, config/udivmod.c,
	config/udivmodsi4.c: Move to ../libgcc/config.
	* config/gthr-posix.c: Move to ../libgcc/config/alpha.
	* config/memcmp.c, config/memcpy.c, config/memmove.c,
	config/memset.c: Move to ../libgcc/config.
	* config/t-darwin (TARGET_LIBGCC2_CFLAGS): Remove.
	* config/t-freebsd: Remove.
	* config/t-freebsd-thread: Move to ../libgcc/config.
	* config/t-libgcc-pic: Move to ../libgcc/config.
	* config/t-libunwind (TARGET_LIBGCC2_CFLAGS): Remove.
	* config/t-linux: Remove.
	* config/t-lynx (TARGET_LIBGCC2_CFLAGS, LIBGCC, INSTALL_LIBGCC):
	Remove
	* config/t-openbsd-thread: Move to ../libgcc/config.
	* config/t-rtems (LIBGCC2_INCLUDES): Remove.
	* config/t-sol2 (TARGET_LIBGCC2_CFLAGS): Remove.
	* config/t-svr4: Remove.
	* config/t-vxworks (LIBGCC, INSTALL_LIBGCC, TARGET_LIBGCC2_CFLAGS)
	(LIBGCC2_DEBUG_CFLAGS, LIB2FUNCS_EXTRA, LIBGCC2_INCLUDES): Remove.
	* config/vxlib.c, config/vxlib-tls.c: Move to ../libgcc/config.
	* config/alpha/qrnnd.asm: Move to ../libgcc/config/alpha/qrnnd.S.
	* config/alpha/t-alpha, config/alpha/t-ieee: Remove.
	* config/alpha/t-vms (LIB2FUNCS_EXTRA, LIBGCC, INSTALL_LIBGCC):
	Remove.
	* config/alpha/vms-gcc_shell_handler.c: Move to ../libgcc/config/alpha.
	* config/arm/bpabi.c, config/arm/unaligned-funcs.c,
	config/arm/fp16.c, config/arm/linux-atomic.c,
	config/arm/linux-atomic-64bit.c: Move to ../libgcc/config/arm.
	* config/arm/t-arm-elf (LIBGCC, INSTALL_LIBGCC)
	(TARGET_LIBGCC2_CFLAGS): Remove.
	* config/arm/t-bpabi, config/arm/t-linux: Remove.
	* config/arm/t-linux-eabi (TARGET_LIBGCC2_CFLAGS)
	(LIB2FUNCS_STATIC_EXTRA): Remove.
	* config/arm/t-netbsd: Remove.
	* config/arm/t-strongarm-elf (LIBGCC, INSTALL_LIBGCC)
	(TARGET_LIBGCC2_CFLAGS): Remove.
	* config/arm/t-symbian (LIB2FUNCS_STATIC_EXTRA): Remove.
	* config/arm/t-wince-pe (LIBGCC, INSTALL_LIBGCC)
	(TARGET_LIBGCC2_CFLAGS): Remove.
	* config/avr/t-avr (LIB2FUNCS_EXCLUDE, TARGET_LIBGCC2_CFLAGS)
	(LIBGCC, INSTALL_LIBGCC): Remove.
	* config/bfin/t-bfin-elf (TARGET_LIBGCC2_CFLAGS): Remove.
	* config/bfin/t-bfin-linux: Likewise.
	* config/bfin/t-bfin-uclinux: Likewise.
	* config/c6x/eqd.c, config/c6x/eqf.c, config/c6x/ged.c,
	config/c6x/gef.c, config/c6x/gtd.c, config/c6x/gtf.c,
	config/c6x/led.c, config/c6x/lef.c, config/c6x/ltd.c,
	config/c6x/ltf.c: Move to ../libgcc/config/c6x.
	* config/c6x/t-c6x-elf (LIB2FUNCS_EXCLUDE, LIB2FUNCS_EXTRA):
	Remove.
	* config/c6x/t-c6x-uclinux (TARGET_LIBGCC2_CFLAGS): Remove.
	* config/cris/arit.c: Move to ../libgcc/config/cris.
	* config/cris/cris_abi_symbol.c: Remove.
	* config/cris/cris.h: Remove obsolete comment.
	* config/cris/mulsi3.asm: Move to ../libgcc/config/cris/mulsi3.S.
	* config/cris/t-cris (LIB2FUNCS_EXTRA, CRIS_LIB1CSRC)
	($(LIB2FUNCS_EXTRA)): Remove.
	* config/cris/t-elfmulti (LIB2FUNCS_STATIC_EXTRA, INSTALL_LIBGCC)
	(LIBGCC): Remove.
	* config/cris/t-linux (TARGET_LIBGCC2_CFLAGS): Remove.
	* config/fr30/t-fr30: Remove.
	* config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
	config/frv/modi.c, config/frv/uitod.c, config/frv/uitof.c,
	config/frv/ulltod.c, config/frv/ulltof.c, config/frv/umodi.c: Move
	to ../libgcc/config/frv.
	* config/frv/t-frv (LIB2FUNCS_EXTRA, TARGET_LIBGCC2_CFLAGS)
	(cmovh.c, cmovw.c, cmovd.c, modi.c, umodi.c, uitof.c, uitod.c)
	(ulltof.c, LIBGCC, INSTALL_LIBGCC): Remove.
	* config/frv/t-linux (TARGET_LIBGCC2_CFLAGS): Remove.
	* config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
	config/h8300/fixunssfsi.c, config/h8300/parityhi2.c,
	config/h8300/popcounthi2.c: Move to ../libgcc/config/h8300.
	* config/h8300/t-h8300 (LIB2FUNCS_EXTRA, TARGET_LIBGCC2_CFLAGS)
	(LIBGCC, INSTALL_LIBGCC): Remove.
	* config/i386/gthr-win32.c: Move to ../libgcc/config/i386.
	* config/i386/t-cygming (LIBGCC2_INCLUDES): Remove.
	* config/i386/t-cygwin: Remove.
	* config/i386/t-darwin (LIB2_SIDITI_CONV_FUNCS, LIB2FUNCS_EXTRA)
	(LIB2FUNCS_EXCLUDE): Remove.
	* config/i386/t-darwin64 (LIB2_SIDITI_CONV_FUNCS, LIB2FUNCS_EXTRA)
	(LIBGCC, INSTALL_LIBGCC): Remove.
	* config/i386/t-gthr-win32: Move to ../libgcc/config/i386.
	* config/i386/t-linux64 (LIBGCC, INSTALL_LIBGCC): Remove.
	* config/i386/t-mingw-w32: Likewise.
	* config/i386/t-mingw-w64: Likewise.
	* config/i386/t-openbsd: Likewise.
	* config/i386/t-nto: Remove.
	* config/ia64/quadlib.c: Move to ../libgcc/config/ia64.
	* config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, LIB2FUNCS_EXTRA)
	(quadlib.c): Remove.
	* config/ia64/t-ia64: Remove comment.
	* config/iq2000/lib2extra-funcs.c: Move to
	../libgcc/config/iq2000/lib2funcs.c.
	* config/iq2000/t-iq2000: Remove.
	* config/m32c/m32c-lib2.c: Move to ../libgcc/config/m32c/lib2funcs.c.
	* config/m32c/m32c-lib2-trapv.c: Move to ../libgcc/config/m32c/trapv.c.
	* config/m32r/t-linux (TARGET_LIBGCC2_CFLAGS): Remove.
	* config/m32c/t-m32c (LIB2FUNCS_EXTRA): Remove.
	* config/m32r/t-m32r (TARGET_LIBGCC2_CFLAGS, LIBGCC)
	(INSTALL_LIBGCC): Remove.
	* config/m68k/fpgnulib.c: Move to ../libgcc/config/m68k.
	* config/m68k/t-floatlib: Remove.
	* config/m68k/t-mlibs (LIBGCC, INSTALL_LIBGCC): Remove.
	* config/mcore/t-mcore (TARGET_LIBGCC2_CFLAGS): Remove.
	Fix typo.
	(LIBGCC, INSTALL_LIBGCC): Remove.
	* config/mep/mep-lib2.c: Move to ../libgcc/config/mep/lib2funcs.c.
	* config/mep/mep-tramp.c: Move to ../libgcc/config/mep/tramp.c.
	* config/mep/t-mep (LIB2FUNCS_EXTRA): Remove.
	* config/mips/t-elf (TARGET_LIBGCC2_CFLAGS, LIBGCC)
	(INSTALL_LIBGCC): Remove.
	* config/mips/t-isa3264: Likewise.
	* config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Remove.
	* config/mips/t-r3900 (TARGET_LIBGCC2_CFLAGS, LIBGCC)
	(INSTALL_LIBGCC): Remove.
	* config/mips/t-sde (LIBGCC, INSTALL_LIBGCC): Remove.
	* config/mips/t-sr71k (TARGET_LIBGCC2_CFLAGS, LIBGCC)
	(INSTALL_LIBGCC): Remove.
	* config/mips/t-vr (TARGET_LIBGCC2_CFLAGS)
	(LIB2FUNCS_STATIC_EXTRA): Remove.
	* config/mips/vr4120-div.S: Move to ../libgcc/config/mips.
	* config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Remove.
	* config/mn10300/t-mn10300 (LIBGCC, INSTALL_LIBGCC): Remove.
	* config/pa/fptr.c, config/pa/linux-atomic.c: Move to
	../libgcc/config/pa.
	* config/pa/lib2funcs.asm: Move to ../libgcc/config/pa/lib2funcs.S.
	* config/pa/quadlib.c: Move to ../libgcc/config/pa.
	* config/pa/t-dce-thr (LIBGCC, INSTALL_LIBGCC): Remove.
	* config/pa/t-linux, config/pa/t-linux64: Remove.
	* config/pa/t-pa-hpux, config/pa/t-pa-hpux10,
	config/pa/t-pa-hpux11, config/pa/t-pa64: Remove.
	* config/pdp11/t-pdp11 (TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXTRA):
	Remove.
	* config/picochip/libgccExtras: Move to ../libgcc/config/picochip.
	* config/picochip/t-picochip (LIB2FUNCS_EXTRA, RANLIB_FOR_TARGET)
	(TARGET_LIBGCC2_CFLAGS, LIBGCC2_DEBUG_CFLAGS): Remove.
	* config/rs6000/crtresfpr.asm: Move to
	../libgcc/config/rs6000/crtresfpr.S.
	* config/rs6000/crtresgpr.asm: Move to
	../libgcc/config/rs6000/crtresgpr.S.
	* config/rs6000/crtresxfpr.asm: Move to
	../libgcc/config/rs6000/crtresxfpr.S.
	* config/rs6000/crtresxgpr.asm: Move to
	../libgcc/config/rs6000/crtresxgpr.S.
	* config/rs6000/crtsavfpr.asm: Move to
	../libgcc/config/rs6000/crtsavfpr.S.
	* config/rs6000/crtsavgpr.asm: Move to
	../libgcc/config/rs6000/crtsavgpr.S.
	* config/rs6000/darwin-asm.h: Move to ../libgcc/config/rs6000.
	* config/rs6000/darwin-fpsave.asm: Move to
	../libgcc/config/rs6000/darwin-fpsave.S.
	* config/rs6000/darwin-gpsave.asm: Move to
	../libgcc/config/rs6000/darwin-gpsave.S.
	* config/rs6000/darwin-tramp.asm: Move to
	../libgcc/config/rs6000/darwin-tramp.S.
	* config/rs6000/darwin-vecsave.asm: Move to
	../libgcc/config/rs6000/darwin-vecsave.S.
	* config/rs6000/darwin-world.asm: Move to
	../libgcc/config/rs6000/darwin-world.S.
	* config/rs6000/e500crtres32gpr.asm: Move to
	../libgcc/config/rs6000/e500crtres32gpr.S.
	* config/rs6000/e500crtres64gpr.asm: Move to
	../libgcc/config/rs6000/e500crtres64gpr.S.
	* config/rs6000/e500crtres64gprctr.asm: Move to
	../libgcc/config/rs6000/e500crtres64gprctr.S.
	* config/rs6000/e500crtrest32gpr.asm: Move to
	../libgcc/config/rs6000/e500crtrest32gpr.S.
	* config/rs6000/e500crtrest64gpr.asm: Move to
	../libgcc/config/rs6000/e500crtrest64gpr.S.
	* config/rs6000/e500crtresx32gpr.asm: Move to
	../libgcc/config/rs6000/e500crtresx32gpr.S.
	* config/rs6000/e500crtresx64gpr.asm: Move to
	../libgcc/config/rs6000/e500crtresx64gpr.S.
	* config/rs6000/e500crtsav32gpr.asm: Move to
	../libgcc/config/rs6000/e500crtsav32gpr.S.
	* config/rs6000/e500crtsav64gpr.asm: Move to
	../libgcc/config/rs6000/e500crtsav64gpr.S.
	* config/rs6000/e500crtsav64gprctr.asm: Move to
	../libgcc/config/rs6000/e500crtsav64gprctr.S.
	* config/rs6000/e500crtsavg32gpr.asm: Move to
	../libgcc/config/rs6000/e500crtsavg32gpr.S.
	* config/rs6000/e500crtsavg64gpr.asm: Move to
	../libgcc/config/rs6000/e500crtsavg64gpr.S.
	* config/rs6000/e500crtsavg64gprctr.asm: Move to
	../libgcc/config/rs6000/e500crtsavg64gprctr.S.
	* config/rs6000/eabi.asm: Move to ../libgcc/config/rs6000/eabi.S.
	* config/rs6000/t-aix43 (LIBGCC, INSTALL_LIBGCC, LIB2FUNCS_EXTRA)
	(TARGET_LIBGCC2_CFLAGS): Remove.
	* config/rs6000/t-aix52: Likewise.
	* config/rs6000/t-darwin: Remove.
	* config/rs6000/t-darwin64 (LIB2_SIDITI_CONV_FUNCS)
	(LIB2FUNCS_EXTRA): Remove.
	* config/rs6000/t-fprules (LIBGCC, INSTALL_LIBGCC): Remove.
	* config/rs6000/t-linux64 (TARGET_LIBGCC2_CFLAGS): Remove.
	* config/rs6000/t-lynx (LIB2FUNCS_EXTRA, tramp.S, LIBGCC)
	(INSTALL_LIBGCC): Remove.
	* config/rs6000/t-netbsd (LIB2FUNCS_EXTRA)
	(LIB2FUNCS_STATIC_EXTRA, tramp.S, crtsavfpr.S, crtresfpr.S)
	(crtsavgpr.S, crtresgpr.S, crtresxfpr.S, crtresxgpr.S, LIBGCC)
	(INSTALL_LIBGCC, $(T)crtsavfpr$(objext), $(T)crtresfpr$(objext))
	(($(T)crtsavgpr$(objext), $(T)crtresgpr$(objext),
	$(T)crtresxfpr$(objext), $(T)crtresxgpr$(objext)): Remove.
	* config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA)
	(LIB2FUNCS_STATIC_EXTRA, eabi.S, tramp.S): Remove.
	* config/rs6000/t-spe (LIBGCC, INSTALL_LIBGCC): Remove.
	* config/rs6000/t-vxworks: Remove comment.
	* config/rs6000/tramp.asm: Move to ../libgcc/config/rs6000/tramp.S.
	* config/rx/t-rx (LIBGCC, INSTALL_LIBGCC): Remove.
	* config/sh/linux-atomic.asm: Move to
	../libgcc/config/sh/linux-atomic.S.
	* config/sh/t-linux (LIB2FUNCS_EXTRA): Remove.
	* config/sh/t-netbsd: Remove.
	* config/sh/t-sh (TARGET_LIBGCC2_CFLAGS, LIBGCC, INSTALL_LIBGCC):
	Remove.
	* config/sparc/t-elf (LIBGCC, INSTALL_LIBGCC): Remove.
	* config/sparc/t-leon: Likewise.
	* config/sparc/t-leon3: Likewise.
	* config/sparc/t-linux64: Likewise.
	* config/sparc/t-netbsd64: Fix typo.
	Remove comment.
	* config/spu/divmodti4.c, config/spu/divv2df3.c,
	config/spu/float_disf.c, config/spu/float_unsdidf.c,
	config/spu/float_unsdisf.c, config/spu/float_unssidf.c,
	config/spu/mfc_multi_tag_release.c,
	config/spu/mfc_multi_tag_reserve.c, config/spu/mfc_tag_release.c,
	config/spu/mfc_tag_reserve.c, config/spu/mfc_tag_table.c,
	config/spu/multi3.c: Move to ../libgcc/config/spu.
	* config/spu/t-spu-elf (TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXCLUDE)
	(LIB2FUNCS_STATIC_EXTRA, LIB2_SIDITI_CONV_FUNCS, LIBGCC)
	(INSTALL_LIBGCC): Remove.
	* config/stormy16/stormy16-lib2.c: Move to
	../libgcc/config/stormy16/lib2.c.
	* config/stormy16/stormy16-lib2-ashlsi3.c: Move to
	../libgcc/config/stormy16/ashlsi3.c.
	* config/stormy16/stormy16-lib2-ashrsi3.c: Move to
	../libgcc/config/stormy16/ashrsi3.c.
	* config/stormy16/stormy16-lib2-clzhi2.c: Move to
	../libgcc/config/stormy16/clzhi2.c.
	* config/stormy16/stormy16-lib2-cmpsi2.c: Move to
	../libgcc/config/stormy16/cmpsi2.c.
	* config/stormy16/stormy16-lib2-ctzhi2.c: Move to
	../libgcc/config/stormy16/ctzhi2.c.
	* config/stormy16/stormy16-lib2-divsi3.c: Move to
	../libgcc/config/stormy16/divsi3.c.
	* config/stormy16/stormy16-lib2-ffshi2.c: Move to
	../libgcc/config/stormy16/ffshi2.c.
	* config/stormy16/stormy16-lib2-lshrsi3.c: Move to
	../libgcc/config/stormy16/lshrsi3.c.
	* config/stormy16/stormy16-lib2-modsi3.c: Move to
	../libgcc/config/stormy16/modsi3.c.
	* config/stormy16/stormy16-lib2-parityhi2.c: Move to
	../libgcc/config/stormy16/parityhi2.c.
	* config/stormy16/stormy16-lib2-popcounthi2.c: Move to
	../libgcc/config/stormy16/popcounthi2.c.
	* config/stormy16/stormy16-lib2-ucmpsi2.c: Move to
	../libgcc/config/stormy16/ucmpsi2.c.
	* config/stormy16/stormy16-lib2-udivmodsi4.c: Move to
	../libgcc/config/stormy16/udivmodsi4.c.
	* config/stormy16/stormy16-lib2-udivsi3.c: Move to
	../libgcc/config/stormy16/udivsi3.c.
	* config/stormy16/stormy16-lib2-umodsi3.c: Move to
	../libgcc/config/stormy16/umodsi3.c.
	* config/stormy16/t-stormy16: Move to ../libgcc/config/t-stormy16.
	* config/v850/t-v850 (INSTALL_LIBGCC): Remove.
	* config/xtensa/lib2funcs.S: Move to ../libgcc/config/xtensa.
	* config/xtensa/t-elf: Remove.
	* config/xtensa/t-xtensa (LIB2FUNCS_EXTRA): Remove.
	* config.gcc (*-*-freebsd*): Remove t-freebsd, t-freebsd-thread
	from tmake_file.
	(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
	*-*-gnu*, *-*-kopensolaris*-gnu): Remove t-linux from tmake_file.
	(*-*-netbsd*): Remove t-libgcc-pic from tmake_file.
	(*-*-openbsd*): Likewise.
	Remove t-openbsd-thread for posix threads.
	(alpha*-*-linux*): Remove alpha/t-alpha, alpha/t-ieee
	from tmake_file.
	(alpha*-*-freebsd*): Likewise.
	(alpha*-*-netbsd*): Likewise.
	(alpha*-*-openbsd*): Likewise.
	(alpha64-dec-*vms*): Likewise.
	(alpha*-dec-*vms*): Likewise.
	(arm*-*-netbsdelf*): Remove arm/t-netbsd from tmake_file.
	(arm*-*-linux*): Remove t-linux from tmake_file.
	Remove arm/t-bpabi from tmake_file for arm*-*-linux-*eabi.
	(arm*-*-uclinux*): Remove arm/t-bpabi from tmake_file for
	arm*-*-uclinux*eabi.
	(arm*-*-eabi*, arm*-*-symbianelf* ): Remove arm/t-bpabi from
	tmake_file for arm*-*-eabi*.
	(fr30-*-elf): Remove tmake_file.
	(hppa*64*-*-linux*): Remove tmake_file.
	(hppa*-*-linux*): Likewise.
	(hppa[12]*-*-hpux10*): Remove pa/t-pa-hpux10, pa/t-pa-hpux from
	tmake_file.
	(hppa*64*-*-hpux11*): Remove pa/t-pa64, pa/t-pa-hpux from tmake_file.
	(hppa[12]*-*-hpux11*): Remove pa/t-pa-hpux11, pa/t-pa-hpux from
	tmake_file.
	(i[34567]86-*-elf*): Remove tmake_file.
	(x86_64-*-elf*): Likewise.
	(i[34567]86-*-nto-qnx*): Likewise.
	(i[34567]86-*-cygwin*): Remove i386/t-cygwin from tmake_file.
	(i[34567]86-*-mingw*, x86_64-*-mingw*): Remove i386/t-gthr-win32
	from tmake_file if using win32 threads.
	(iq2000*-*-elf*): Remove tmake-file.
	(microblaze*-linux*): Likewise.
	(sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*)
	(sh[2346lbe]*-*-linux*, sh-*-netbsdelf*, shl*-*-netbsdelf*)
	(sh5-*-netbsd*, sh5l*-*-netbsd*, sh64-*-netbsd*)
	(sh64l*-*-netbsd*): Remove sh/t-netbsd from tmake_file for
	sh5*-*-netbsd*, sh64*-netbsd*, *-*-netbsd.
	(xtensa*-*-elf*): Remove tmake_file.

	gcc/po:
	* EXCLUDES (config/vxlib.c, gbl-ctors.h, libgcc2.c, libgcc2.h)
	(longlong.h): Remove.

	libgcc:
	* configure.ac: Include ../config/picflag.m4.
	(GCC_PICFLAG): Call it.
	Substitute.
	* configure: Regenerate.
	* Makefile.in (gcc_srcdir): Remove.
	(LIBGCC2_DEBUG_CFLAGS, LIBGCC2_CFLAGS, LIBGCC2_INCLUDES)
	(HOST_LIBGCC2_CFLAGS, PICFLAG, LIB2FUNCS_ST, LIB2FUNCS_EXCLUDE)
	(LIB2_DIVMOD_FUNCS, LIB2ADD, LIB2ADD_ST): Set.
	($(lib2funcs-o), $(lib2funcs-s-o), $(lib2-divmod-o))
	($(lib2-divmod-s-o)): Use $(srcdir) to refer to libgcc2.c.
	Use $<.
	Remove comment.
	* libgcc2.c, libgcc2.h, gbl-ctors.h, longlong.h: New files.
	* siditi-object.mk ($o$(objext), $(o)_s$(objext)): Use $(srcdir)
	to refer to libgcc2.c.
	Use $<.
	* config/darwin-64.c: New file.
	* config/darwin-crt3.c: Remove comment.
	* config/divmod.c, config/floatunsidf.c, config/floatunsisf.c,
	config/floatunsitf.c, config/floatunsixf.c, config/udivmod.c,
	config/udivmodsi4.c: New files.
	* config/memcmp.c, config/memcpy.c, config/memmove.c,
	config/memset.c: New files.
	* config/t-crtstuff-pic (CRTSTUFF_T_CFLAGS_S): Use $(PICFLAG).
	* config/t-darwin (HOST_LIBGCC2_CFLAGS): Set.
	* config/t-freebsd-thread, config/t-libgcc-pic: New files.
	* config/t-libunwind (HOST_LIBGCC2_CFLAGS): Set.
	* config/t-openbsd-thread: New file.
	* config/t-sol2 (HOST_LIBGCC2_CFLAGS): Remove.
	* config/t-vxworks, config/vxlib-tls.c, config/vxlib.c: New files.
	* config/alpha/gthr-posix.c, config/alpha/qrnnd.S: New files.
	* config/alpha/t-alpha (LIB2ADD): Use $(srcdir) to refer to
	qrnnd.S.
	Adapt filename.
	* config/alpha/t-osf-pthread (LIB2ADD): Use $(srcdir)/config/alpha
	to refer to gthr-posix.c.
	* config/alpha/t-vms (LIB2ADD): Set.
	* config/alpha/vms-gcc_shell_handler.c: New file.
	* config/arm/bpabi.c, config/arm/fp16.c,
	config/arm/linux-atomic.c, config/arm/linux-atomic-64bit.c,
	config/arm/unaligned-funcs.c: New files.
	* config/arm/t-bpabi (LIB2ADD, LIB2ADD_ST): Set.
	* config/arm/t-elf (HOST_LIBGCC2_CFLAGS): Set.
	* config/arm/t-linux: Likewise.
	* config/arm/t-linux-eabi (LIB2ADD_ST): Add.
	* config/arm/t-netbsd: New file.
	* config/arm/t-strongarm-elf (HOST_LIBGCC2_CFLAGS): Set.
	* config/arm/t-symbian (LIB2ADD_ST): Set.
	* config/avr/t-avr (LIB2FUNCS_EXCLUDE, HOST_LIBGCC2_CFLAGS): Set.
	* config/bfin/t-crtstuff (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
	* config/bfin/t-elf: New file.
	* config/c6x/eqd.c, config/c6x/eqf.c, config/c6x/ged.c,
	config/c6x/gef.c, config/c6x/gtd.c, config/c6x/gtf.c,
	config/c6x/led.c, config/c6x/lef.c, config/c6x/ltd.c,
	config/c6x/ltf.c: New files.
	* config/c6x/t-elf (LIB2FUNCS_EXCLUDE, LIB2ADD)
	(HOST_LIBGCC2_CFLAGS): Set.
	* config/c6x/t-uclinux (HOST_LIBGCC2_CFLAGS): Set.
	(CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
	* config/cris/arit.c, config/cris/mulsi3.S, config/cris/t-cris:
	New files.
	* config/cris/t-elfmulti (LIB2ADD_ST): Set.
	* config/cris/t-linux (HOST_LIBGCC2_CFLAGS): Remove.
	* config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
	config/frv/modi.c, config/frv/uitod.c, config/frv/uitof.c,
	config/frv/ulltod.c, config/frv/ulltof.c, config/frv/umodi.c: New
	files.
	* config/frv/t-frv (LIB2ADD): Set.
	* config/frv/t-linux (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
	* config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
	config/h8300/fixunssfsi.c, config/h8300/parityhi2.c,
	config/h8300/popcounthi2.c: New files.
	* config/h8300/t-h8300 (LIB2ADD, HOST_LIBGCC2_CFLAGS): Set.
	* config/i386/gthr-win32.c: New file.
	* config/i386/t-cygming (LIBGCC2_INCLUDES): Set.
	* config/i386/t-cygwin: Likewise.
	* config/i386/t-darwin, config/i386/t-darwin64,
	config/i386/t-gthr-win32, config/i386/t-interix: New files.
	* config/i386/t-nto (HOST_LIBGCC2_CFLAGS): Set.
	(CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
	* config/i386/t-sol2 (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
	* config/ia64/quadlib.c: New file.
	* config/ia64/t-hpux (LIB2ADD): Set.
	* config/ia64/t-ia64: Add comment.
	* config/iq2000/lib2funcs.c, config/iq2000/t-iq2000: New files.
	* config/lm32/t-uclinux (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
	(HOST_LIBGCC2_CFLAGS): Append, remove -fPIC.
	* config/m32c/lib2funcs.c, config/m32c/trapv.c: New files.
	* config/m32c/t-m32c (LIB2ADD): Set.
	* config/m32r/t-linux (HOST_LIBGCC2_CFLAGS): Set.
	* config/m32r/t-m32r: Likewise.
	* config/m68k/fpgnulib.c: New file.
	* config/m68k/t-floatlib (LIB2ADD): Set.
	(xfgnulib.c): New target.
	* config/mcore/t-mcore (HOST_LIBGCC2_CFLAGS): Set.
	* config/mep/lib2funcs.c, config/mep/tramp.c: New files.
	* config/mep/t-mep (LIB2ADD): Set.
	* config/microblaze/divsi3.asm: Rename to divsi3.S.
	* config/microblaze/moddi3.asm: Rename to moddi3.S.
	* config/microblaze/modsi3.asm: Rename to modsi3.S.
	* config/microblaze/muldi3_hard.asm: Rename to hard.S.
	* config/microblaze/mulsi3.asm: Rename to mulsi3.S.
	* config/microblaze/stack_overflow_exit.asm: Rename to exit.S.
	* config/microblaze/udivsi3.asm: Rename to udivsi3.S.
	* config/microblaze/umodsi3.asm: Rename to umodsi3.S.
	* config/microblaze/t-microblaze (LIB2ADD): Reflect this.
	* config/mips/t-elf, config/mips/t-vr, config/mips/vr4120-div.S:
	New files.
	* config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Set.
	* config/mmix/t-mmix (HOST_LIBGCC2_CFLAGS): Set.
	* config/pa/fptr.c, config/pa/lib2funcs.S,
	config/pa/linux-atomic.c, config/pa/quadlib.c: New files.
	* config/pa/t-linux (HOST_LIBGCC2_CFLAGS): Set.
	(LIB2ADD, LIB2ADD_ST): Set.
	* config/pa/t-hpux, config/pa/t-hpux10, config/pa/t-pa64: New files.
	* config/pa/t-linux (HOST_LIBGCC2_CFLAGS, LIB2ADD, LIB2ADD_ST):
	Set.
	* config/pa/t-linux64 (LIB2ADD_ST, HOST_LIBGCC2_CFLAGS): Set.
	* config/pdp11/t-pdp11: New file.
	* config/picochip/libgccExtras/adddi3.S,
	config/picochip/libgccExtras/ashlsi3.S,
	config/picochip/libgccExtras/ashrsi3.S,
	config/picochip/libgccExtras/clzsi2.S,
	config/picochip/libgccExtras/cmpsi2.S,
	config/picochip/libgccExtras/divmod15.S,
	config/picochip/libgccExtras/divmodhi4.S,
	config/picochip/libgccExtras/divmodsi4.S,
	config/picochip/libgccExtras/lshrsi3.S,
	config/picochip/libgccExtras/parityhi2.S,
	config/picochip/libgccExtras/popcounthi2.S,
	config/picochip/libgccExtras/subdi3.S,
	config/picochip/libgccExtras/ucmpsi2.S,
	config/picochip/libgccExtras/udivmodhi4.S,
	config/picochip/libgccExtras/udivmodsi4.S: New files.
	* config/picochip/t-picochip (LIB2ADD, HOST_LIBGCC2_CFLAGS)
	(LIBGCC2_DEBUG_CFLAGS, RANLIB_FOR_TARGET): Set.
	* config/rs6000/crtresfpr.S, config/rs6000/crtresgpr.S,
	config/rs6000/crtresxfpr.S, config/rs6000/crtresxgpr.S,
	config/rs6000/crtsavfpr.S, config/rs6000/crtsavgpr.S)
	config/rs6000/darwin-asm.h, config/rs6000/darwin-fpsave.S,
	config/rs6000/darwin-gpsave.S, 	config/rs6000/darwin-tramp.S,
	config/rs6000/darwin-vecsave.S, config/rs6000/darwin-world.S: New
	files.
	* config/rs6000/t-darwin (LIB2ADD, LIB2ADD_ST)
	(HOST_LIBGCC2_CFLAGS): Set.
	* config/rs6000/t-darwin64: New file.
	* config/rs6000/t-linux64 (HOST_LIBGCC2_CFLAGS): Set.
	* config/rs6000/t-lynx, config/rs6000/t-netbsd: New files.
	* config/rs6000/t-ppccomm (LIB2ADD): Add
	$(srcdir)/config/rs6000/tramp.S.
	(LIB2ADD_ST): Use $(srcdir)/config/rs6000 to refer to sources.
	Add  $(srcdir)/config/rs6000/eabi.S.
	(crtsavfpr.S, crtresfpr.S, crtsavgpr.S, crtresgpr.S, crtresxfpr.S)
	(crtresxgpr.S, e500crtres32gpr.S, e500crtres64gpr.S)
	(e500crtres64gprctr.S, e500crtrest32gpr.S, e500crtrest64gpr.S)
	(e500crtresx32gpr.S, e500crtresx64gpr.S, e500crtsav32gpr.S)
	(e500crtsav64gpr.S, e500crtsav64gprctr.S, e500crtsavg32gpr.S)
	(e500crtsavg64gpr.S, e500crtsavg64gprctr.S): Remove.
	* config/rs6000/tramp.S: New file.
	* config/s390/t-tpf: Remove.
	* config/sh/linux-atomic.S: New file.
	* config/sh/t-linux (LIB2ADD): Set.
	(HOST_LIBGCC2_CFLAGS): Append, remove -fpic.
	* config/sh/t-netbsd (LIB2ADD, HOST_LIBGCC2_CFLAGS): Set.
	* config/sh/t-sh (unwind-dw2-Os-4-200.o): Use $(srcdir) to refer
	to unwind-dw2.c.
	(HOST_LIBGCC2_CFLAGS): Set.
	* config/sparc/t-sol2 (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
	* config/spu/divmodti4.c, config/spu/divv2df3.c,
	config/spu/float_disf.c, config/spu/float_unsdidf.c,
	config/spu/float_unsdisf.c, config/spu/float_unssidf.c,
	config/spu/mfc_multi_tag_release.c,
	config/spu/mfc_multi_tag_reserve.c, config/spu/mfc_tag_release.c,
	config/spu/mfc_tag_reserve.c, config/spu/mfc_tag_table.c,
	config/spu/multi3.c: New files.
	* config/spu/t-elf (LIB2ADD, LIB2ADD_ST, LIB2_SIDITI_CONV_FUNCS)
	(HOST_LIBGCC2_CFLAGS): Set.
	* config/stormy16/ashlsi3.c, config/stormy16/ashrsi3.c,
	config/stormy16/clzhi2.c, config/stormy16/cmpsi2.c,
	config/stormy16/ctzhi2.c, config/stormy16/divsi3.c,
	config/stormy16/ffshi2.c, config/stormy16/lib2.c,
	config/stormy16/lshrsi3.c, config/stormy16/modsi3.c,
	config/stormy16/parityhi2.c, config/stormy16/popcounthi2.c,
	config/stormy16/t-stormy16, config/stormy16/ucmpsi2.c,
	config/stormy16/udivmodsi4.c, config/stormy16/udivsi3.c,
	config/stormy16/umodsi3.c: New files.
	* config/xtensa/lib2funcs.S: New file.
	* config/xtensa/t-elf (HOST_LIBGCC2_CFLAGS): Set.
	* config/xtensa/t-xtensa (LIB2ADD): Set.
	* config.host (*-*-darwin*): Add t-libgcc-pic to tmake_file.
	(*-*-freebsd*): Add t-freebsd, t-libgcc-pic to tmake_file.
	Add t-freebsd-thread to tmake_file for posix threads.
	(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu)
	(*-*-gnu*, *-*-kopensolaris*-gnu): Add t-libgcc-pic to tmake_file.
	(*-*-lynxos*): Likewise.
	(*-*-netbsd*): Likewise.
	(*-*-openbsd*): Likewise.
	Add t-openbsd-thread to tmake_file for posix threads.
	(*-*-solaris2*): Add t-libgcc-pic to tmake_file.
	(*-*-vxworks*): Set tmake_file.
	(alpha*-*-linux*): Add alpha/t-alpha, alpha/t-ieee to tmake_file.
	(alpha*-*-freebsd*): Likewise.
	(alpha*-*-netbsd*): Likewise.
	(alpha*-*-openbsd*): Likewise.
	(alpha*-dec-osf5.1*): Remove qrnnd.o, gthr-posix.o from extra_parts.
	(alpha64-dec-*vms*): Add alpha/t-alpha, alpha/t-ieee to tmake_file.
	(alpha*-dec-*vms*): Likewise.
	(arm*-*-netbsdelf*): Add arm/t-netbsd to tmake_file.
	(bfin*-elf*): Add bfin/t-elf to tmake_file.
	(bfin*-uclinux*): Likewise.
	(bfin*-linux-uclibc*): Likewise.
	(crisv32-*-elf): Add cris/t-cris to tmake_file.
	(crisv32-*-none): Likewise.
	(cris-*-elf): Likewise.
	(cris-*-none): Likewise.
	(cris-*-linux*, crisv32-*-linux*): Likewise.
	(hppa[12]*-*-hpux10*): Add pa/t-hpux pa/t-hpux10, t-libgcc-pic to
	tmake_file.
	(hppa*64*-*-hpux11*): Add pa/t-hpux, pa/t-pa64, t-libgcc-pic to
	tmake_file.
	(hppa[12]*-*-hpux11*): Add pa/t-hpux, t-libgcc-pic to tmake_file.
	(i[34567]86-*-elf*): Add t-libgcc-pic to tmake_file.
	(x86_64-*-elf*): Likewise.
	(i[34567]86-*-nto-qnx*): Likewise.
	(i[34567]86-*-mingw*): Add i386/t-gthr-win32 to tmake_file for
	win32 threads.
	(x86_64-*-mingw*): Likewise.
	(i[34567]86-*-interix3*): Add i386/t-interix to tmake_file.
	(lm32-*-uclinux*): Add t-libgcc-pic to tmake_file.
	(mipsisa32-*-elf*, mipsisa32el-*-elf*, mipsisa32r2-*-elf*)
	(mipsisa32r2el-*-elf*, mipsisa64-*-elf*, mipsisa64el-*-elf*)
	(mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Add mips/t-elf to
	tmake_file.
	(mipsisa64sr71k-*-elf*): Likewise.
	(mipsisa64sb1-*-elf*, mipsisa64sb1el-*-elf*): Likewise.
	(mips-*-elf*, mipsel-*-elf*): Likewise.
	(mips64-*-elf*, mips64el-*-elf*): Likewise.
	(mips64orion-*-elf*, mips64orionel-*-elf*): Likewise.
	(mips*-*-rtems*): Likewise.
	(mips64vr-*-elf*, mips64vrel-*-elf*): Add mips/t-elf, mips/t-vr
	to tmake_file.
	(pdp11-*-*): Add pdp11/t-pdp11 to tmake_file.
	(powerpc64-*-darwin*): Add rs6000/t-darwin64 to tmake_file.
	(s390x-ibm-tpf*): Add t-libgcc-pic to tmake_file.
	(spu-*-elf*): Likewise.
	(tic6x-*-uclinux): Add t-libgcc-pic to tmake_file.

	libquadmath:
	* printf/gmp-impl.h: Adapt path to longlong.h.

From-SVN: r180774
2011-11-02 15:23:48 +00:00
Richard Sandiford 68f932c443 tm.texi.in (TARGET_RTX_COSTS): Add an opno paramter.
gcc/
	* doc/tm.texi.in (TARGET_RTX_COSTS): Add an opno paramter.
	* doc/tm.texi: Regenerate.
	* target.def (rtx_costs): Add an opno parameter.
	* hooks.h (hook_bool_rtx_int_int_intp_bool_false): Replace with...
	(hook_bool_rtx_int_int_int_intp_bool_false): ...this.
	* hooks.c (hook_bool_rtx_int_int_intp_bool_false): Replace with...
	(hook_bool_rtx_int_int_int_intp_bool_false): ...this.
	* cse.c (COST_IN): Add an opno parameter.
	(notreg_cost): Likewise.  Update call to rtx_cost.
	(COST, fold_rtx): Update accordingly.
	* dojump.c (prefer_and_bit_test): Update call to rtx_cost.
	* expmed.c (emit_store_flag): Likewise.
	* optabs.c (avoid_expensive_constant): Add an opno parameter.
	Update call to rtx_cost.
	(expand_binop_directly, expand_binop): Likewise.
	(expand_twoval_binop, prepare_cmp_insn): Likewise.
	* rtl.h (rtx_cost, get_full_rtx_cost): Add opno parameters.
	(set_src_cost, get_full_set_src_cost): Update accordingly.
	* rtlanal.c (rtx_cost): Add an opno parameter.  Update call
	to target hook.
	(get_full_rtx_cost): Add an opno paramter.  Update calls to rtx_cost.
	(default_adress_cost): Update calls to rtx_cost.

	* config/arm/arm.c (arm_rtx_costs_1, arm_size_rtx_costs)
	(arm_slowmul_rtx_costs): Adjust calls to rtx_cost.
	(arm_rtx_costs): Add an opno parameter.
	* config/alpha/alpha.c (alpha_rtx_costs): Add an opno parameter and
	adjust any recursive rtx-cost calls.
	* config/avr/avr.c (avr_operand_rtx_cost, avr_rtx_costs): Likewise.
	* config/bfin/bfin.c (bfin_rtx_costs): Likewise.
	* config/c6x/c6x.c (c6x_rtx_costs): Likewise.
	* config/cris/cris.c (cris_rtx_costs): Likewise.
	* config/frv/frv.c (frv_rtx_costs): Likewise.
	* config/h8300/h8300.c (h8300_rtx_costs): Likewise.
	* config/i386/i386.c (ix86_rtx_costs): Likewise.
	* config/ia64/ia64.c (ia64_rtx_costs): Likewise.
	* config/iq2000/iq2000.c (iq2000_rtx_costs): Likewise.
	* config/lm32/lm32.c (lm32_rtx_costs): Likewise.
	* config/m32c/m32c.c (m32c_rtx_costs): Likewise.
	* config/m32r/m32r.c (m32r_rtx_costs): Likewise.
	* config/m68k/m68k.c (m68k_rtx_costs): Likewise.
	* config/mcore/mcore.c (mcore_rtx_costs): Likewise.
	* config/mep/mep.c (mep_rtx_cost): Likewise.
	* config/microblaze/microblaze.c (microblaze_rtx_costs): Likewise.
	* config/mips/mips.c (mips_binary_cost): Update call to rtx_cost.
	(mips_zero_extend_cost): Add an opno parameter.
	* config/mmix/mmix.c (mmix_rtx_costs): Likewise.
	* config/mn10300/mn10300.c (mn10300_address_cost): Update call
	to rtx_cost.
	(mn10300_rtx_costs): Add an opno parameter and adjust any recursive
	rtx-cost calls.
	* config/pa/pa.c (hppa_rtx_costs): Likewise.
	* config/pdp11/pdp11.c (pdp11_rtx_costs): Likewise.
	* config/picochip/picochip.c (picochip_rtx_costs): Likewise.
	* config/rs6000/rs6000.c (rs6000_rtx_costs): Likewise.
	(rs6000_debug_rtx_costs): Likewise.
	* config/s390/s390.c (s390_rtx_costs): Likewise.
	* config/score/score-protos.h (score_rtx_costs): Likewise.
	* config/score/score.c (score_rtx_costs): Likewise.
	* config/sh/sh.c (andcosts): Update call to rtx_cost.
	(sh_rtx_costs): Add an opno parameter.
	* config/sparc/sparc.c (sparc_rtx_costs): Likewise.
	* config/spu/spu.c (spu_rtx_costs): Likewise.
	* config/stormy16/stormy16.c (xstormy16_rtx_costs): Likewise.
	* config/v850/v850.c (v850_rtx_costs): Likewise.
	* config/vax/vax.c (vax_rtx_costs): Likewise.
	* config/xtensa/xtensa.c (xtensa_rtx_costs): Likewise.

From-SVN: r177852
2011-08-18 12:37:53 +00:00
Rainer Orth 569dc49461 Makefile.in (FPBIT_FUNCS, [...]): Remove.
gcc:
	* Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS, TPBIT_FUNCS): Remove.
	(libgcc-support): Remove $(FPBIT), $(DPBIT), $(TPBIT)
	dependencies.
	(libgcc.mvars): Remove FPBIT, FPBIT_FUNCS, DPBIT, DPBIT_FUNCS,
	TPBIT, TPBIT_FUNCS.
	* config/fp-bit.c, config/fp-bit.h: Move to ../libgcc.
	* config/arm/t-strongarm-elf (FPBIT, DPBIT, dp-bit.c, fp-bit.c):
	Remove.
	* config/arm/t-vxworks: Likewise.
	* config/arm/t-wince-pe: Likewise.
	* config/avr/t-avr (fp-bit.c, FPBIT): Remove.
	* config/bfin/t-bfin (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
	* config/bfin/t-bfin-elf: Likewise.
	* config/bfin/t-bfin-linux: Likewise.
	* config/bfin/t-bfin-uclinux: Likewise.
	* config/cris/t-cris (FPBIT, DPBIT, dp-bit.c, tmplibgcc_fp_bit.c):
	Remove.
	* config/fr30/t-fr30: Likewise.
	* config/frv/t-frv: Likewise.
	* config/h8300/t-h8300 (FPBIT, fp-bit.c): Remove.
	* config/iq2000/t-iq2000 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
	* config/m32c/t-m32c: Likewise.
	* config/m32r/t-linux: (LIB2FUNCS_EXTRA, fp-bit.c, dp-bit.c): Remove.
	* config/m32r/t-m32r (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
	* config/mcore/t-mcore: Likewise.
	* config/mep/t-mep: Likewise.
	* config/microblaze/t-microblaze: Likewise.
	* config/mips/t-linux64 (TPBIT, tp-bit.c): Remove.
	* config/mips/t-mips (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
	* config/mips/t-sdemtk (FPBIT, DPBIT): Remove.
	* config/mips/t-sr71k (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
	* config/mn10300/t-linux: Remove.
	* config/mn10300/t-mn10300 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
	* config/pdp11/t-pdp11: Likewise.
	* config/picochip/t-picochip (FPBIT, fp-bit.c): Remove.
	* config/rs6000/ppc64-fp.c: Move to ../libgcc/config/rs6000.
	* config/rs6000/t-aix43 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
	(LIB2FUNCS_EXTRA): Remove $(srcdir)/config/rs6000/ppc64-fp.c.
	* config/rs6000/t-aix52: Likewise.
	* config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Remove
	$(srcdir)/config/rs6000/ppc64-fp.c.
	* config/rs6000/t-fprules-fpbit: Remove.
	* config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Remove.
	* config/rs6000/t-lynx (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
	* config/sh/t-netbsd (FPBIT, DPBIT): Remove.
	* config/sh/t-sh (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
	* config/sparc/t-elf: Likewise.
	* config/sparc/t-leon: Likewise.
	* config/sparc/t-leon3: Likewise.
	* config/spu/t-spu-elf: Likewise.
	(DPBIT_FUNCS): Remove.
	* config/stormy16/t-stormy16 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
	* config/v850/t-v850: Likewise.
	* config.gcc (avr-*-rtems*): Add avr/avr-lib.h to libgcc_tm_file.
	(avr-*-*): Likewise.
	(h8300-*-rtems*): Set libgcc_tm_file.
	(h8300-*-elf*): Likewise.
	(powerpc-*-eabisimaltivec*): Remove rs6000/t-fprules-fpbit from
	tmake_file.
	(powerpc-*-eabisim*): Likewise.
	(powerpc-*-elf*): Likewise.
	(powerpc-*-eabialtivec*): Likewise.
	(powerpc-xilinx-eabi*): Likewise.
	(powerpc-*-eabi*): Likewise.
	(powerpc-*-rtems*): Likewise.
	(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Likewise.
	(powerpcle-*-elf*): Likewise.
	(powerpcle-*-eabisim*): Likewise.
	(powerpcle-*-eabi*): Likewise.
	(rx-*-elf*): Add rx/rx-lib.h to libgcc_tm_file.
	(am33_2.0-*-linux*): Remove mn10300/t-linux from tmake_file.
	* doc/fragments.texi (Target Fragment, Floating Point Emulation):
	Remove.

	gcc/po:
	* EXCLUDES (config/fp-bit.c, config/fp-bit.h): Remove.

	libgcc:
	* Makefile.in (double_type_size, long_double_type_size): Set.
	Remove $(fpbit-in-libgcc) support.
	(FPBIT_FUNCS, DPBIT_FUNCS, TPBIT_FUNCS): New variables.
	(fpbit-src): New variable.
	($(fpbit-o), $(fpbit-s-o)): Use $(fpbit-src) instead of $(FPBIT).
	Compile with -DFLOAT $(FPBIT_CFLAGS).
	Use $<.
	($(dpbit-o), $(dpbit-s-o)): Use $(fpbit-src) instead of $(DPBIT).
	Compile with $(FPBIT_CFLAGS).
	Use $<.
	($(tpbit-o), $(tpbit-s-o): Use $(fpbit-src) instead of $(TPBIT).
	Compile with -DFLOAT $(TPBIT_CFLAGS).
	Use $<.
	* configure.ac (double_type_size, long_double_type_size):
	Determine and substitute.
	* configure: Regenerate.
	* fp-bit.c, fp-bit.h: New files.
	* config/avr/avr-lib.h, config/h8300/h8300-lib.h: New files.
	* config/mips/t-irix6 (TPBIT, $(gcc_objdir)/tp-bit.c): Remove.
	* config/mips/t-mips: New file.
	* config/mips/t-sdemtk: New file.
	* config/rs6000/ppc64-fp.c: New file.
	* config/rs6000/t-darwin (LIB2ADD): Add
	$(srcdir)/config/rs6000/ppc64-fp.c.
	* config/rs6000/t-ppc64-fp: New file.
	* config/rx/rx-lib.h: New file.
	* config/rx/t-rx (FPBIT): Set to true.
	($(gcc_objdir)/fp-bit.c): Remove.
	(DPBIT): Set to true only with -m64bit-doubles.
	($(gcc_objdir)/dp-bit.c): Remove.
	* config/sparc/t-softfp: Remove.
	* config/spu/t-elf: New file.
	* config/t-fdpbit, config/t-fpbit: New files.
	* config.host (m32c*-*-*): Add t-fdpbit to tmake_file.
	(mips*-*-*): Likewise.
	(arm-wrs-vxworks): Likewise.
	(arm*-*-freebsd*): Likewise.
	(avr-*-rtems*): Add t-fpbit to tmake_file.
	(avr-*-*): Likewise.
	(bfin*-elf*): Add t-fdpbit to tmake_file.
	(bfin*-uclinux*): Likewise.
	(bfin*-linux-uclibc*): Likewise.
	(bfin*-rtems*): New case.
	Add t-fdpbit to tmake_file.
	(bfin*-*): Add t-fdpbit to tmake_file.
	(crisv32-*-elf): Likewise.
	(cris-*-linux*): Likewise.
	(fr30-*-elf): Likewise.
	(frv-*-elf, frv-*-*linux*): Likewise.
	(h8300-*-rtems*, h8300-*-elf*): Add t-fpbit to tmake_file.
	(iq2000*-*-elf*): Add t-fdpbit to tmake_file.
	(m32r-*-elf*): Likewise.
	(m32rle-*-elf*): Likewise.
	(m32r-*-linux*): Likewise.
	(m32rle-*-linux*): Likewise.
	(mcore-*-elf): Add t-fdpbit to tmake_file.
	(microblaze*-*-*): Likewise.
	(mips-sgi-irix6.5*): Add t-tpbit to tmake_file.
	(mips*-*-netbsd*): Add mips/t-mips to tmake_file.
	(mips64*-*-linux*): Also handle mipsisa64*-*-linux*.
	Fix typo.
	Add mips/t-tpbit to tmake-file.
	(mips*-*-linux*): Fix typo.
	(mips*-sde-elf*): New case
	Add mips/t-sdemtk unless using newlib.
	(mipsisa64sr71k-*-elf*): Add t-fdpbit to tmake_file.
	(mipsisa64sb1-*-elf*): Add mips/t-mips to tmake_file.
	(mn10300-*-*): Likewise.
	(pdp11-*-*): Likewise.
	(picochip-*-*): Add t-fpbit to tmake_file.
	(powerpc-*-eabisimaltivec*): Likewise.
	(powerpc-*-eabisim*): Likewise.
	(powerpc-*-elf*): Likewise.
	(powerpc-*-eabialtivec*): Likewise.
	(powerpc-xilinx-eabi*): New case.
	Add t-fdpbit to tmake_file.
	(powerpc-*-eabi*):  Add t-fdpbit to tmake_file.
	(powerpc-*-rtems*): Likewise.
	(powerpc-*-linux*, powerpc64-*-linux*): Add rs6000/t-ppc64-fp to
	tmake_file.
	(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add t-fdpbit to
	tmake_file.
	(powerpc-*-lynxos*): Likewise.
	(powerpcle-*-elf*): Likewise.
	(powerpcle-*-eabisim*): Likewise.
	(powerpcle-*-eabi*): Likewise.
	(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Add
	t-fdpbit, rs6000/t-ppc64-fp to tmake_file.
	(rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
	(rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
	(rx-*-elf): Add t-fdpbit to tmake_file.
	(sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*)
	(sh[2346lbe]*-*-linux*, sh-*-netbsdelf*, shl*-*-netbsdelf*)
	(sh5-*-netbsd*, sh5l*-*-netbsd*, sh64-*-netbsd*)
	(sh64l*-*-netbsd*): Add t-fdpbit to tmake_file except on
	sh*-*-netbsd*.
	(sh-*-rtems*): Add t-fdpbit to tmake_file.
	(sh-wrs-vxworks): Likewise.
	(sparc-*-elf*): Replace sparc/t-softfp by t-fdpbit in tmake_file.
	(sparc-*-linux*): Add t-fdpbit to tmake_file for *-leon*.
	(sparc-*-rtems*, sparc64-*-rtems*): Split off ...
	(sparc64-*-rtems*): ... new case.
	(sparc-*-rtems*): Add t-fdpbit to tmake_file.
	(spu-*-elf*): Likewise.
	Add spu/t-elf to tmake_file.
	(v850*-*-*): Add t-fdpbit to tmake_file.
	(xstormy16-*-elf): Likewise.
	(am33_2.0-*-linux*): Add t-fdpbit to tmake_file.
	(mep*-*-*): Likewise.

From-SVN: r177448
2011-08-05 14:53:09 +00:00
Richard Henderson 8662b2ba92 pdp11.md (define_c_enum "unspecv"): New.
* config/pdp11/pdp11.md (define_c_enum "unspecv"): New.
	(prologue, epilogue): New.
	(return, *rts): New.
	(blockage, setd, seti): New.
	* config/pdp11/pdp11.c (TARGET_ASM_FUNCTION_PROLOGUE): Remove.
	(TARGET_ASM_FUNCTION_EPILOGUE): Remove.
	(pdp11_saved_regno): New.
	(pdp11_expand_prologue): Rename from pdp11_output_function_prologue;
	generate rtl instead of text.
	(pdp11_expand_epilogue): Similarly from pdp11_output_function_epilogue.
	(pdp11_sp_frame_offset): Export.  Use pdp11_saved_regno.
	* config/pdp11/pdp11-protos.h: Update.

From-SVN: r176082
2011-07-09 08:41:31 -07:00
Joseph Myers 41dfca871e common-target-def.h (TARGET_HAVE_NAMED_SECTIONS): Don't default based on TARGET_ASM_NAMED_SECTION.
* common/common-target-def.h (TARGET_HAVE_NAMED_SECTIONS): Don't
	default based on TARGET_ASM_NAMED_SECTION.
	* common/common-target.def (have_named_sections): Default to true.
	* common/config/default-common.c: Don't include tm.h.
	* common/config/picochip/picochip-common.c
	(TARGET_HAVE_NAMED_SECTIONS): Don't define.
	* common/config/m32c/m32c-common.c: Remove.
	* config.gcc (m32c*-*-*): Set target_has_targetm_common=no.
	* config/alpha/osf5.h (TARGET_HAVE_NAMED_SECTIONS): Define to
	false.
	* config/i386/openbsd.h (TARGET_HAVE_NAMED_SECTIONS): Define to
	false.
	* config/m68k/openbsd.h (TARGET_HAVE_NAMED_SECTIONS): Define to
	false.
	* config/pa/som.h (TARGET_HAVE_NAMED_SECTIONS): Define to false.
	* config/pdp11/pdp11.h (TARGET_HAVE_NAMED_SECTIONS): Define to
	false.
	* config/vax/openbsd.h (TARGET_HAVE_NAMED_SECTIONS): Define to
	false.

From-SVN: r175969
2011-07-07 14:22:44 +01:00
Joern Rennecke d5cc91810e re PR middle-end/46500 (target.h includes tm.h)
PR middle-end/46500
gcc:
	* doc/tm.texi.in: Update Copyright date.
	* doc/tm.texi: Regenerate.
	* targhooks.c (default_setup_incoming_varargs): Replace
	CUMULATIVE_ARGS* argument type with cumulative_args_t.
	(default_pretend_outgoing_varargs_named): Likewise.
	(hook_pass_by_reference_must_pass_in_stack): Likewise.
	(hook_callee_copies_named): Likewise.
	(default_function_arg_advance): Likewise.
	(default_function_arg): Likewise.
	(default_function_incoming_arg): Likewise.
	(hook_bool_CUMULATIVE_ARGS_false): Likewise.
	(hook_bool_CUMULATIVE_ARGS_true): Likewise.
	(hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Likewise.
	(hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): Likewise.
	(hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): Likewise.
	* targhooks.h (default_setup_incoming_varargs): Likewise.
	(default_pretend_outgoing_varargs_named): Likewise.
	(hook_pass_by_reference_must_pass_in_stack): Likewise.
	(hook_callee_copies_named): Likewise.
	(default_function_arg_advance): Likewise.
	(default_function_arg): Likewise.
	(default_function_incoming_arg): Likewise.
	(hook_bool_CUMULATIVE_ARGS_false): Likewise.
	(hook_bool_CUMULATIVE_ARGS_true): Likewise.
	(hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Likewise.
	(hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): Likewise.
	(hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): Likewise.
	* target.def (pass_by_reference): Likewise.
	(setup_incoming_varargs, strict_argument_naming): Likewise.
	(pretend_outgoing_varargs_named, callee_copies): Likewise.
	(arg_partial_bytes, function_arg_advance, function_arg): Likewise.
	(function_incoming_arg): Likewise.
	* target.h: Don't include "tm.h" .
	(cumulative_args_t): New typedef.
	[GCC_TM_H] (get_cumulative_args): New static inline function.
	[GCC_TM_H] (pack_cumulative_args): Likewise.
	* config/alpha/alpha.c (alpha_function_arg): Replace CUMULATIVE_ARGS*
	argument type with cumulative_args_t.
	(alpha_function_arg_advance, alpha_arg_partial_bytes): Likewise.
	(alpha_pass_by_reference, alpha_setup_incoming_varargs): Likewise.
	* config/frv/frv.c (frv_setup_incoming_varargs): Likewise.
	(frv_arg_partial_bytes, frv_function_arg): Likewise.
	(frv_function_incoming_arg, frv_function_arg_advance): Likewise.
	(frv_function_arg_1): Likewise.
	* config/s390/s390.c (s390_pass_by_reference): Likewise.
	(s390_function_arg_advance, s390_function_arg): Likewise.
	* config/m32c/m32c.c (m32c_function_arg): Likewise.
	(m32c_pass_by_reference, m32c_function_arg_advance): Likewise.
	(m32c_strict_argument_naming): Likewise.
	* config/spu/spu.c (spu_pass_by_reference, spu_function_arg): Likewise.
	(spu_function_arg_advance): Likewise.
	(spu_setup_incoming_varargs): Likewise.  Make static.
	* config/spu/spu-protos.h (spu_setup_incoming_varargs):
	Remove prototype.
	* config/sparc/sparc.c (sparc_strict_argument_naming): Replace
	CUMULATIVE_ARGS* argument type with cumulative_args_t.
	(sparc_pass_by_reference, sparc_function_arg_advance): Likewise.
	(sparc_function_arg, sparc_function_incoming_arg): Likewise.
	(sparc_arg_partial_bytes, sparc_function_arg_1): Likewise.
	* config/mep/mep.c (mep_setup_incoming_varargs): Likewise.
	(mep_pass_by_reference, mep_function_arg): Likewise.
	(mep_function_arg_advance): Likewise.
	* config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
	(m32r_pass_by_reference, m32r_arg_partial_bytes): Likewise.
	(m32r_function_arg, m32r_function_arg_advance): Likewise.
	* config/rx/rx.c (rx_function_arg, rx_function_arg_advance): Likewise.
	* config/i386/i386.c (ix86_function_arg_advance): Likewise.
	(ix86_function_arg, ix86_pass_by_reference): Likewise.
	(ix86_setup_incoming_varargs): Likewise.
	* config/sh/sh.c (sh_setup_incoming_varargs): Likewise.
	(sh_strict_argument_naming): Likewise.
	(sh_pretend_outgoing_varargs_named, sh_pass_by_reference): Likewise.
	(sh_callee_copies, sh_arg_partial_bytes): Likewise.
	(sh_function_arg_advance, sh_function_arg): Likewise.
	* config/pdp11/pdp11.c (pdp11_function_arg): Likewise.
	(pdp11_function_arg_advance): Likewise.
	* config/microblaze/microblaze.c (microblaze_function_arg_advance):
	Likewise.
	(microblaze_function_arg, function_arg_partial_bytes): Likewise.
	* config/avr/avr.c (avr_function_arg): Likewise.
	(avr_function_arg_advance): Likewise.
	* config/xtensa/xtensa.c (xtensa_function_arg_advance): Likewise.
	(xtensa_function_arg, xtensa_function_incoming_arg): Likewise.
	(xtensa_function_arg_1): Likewise.
	* config/stormy16/stormy16.c (xstormy16_function_arg_advance): Likewise.
	(xstormy16_function_arg): Likewise.
	* config/fr30/fr30.c (fr30_setup_incoming_varargs): Likewise.
	(fr30_arg_partial_bytes, fr30_function_arg): Likewise.
	(fr30_function_arg_advance): Likewise.
	* config/lm32/lm32.c (lm32_setup_incoming_varargs): Likewise.
	(lm32_function_arg, lm32_function_arg_advance): Likewise.
	* config/moxie/moxie.c (moxie_setup_incoming_varargs): Likewise.
	(moxie_function_arg, moxie_function_arg_advance): Likewise.
	(moxie_pass_by_reference, moxie_arg_partial_bytes): Likewise.
	* config/cris/cris.c (cris_setup_incoming_varargs): Likewise.
	(cris_pass_by_reference, cris_arg_partial_bytes): Likewise.
	(cris_function_arg, cris_function_incoming_arg): Likewise.
	(cris_function_arg_advance, cris_function_arg_1): Likewise.
	* config/iq2000/iq2000.c (iq2000_setup_incoming_varargs): Likewise.
	(iq2000_pass_by_reference, iq2000_arg_partial_bytes): Likewise.
	(iq2000_function_arg, iq2000_function_arg_advance): Likewise.
	* config/mn10300/mn10300.c (mn10300_pass_by_reference): Likewise.
	(mn10300_function_arg, mn10300_function_arg_advance): Likewise.
	(mn10300_arg_partial_bytes): Likewise.
	* config/ia64/ia64.c (ia64_setup_incoming_varargs): Likewise.
	(ia64_arg_partial_bytes, ia64_function_arg): Likewise.
	(ia64_function_incoming_arg, ia64_function_arg_advance): Likewise.
	(ia64_function_arg_1): Likewise.
	* config/m68k/m68k.c (m68k_function_arg_advance): Likewise.
	(m68k_function_arg): Likewise.
	* config/rs6000/rs6000.c (rs6000_function_arg_advance): Likewise.
	(rs6000_function_arg, setup_incoming_varargs): Likewise.
	(rs6000_pass_by_reference, rs6000_arg_partial_bytes): Likewise.
	* config/picochip/picochip.c (picochip_arg_partial_bytes): Likewise.
	(picochip_function_arg, picochip_incoming_function_arg): Likewise.
	(picochip_arg_advance): Likewise.
	* config/mcore/mcore.c (mcore_setup_incoming_varargs): Likewise.
	(mcore_arg_partial_bytes, mcore_function_arg): Likewise.
	(mcore_function_arg_advance): Likewise.
	* config/score/score.c (score_pass_by_reference): Likewise.
	(score_function_arg_advance): Likewise.
	(score_arg_partial_bytes): Likewise.  Make static.
	* config/score/score-protos.h (score_arg_partial_bytes): Don't declare.
	* config/arm/arm.c (arm_arg_partial_bytes): Replace
	CUMULATIVE_ARGS* argument type with cumulative_args_t.
	(arm_function_arg, arm_function_arg_advance): Likewise.
	(arm_setup_incoming_varargs, arm_pass_by_reference): Likewise.
	* config/pa/pa.c (pa_pass_by_reference): Likewise.
	(pa_arg_partial_bytes, pa_function_arg_advance): Likewise.
	(pa_function_arg): Likewise.
	* config/mips/mips.c (mips_strict_argument_naming): Likewise.
	(mips_function_arg, mips_function_arg_advance): Likewise.
	(mips_arg_partial_bytes, mips_pass_by_reference): Likewise.
	(mips_callee_copies, mips_setup_incoming_varargs): Likewise.
	* config/vax/vax.c (vax_function_arg): Likewise.
	(vax_function_arg_advance): Likewise.
	* config/h8300/h8300.c (h8300_function_arg): Likewise.
	(h8300_function_arg_advance): Likewise.
	* config/v850/v850.c (v850_pass_by_reference): Likewise.
	(v850_strict_argument_naming, v850_function_arg): Likewise.
	(v850_arg_partial_bytes, v850_function_arg_advance): Likewise.
	(v850_setup_incoming_varargs): Likewise.
	* config/mmix/mmix.c (mmix_setup_incoming_varargs): Likewise.
	(mmix_function_arg_advance, mmix_function_incoming_arg): Likewise.
	(mmix_function_arg, mmix_pass_by_reference): Likewise.
	(mmix_function_arg_1): Replace const CUMULATIVE_ARGS* argument type
	with const void *.
	* config/bfin/bfin.c (setup_incoming_varargs): Replace
	CUMULATIVE_ARGS* argument type with cumulative_args_t.
	(bfin_function_arg_advance, bfin_function_arg): Likewise.
	(bfin_arg_partial_bytes, bfin_pass_by_reference): Likewise.
	* calls.c (emit_call_1): Change type of args_so_far to
	cumulative_args_t.  Changed all callers.
	(initialize_argument_information): Likewise.
	(expand_call, emit_library_call_value_1): Use pack_cumulative_args.
	* dse.c (get_call_args): Likewise.
	* expr.c (block_move_libcall_safe_for_call_parm): Likewise.
	* function.c (pass_by_reference, reference_callee_copied): Likewise.
	(struct assign_parm_data_all): Rename args_so_far to args_so_far_v.
	New member args_so_far_v.  Changed all users.
	* var-tracking.c (prepare_call_arguments): Use pack_cumulative_args.
	* config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
	* config/mips/mips.c (mips_output_args_xfer): Likewise.
	* config/s390/s390.c (s390_call_saved_register_used): Likewise.
	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
	* config/microblaze/microblaze.c (microblaze_expand_prologue): Likewise.
	* config/m32r/m32r.c (m32r_return_in_memory): Adjust for changed
	m32r_pass_by_reference.
gcc/ada:
	* gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.

From-SVN: r175103
2011-06-16 14:45:47 +01:00
Joseph Myers 677f3fa815 target-def.h (TARGET_HAVE_NAMED_SECTIONS): Move to common/common-target-def.h.
* target-def.h (TARGET_HAVE_NAMED_SECTIONS): Move to
	common/common-target-def.h.
	* target.def (default_target_flags, handle_option,
	supports_split_stack, optimization_table, init_struct,
	except_unwind_info, unwind_tables_default, have_named_sections):
	Move to common/common-target.def.
	* target.h (enum opt_levels, struct default_options): Move to
	common/common-target.h.
	* targhooks.c (default_except_unwind_info,
	dwarf2_except_unwind_info, sjlj_except_unwind_info,
	default_target_handle_option, empty_optimization_table): Move to
	common/common-targhooks.c.
	* targhooks.h (default_except_unwind_info,
	dwarf2_except_unwind_info, sjlj_except_unwind_info,
	default_target_handle_option, empty_optimization_table): Move to
	common/common-targhooks.h.
	* common/common-target-def.h: Include common/common-targhooks.h.
	(TARGET_HAVE_NAMED_SECTIONS): Define if TARGET_ASM_NAMED_SECTION
	defined.
	* common/common-target.def (handle_option, option_init_struct,
	option_optimization_table, default_target_flags,
	except_unwind_info, supports_split_stack, unwind_tables_default,
	have_named_sections): Move from target.def.
	(HOOK_PREFIX): Undefine at end of file.
	* common/common-target.h: Include input.h.
	(enum opt_levels, struct default_options): Move from target.h.
	* common/common-targhooks.c, common/common-targhooks.h: New.
	* config.gcc (target_has_targetm_common): Default to yes.
	(moxie*): Set target_has_targetm_common=no.
	(hppa*-*-*): Don't set target_has_targetm_common=yes.
	* doc/tm.texi: Regenerate.
	* Makefile.in (COMMON_TARGET_H): Add $(INPUT_H).
	(C_TARGET_DEF_H): Add common/common-targhooks.h.
	(GCC_OBJS): Remove vec.o.
	(OBJS): Remove hooks.o and vec.o.
	(OBJS-libcommon-target): Add vec.o, hooks.o and
	common/common-targhooks.o.
	(c-family/c-common.o, c-family/c-cppbuiltin.o, lto-opts.o, tree.o,
	tree-tailcall.o, opts.o, toplev.o, varasm.o, function.o, except.o,
	expr.o, explow.o, dbxout.o, dwarf2out.o, cfgrtl.o, haifa-sched.o,
	cfglayout.o, $(out_object_file), $(common_out_object_file)):
	Update dependencies.
	(common/common-targhooks.o): New.
	* common/config/default-common.c: Include tm.h.  Add FIXME
	comment.
	* common/config/pa/pa-common.c: Include more headers.  Take
	copyright dates from pa.c.
	(pa_option_optimization_table, pa_handle_option,
	TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_DEFAULT_TARGET_FLAGS,
	TARGET_HANDLE_OPTION): Move from pa.c.
	* common/config/alpha/alpha-common.c,
	common/config/arm/arm-common.c, common/config/avr/avr-common.c,
	common/config/bfin/bfin-common.c,
	common/config/cris/cris-common.c,
	common/config/fr30/fr30-common.c, common/config/frv/frv-common.c,
	common/config/h8300/h8300-common.c,
	common/config/i386/i386-common.c,
	common/config/ia64/ia64-common.c,
	common/config/iq2000/iq2000-common.c,
	common/config/lm32/lm32-common.c,
	common/config/m32c/m32c-common.c,
	common/config/m32r/m32r-common.c,
	common/config/m68k/m68k-common.c,
	common/config/mcore/mcore-common.c,
	common/config/mep/mep-common.c,
	common/config/microblaze/microblaze-common.c,
	common/config/mips/mips-common.c,
	common/config/mmix/mmix-common.c,
	common/config/mn10300/mn10300-common.c,
	common/config/pdp11/pdp11-common.c,
	common/config/picochip/picochip-common.c,
	common/config/rs6000/rs6000-common.c,
	common/config/rx/rx-common.c, common/config/s390/s390-common.c,
	common/config/score/score-common.c, common/config/sh/sh-common.c,
	common/config/sparc/sparc-common.c,
	common/config/spu/spu-common.c, common/config/v850/v850-common.c,
	common/config/vax/vax-common.c,
	common/config/xstormy16/xstormy16-common.c,
	common/config/xtensa/xtensa-common.c: New.
	* config/alpha/alpha.c: Include common/common-target.h.
	(alpha_option_optimization_table, alpha_handle_option,
	TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
	TARGET_OPTION_OPTIMIZATION_TABLE): Move to alpha-common.c.
	* config/arm/arm-protos.h (arm_except_unwind_info): Declare.
	* config/arm/arm.c (arm_option_optimization_table,
	TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE,
	TARGET_EXCEPT_UNWIND_INFO, arm_except_unwind_info): Move to
	arm-common.c.
	* config/avr/avr.c (avr_option_optimization_table,
	TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO): Move
	to avr-common.c.
	* config/bfin/bfin.c (struct bfin_cpu): Move to bfin.h.
	(bfin_cpus, bfin_handle_option, TARGET_HANDLE_OPTION,
	TARGET_DEFAULT_TARGET_FLAGS): Move to bfin-common.c.
	* config/bfin/bfin.h struct bfin_cpu): Move from bfin.c.
	* config/cris/cris.c (cris_option_optimization_table,
	TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
	TARGET_OPTION_OPTIMIZATION_TABLE, cris_handle_option): Move to
	cris-common.c.
	* config/fr30/fr30.c (fr30_option_optimization_table,
	TARGET_EXCEPT_UNWIND_INFO, TARGET_OPTION_OPTIMIZATION_TABLE): Move
	to fr30-common.c.
	* config/frv/frv.c (frv_option_optimization_table,
	MASK_DEFAULT_ALLOC_CC, TARGET_DEFAULT_TARGET_FLAGS,
	TARGET_OPTION_OPTIMIZATION_TABLE): Move to frv-common.c.
	* config/h8300/h8300.c (h8300_option_optimization_table,
	TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE,
	TARGET_EXCEPT_UNWIND_INFO): Move to h8300-common.c.
	* config/i386/i386-protos.h (ix86_handle_option): Declare.
	* config/i386/i386.c: Include common/common-target.h.
	(OPTION_MASK_ISA_MMX_SET, OPTION_MASK_ISA_3DNOW_SET,
	OPTION_MASK_ISA_SSE_SET, OPTION_MASK_ISA_SSE2_SET,
	OPTION_MASK_ISA_SSE3_SET, OPTION_MASK_ISA_SSSE3_SET,
	OPTION_MASK_ISA_SSE4_1_SET, OPTION_MASK_ISA_SSE4_2_SET,
	OPTION_MASK_ISA_AVX_SET, OPTION_MASK_ISA_FMA_SET,
	OPTION_MASK_ISA_SSE4_SET, OPTION_MASK_ISA_SSE4A_SET,
	OPTION_MASK_ISA_FMA4_SET, OPTION_MASK_ISA_XOP_SET,
	OPTION_MASK_ISA_LWP_SET, OPTION_MASK_ISA_AES_SET,
	OPTION_MASK_ISA_PCLMUL_SET, OPTION_MASK_ISA_ABM_SET,
	OPTION_MASK_ISA_BMI_SET, OPTION_MASK_ISA_TBM_SET,
	OPTION_MASK_ISA_POPCNT_SET, OPTION_MASK_ISA_CX16_SET,
	OPTION_MASK_ISA_SAHF_SET, OPTION_MASK_ISA_MOVBE_SET,
	OPTION_MASK_ISA_CRC32_SET, OPTION_MASK_ISA_FSGSBASE_SET,
	OPTION_MASK_ISA_RDRND_SET, OPTION_MASK_ISA_F16C_SET,
	OPTION_MASK_ISA_MMX_UNSET, OPTION_MASK_ISA_3DNOW_UNSET,
	OPTION_MASK_ISA_3DNOW_A_UNSET, OPTION_MASK_ISA_SSE_UNSET,
	OPTION_MASK_ISA_SSE2_UNSET, OPTION_MASK_ISA_SSE3_UNSET,
	OPTION_MASK_ISA_SSSE3_UNSET, OPTION_MASK_ISA_SSE4_1_UNSET,
	OPTION_MASK_ISA_SSE4_2_UNSET, OPTION_MASK_ISA_AVX_UNSET,
	OPTION_MASK_ISA_FMA_UNSET, OPTION_MASK_ISA_SSE4_UNSET,
	OPTION_MASK_ISA_SSE4A_UNSET, OPTION_MASK_ISA_FMA4_UNSET,
	OPTION_MASK_ISA_XOP_UNSET, OPTION_MASK_ISA_LWP_UNSET,
	OPTION_MASK_ISA_AES_UNSET, OPTION_MASK_ISA_PCLMUL_UNSET,
	OPTION_MASK_ISA_ABM_UNSET, OPTION_MASK_ISA_BMI_UNSET,
	OPTION_MASK_ISA_TBM_UNSET, OPTION_MASK_ISA_POPCNT_UNSET,
	OPTION_MASK_ISA_CX16_UNSET, OPTION_MASK_ISA_SAHF_UNSET,
	OPTION_MASK_ISA_MOVBE_UNSET, OPTION_MASK_ISA_CRC32_UNSET,
	OPTION_MASK_ISA_FSGSBASE_UNSET, OPTION_MASK_ISA_RDRND_UNSET,
	OPTION_MASK_ISA_F16C_UNSET, ix86_handle_option,
	ix86_option_optimization_table, ix86_option_init_struct,
	ix86_supports_split_stack, TARGET_DEFAULT_TARGET_FLAGS,
	TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE,
	TARGET_OPTION_INIT_STRUCT, TARGET_SUPPORTS_SPLIT_STACK): Move to
	i386-common.c.
	* config/i386/t-i386 (i386.o): Update dependencies.
	* config/ia64/ia64-protos.h (ia64_except_unwind_info): Declare.
	* config/ia64/ia64.c (ia64_option_optimization_table,
	TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO,
	TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
	ia64_handle_option): Move to ia64-common.c.
	* config/iq2000/iq2000.c (iq2000_option_optimization_table,
	TARGET_OPTION_OPTIMIZATION_TABLE): Move to iq2000-common.c.
	* config/lm32/lm32.c (lm32_option_optimization_table,
	TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO): Move
	to lm32-common.c.
	* config/m32c/m32c.c (TARGET_HAVE_NAMED_SECTIONS): Move to
	m32c-common.c.
	* config/m32r/m32r.c (m32r_option_optimization_table,
	TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
	TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO,
	m32r_handle_option): Move to m32r-common.c.
	(m32r_memory_move_cost): Remove comment referring to
	TARGET_HANDLE_OPTION.
	* config/m68k/m68k.c (TARGET_HANDLE_OPTION, m68k_handle_option):
	Move to m68k-common.c.
	* config/mcore/mcore.c (mcore_option_optimization_table,
	TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE,
	TARGET_EXCEPT_UNWIND_INFO): Move to mcore-common.c.
	* config/mep/mep.c (mep_option_optimization_table,
	mep_handle_option, TARGET_HANDLE_OPTION,
	TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_DEFAULT_TARGET_FLAGS):
	Move to mep-common.c.
	* config/microblaze/microblaze.c
	(microblaze_option_optimization_table,
	TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE,
	TARGET_EXCEPT_UNWIND_INFO): Move to microblaze-common.c.
	* config/mips/mips.c (mips_handle_option,
	mips_option_optimization_table, TARGET_OPTION_OPTIMIZATION_TABLE,
	TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Move to
	mips-common.c.
	* config/mmix/mmix.c (mmix_option_optimization_table,
	TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE):
	Move to mmix-common.c.
	* config/mn10300/mn10300.c (mn10300_option_optimization_table,
	mn10300_handle_option, TARGET_EXCEPT_UNWIND_INFO,
	TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
	TARGET_OPTION_OPTIMIZATION_TABLE): Move to mn10300-common.c.
	* config/pa/pa.c: Include common/common-target.h.
	(pa_option_optimization_table, TARGET_OPTION_OPTIMIZATION_TABLE,
	TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
	pa_handle_option): Move to pa-common.c.
	(pa_option_override): Use targetm_common.except_unwind_info.
	(pa_asm_output_mi_thunk, pa_function_section): Use
	targetm_common.have_named_sections.
	* config/pdp11/pdp11.c (pdp11_option_optimization_table,
	TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
	TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_OPTION_INIT_STRUCT,
	pdp11_handle_option, pdp11_option_init_struct): Move to
	pdp11-common.c.
	* config/picochip/picochip.c (picochip_option_optimization_table,
	TARGET_HAVE_NAMED_SECTIONS, TARGET_OPTION_OPTIMIZATION_TABLE,
	TARGET_EXCEPT_UNWIND_INFO): Move to picochip-common.c.
	* config/rs6000/rs6000.c: Include common/common-target.h.
	(rs6000_option_optimization_table, TARGET_HANDLE_OPTION,
	TARGET_OPTION_INIT_STRUCT, TARGET_OPTION_OPTIMIZATION_TABLE,
	TARGET_DEFAULT_TARGET_FLAGS, rs6000_option_init_struct,
	rs6000_handle_option): Move to rs6000-common.c.
	* config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
	* config/rx/rx.c (rx_handle_option, rx_option_optimization_table,
	TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE,
	TARGET_EXCEPT_UNWIND_INFO): Move to rx-common.c.
	* config/s390/s390.c (processor_flags_table,
	s390_option_optimization_table, s390_option_init_struct,
	s390_handle_option, TARGET_DEFAULT_TARGET_FLAGS,
	TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE,
	TARGET_OPTION_INIT_STRUCT): Move to s390-common.c.
	* config/s390/s390.h (processor_flags_table): Declare.
	* config/score/score.c (score_option_optimization_table,
	TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
	TARGET_OPTION_OPTIMIZATION_TABLE, MASK_ALL_CPU_BITS,
	score_handle_option): Move to score-common.c.
	* config/sh/sh.c (sh_option_optimization_table,
	TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_OPTION_INIT_STRUCT,
	TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
	sh_handle_option, sh_option_init_struct): Move to sh-common.c.
	* config/sparc/sparc.c: Include common/common-target.h.
	(sparc_option_optimization_table, TARGET_DEFAULT_TARGET_FLAGS,
	TARGET_OPTION_OPTIMIZATION_TABLE): Move to sparc-common.c.
	* config/spu/spu.c (TARGET_DEFAULT_TARGET_FLAGS,
	TARGET_OPTION_INIT_STRUCT, TARGET_EXCEPT_UNWIND_INFO,
	spu_option_init_struct): Move to spu-common.c.
	* config/stormy16/stormy16.c (xstorym16_option_optimization_table,
	TARGET_OPTION_OPTIMIZATION_TABLE): Move to xstormy16-common.c.
	* config/v850/v850.c (small_memory_physical_max,
	v850_handle_memory_optionn v850_handle_option,
	v850_option_optimization_table, TARGET_DEFAULT_TARGET_FLAGS,
	TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE): Move to
	v850-common.c.
	* config/vax/vax.c (TARGET_DEFAULT_TARGET_FLAGS): Move to
	vax-common.c.
	* config/xtensa/xtensa.c (xtensa_option_optimization_table,
	TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE):
	Move to xtensa-common.c.
	* cfglayout.c: Include common/common-target.h.
	(fixup_reorder_chain): Use targetm_common.have_named_sections.
	* cfgrtl.c: Include common/common-target.h.
	(force_nonfallthru_and_redirect, commit_one_edge_insertion): Use
	targetm_common.have_named_sections.
	* dbxout.c: Include common/common-target.h.
	(dbxout_function_end): Use targetm_common.have_named_sections.
	* defaults.h (STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT): Use
	targetm_common.except_unwind_info.
	* dwarf2out.c: Include common/common-target.h.
	(dwarf2out_do_frame, dwarf2out_do_cfi_asm,
	dwarf2out_begin_prologue, dwarf2out_frame_init,
	dwarf2out_frame_finish, dwarf2out_assembly_start): Use
	targetm_common.except_unwind_info.
	* except.c: Include common/common-target.h.
	(init_eh, finish_eh_generation,
	output_one_function_exception_table): Use
	targetm_common.except_unwind_info.
	(switch_to_exception_section): Use
	targetm_common.have_named_sections.
	* explow.c: Include common/common-target.h.
	* expr.c: Include common/common-target.h.
	(build_personality_function): Use
	targetm_common.except_unwind_info.
	* function.c: Include common/common-target.h.
	(expand_function_end): Use targetm_common.except_unwind_info.
	* haifa-sched.c: Include common/common-target.h.
	(sched_create_recovery_edges): Use
	targetm_common.have_named_sections.
	* lto-opts.c: Include common/common-target.h instead of target.h.
	(lto_reissue_options): Use targetm_common.handle_option.
	* opts.c: Include common/common-target.h.
	(target_handle_option): Use targetm_common.handle_option.
	(init_options_struct): Update comment referring to
	targetm.target_option.optimization.  Use
	targetm_common.default_target_flags,
	targetm_common.unwind_tables_default and
	targetm_common.option_init_struct.
	(default_options_optimization): Use
	targetm_common.option_optimization_table.
	(finish_options): Use targetm_common.except_unwind_info,
	targetm_common.unwind_tables_default,
	targetm_common.have_named_sections and
	targetm_common.supports_split_stack.
	* toplev.c: Include common/common-target.h.
	(process_options): Use targetm_common.have_named_sections.
	* tree-tailcall.c: Include common/common-target.h.
	(suitable_for_tail_call_opt_p): Use
	targetm_common.except_unwind_info.
	* tree.c: Include common/common-target.h.
	(build_common_builtin_nodes): Use
	targetm_common.except_unwind_info.
	* varasm.c: Include common/common-target.h.
	(resolve_unique_section, hot_function_section,
	default_function_section): Use targetm_common.have_named_sections.

ada:
	* gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
	(ada/utils.o): Update dependencies.
	* gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
	../../../libcpp/libcpp.a.
	* gcc-interface/utils.c: Include common/common-target.h.
	(process_attributes): Use targetm_common.have_named_sections.

c-family:
	* c-common.c: Include common/common-target.h.
	(handle_section_attribute): Use
	targetm_common.have_named_sections.
	* c-cppbuiltin.c: Include common/common-target.h.
	(c_cpp_builtins): Use targetm_common.except_unwind_info.

cp:
	* Make-lang.in (cp/method.o): Update dependencies.
	* method.c: Include common/common-target.h.
	(use_thunk): Use targetm_common.have_named_sections.

go:
	* Make-lang.in (go/go-lang.o, go/go-backend.o): Update
	dependencies.
	* go-backend.c: Include common/common-target.h.
	(go_write_export_data): Use targetm_common.have_named_sections.
	* go-lang.c: Include common/common-target.h.
	(go_langhook_init_options_struct): Use
	targetm_common.supports_split_stack.

po:
	* exgettext: Handle common/ directory and subdirectories.

From-SVN: r175064
2011-06-15 00:11:35 +01:00
Joseph Myers 984514ac2e alpha.c (struct machine_function): Use rtx, not struct rtx_def *.
* config/alpha/alpha.c (struct machine_function): Use rtx, not
	struct rtx_def *.
	* config/bfin/bfin.h (bfin_cc_rtx, bfin_rets_rtx): Use rtx, not
	struct rtx_def *.
	* config/cris/cris-protos.h (STDIO_INCLUDED): Don't define.
	* config/h8300/h8300.h (struct cum_arg): Use rtx, not struct
	rtx_def *.
	* config/iq2000/iq2000.h (struct iq2000_args): Use rtx, not struct
	rtx_def *.
	* config/m32c/m32c-protos.h (MM, UINT): Don't define.  Expand
	definitions where used.
	* config/microblaze/microblaze.h (struct microblaze_args): Use
	rtx, not struct rtx_def *.
	* config/pa/pa-protos.h (return_addr_rtx): Use rtx, not struct
	rtx_def *.
	* config/pa/pa.h (hppa_pic_save_rtx): Use rtx, not struct rtx_def
	*.
	* config/pdp11/pdp11.h (cc0_reg_rtx): Use rtx, not struct rtx_def
	*.
	* config/sh/sh-protos.h (sfunc_uses_reg, get_fpscr_rtx): Use rtx,
	not struct rtx_def *.
	* config/sh/sh.h (sh_compare_op0, sh_compare_op1): Use rtx, not
	struct rtx_def *.
	* config/spu/spu-protos.h (spu_float_const): Use rtx, not struct
	rtx_def *.
	* config/spu/spu.c (spu_float_const): Use rtx, not struct rtx_def
	*.

From-SVN: r172818
2011-04-21 11:01:54 +01:00
Richard Sandiford 1a627b35d3 target.def (legitimate_constant_p): New hook.
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
2011-04-21 09:38:43 +00:00
Richard Sandiford 7d34a1b095 pdp11.h (IRA_COVER_CLASSES): Delete.
gcc/
	* config/pdp11/pdp11.h (IRA_COVER_CLASSES): Delete.

From-SVN: r171929
2011-04-04 08:11:37 +00:00
Joseph Myers eb1eb91413 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
2011-03-31 13:13:13 +01:00
Joseph Myers d715091c45 pdp11.c (pdp11_handle_option): Access target_flags via opts pointer.
* config/pdp11/pdp11.c (pdp11_handle_option): Access target_flags
	via opts pointer.  Don't assert that global structures are in use.

From-SVN: r171325
2011-03-22 22:45:24 +00:00
Joseph Myers 96e4542172 target.def (handle_option): Take gcc_options and cl_decoded_option pointers and location_t.
* target.def (handle_option): Take gcc_options and
	cl_decoded_option pointers and location_t.
	* doc/tm.texi.in (TARGET_HANDLE_OPTION): Update documentation.
	* doc/tm.texi: Regenerate.
	* hooks.c (hook_bool_size_t_constcharptr_int_true): Remove.
	* hooks.h (hook_bool_size_t_constcharptr_int_true): Don't declare.
	* lto-opts.c (lto_reissue_options): Generate option structure for
	targetm.handle_option call.
	* opts.c (target_handle_option): Update call to
	targetm.handle_option.  Remove assertions about values now passed
	down to hook.
	* targhooks.c (default_target_handle_option): New.
	* targhooks.h (default_target_handle_option): Declare.
	* config/alpha/alpha.c: Include opts.h.
	(alpha_handle_option): Update to new hook interface.
	* config/arm/arm.c: Include opts.h.
	(arm_handle_option): Update to new hook interface.
	* config/arm/t-arm (arm.o): Update dependencies.
	* config/bfin/bfin.c: Include opts.h.
	(bfin_handle_option): Update to new hook interface.
	* config/cris/cris.c: Include opts.h.
	(cris_handle_option): Update to new hook interface.
	* config/frv/frv.c: Include opts.h.
	(frv_handle_option): Update to new hook interface.
	* config/i386/i386.c: Include opts.h.
	(ix86_handle_option): Update to new hook interface.
	(ix86_valid_target_attribute_inner_p): Generate option structure
	for call to ix86_handle_option.
	* config/i386/t-i386 (i386.o): Update dependencies.
	* config/ia64/ia64.c: Include opts.h.
	(ia64_handle_option): Update to new hook interface.
	* config/ia64/t-ia64 (ia64.o): Update dependencies.
	* config/iq2000/iq2000.c: Include opts.h.
	(iq2000_handle_option): Update to new hook interface.
	* config/m32c/m32c.c: Include opts.h.
	(m32c_handle_option): Update to new hook interface.
	* config/m32r/m32r.c: Include opts.h.
	(m32r_handle_option): Update to new hook interface.
	* config/m68k/m68k.c: Include opts.h.
	(m68k_handle_option): Update to new hook interface.
	* config/mep/mep.c: Include opts.h.
	(mep_handle_option): Update to new hook interface.
	* config/microblaze/microblaze.c: Include opts.h.
	(microblaze_handle_option): Update to new hook interface.
	* config/mips/mips.c: Include opts.h.
	(mips_handle_option): Update to new hook interface.
	* config/mn10300/mn10300.c: Include opts.h.
	(mn10300_handle_option): Update to new hook interface.
	* config/pa/pa.c: Include opts.h.
	(pa_handle_option): Update to new hook interface.
	* config/pdp11/pdp11.c: Include opts.h.
	(pdp11_handle_option): Update to new hook interface.
	* config/rs6000/rs6000.c: Include opts.h.
	(rs6000_handle_option): Update to new hook interface.
	* config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
	* config/rx/rx.c: Include opts.h.
	(rx_handle_option): Update to new hook interface.
	* config/s390/s390.c: Include opts.h.
	(s390_handle_option): Update to new hook interface.
	* config/score/score.c: Include opts.h.
	(score_handle_option): Update to new hook interface.
	* config/sh/sh.c: Include opts.h.
	(sh_handle_option): Update to new hook interface.
	* config/sparc/sparc.c: Include opts.h.
	(sparc_handle_option): Update to new hook interface.
	* config/v850/v850.c: Include opts.h.
	(v850_handle_option): Update to new hook interface.

From-SVN: r171308
2011-03-22 22:23:02 +00:00
Jakub Jelinek d652f226fc Update Copyright years for files modified in 2010.
From-SVN: r168438
2011-01-03 21:52:22 +01:00
Joern Rennecke 522654e698 re PR target/47135 (pdp11.c: incompatible type for TARGET_PRINT_OPERAND_PUNCT_VALID_P)
PR target/47135
	* config/pdp11/pdp11.c (pdp11_asm_print_operand_punct_valid_p): Change
	type to match target.def .

From-SVN: r168376
2010-12-31 13:42:20 +00:00
Paul Koning 12eb6ed32b pdp11.h (PRINT_OPERAND): Delete.
* config/pdp11/pdp11.h (PRINT_OPERAND): Delete.
* config/pdp11/pdp11.c (TARGET_PRINT_OPERAND,
TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define
(pdp11_asm_print_operand, pdp11_asm_print_operand_punct_valid_p):
New function.
* config/pdp11/pdp11.md (tablejump): Fix generated assembly.

From-SVN: r168368
2010-12-31 06:43:48 -05:00
Paul Koning dea44e569d pdp11.md (movmemhi, movmemhi1): Correct constraints.
* config/pdp11/pdp11.md (movmemhi, movmemhi1): Correct
constraints. 
* config/pdp11/pdp11.c (output_block_move): Rewrite.

From-SVN: r168338
2010-12-30 06:50:40 -05:00
Paul Koning dad6bca98a pdp11-protos.h (pdp11_asm_output_var): Declare.
* config/pdp11/pdp11-protos.h (pdp11_asm_output_var): Declare.
* config/pdp11/pdp11.c (pdp11_asm_output_var): New function.
* config/pdp11/pdp11.h (ASM_OUTPUT_ALIGNED_COMMON,
ASM_OUTPUT_ALIGNED_LOCAL): New macros.
(ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.

From-SVN: r168333
2010-12-29 21:09:04 -05:00
Paul Koning c67b2d4ea0 pdp11.md: Correct length attribute for float literal case.
* config/pdp11/pdp11.md: Correct length attribute for float
literal case.

From-SVN: r168295
2010-12-28 12:04:37 -05:00
Paul Koning 30442c59aa pdp11-protos.h (output_move_double, [...]): Delete.
* config/pdp11/pdp11-protos.h (output_move_double,
output_move_quad): Delete.
(output_move_multiple, pdp11_expand_operands): New functions.
(pdp11_action, pdp11_partorder): New enums.
* config/pdp11/pdp11.md (movdi, movsi, movdf, movsf): Use
output_move_multiple.
(adddi3, subdi3, negdi2): New patterns.
(addsi3, subsi3, negsi2): Use pdp11_expand_operands.
(abshi2): Delete.
(neghi2, negqi2): Use PDPint iterator.
* config/pdp11/pdp11.c (find_addr_reg, output_move_double,
output_move_quad): Delete. 
(pdp11_expand_operands, output_move_multiple): New functions.

From-SVN: r167676
2010-12-09 20:31:08 -05:00
Paul Koning 6b208988ad pdp11.c (output_addr_const_pdp11): Output negative values with sign rather than as unsigned.
* config/pdp11/pdp11.c (output_addr_const_pdp11): Output negative
values with sign rather than as unsigned.

From-SVN: r167566
2010-12-07 14:55:07 -05:00
Paul Koning baddb6779b pdp11.c (TARGET_ASM_FUNCTION_SECTION): Define.
* config/pdp11/pdp11.c (TARGET_ASM_FUNCTION_SECTION): Define.
(pdp11_function_section): New function.

From-SVN: r167553
2010-12-07 10:49:37 -05:00
Paul Koning e9e4977ef7 pdp11.c (output_jump): Map unsigned to signed opcodes if CC_NO_OVERFLOW is set.
* config/pdp11/pdp11.c (output_jump): Map unsigned to signed
opcodes if CC_NO_OVERFLOW is set.
(notice_update_cc_on_set): Correct setting of CC0 as a side
effect; set CC_NO_OVERFLOW for cases where C flag is not
meaningful.

From-SVN: r167383
2010-12-02 14:10:41 -05:00
Joseph Myers a803773f0e common.opt (main_input_filename, [...]): New Variable entries.
* common.opt (main_input_filename, main_input_basename,
	main_input_baselength): New Variable entries.  From toplev.c.
	* final.c (output_quoted_string): Move from toplev.c.
	* output.h (output_quoted_string): Move from toplev.h.
	* opts-global.c (read_cmdline_options): Use gcc_options pointer to
	access main_input_filename, main_input_baselength and
	main_input_basename.
	* targhooks.c: Include intl.h and opts.h.
	(option_affects_pch_p, default_get_pch_validity): Move from
	toplev.c.
	* targhooks.h (option_affects_pch_p, default_get_pch_validity):
	Move from toplev.h.
	* toplev.c (main_input_filename, main_input_basename,
	main_input_baselength): Move to common.opt.
	(output_quoted_string): Move to final.c.
	(warn_deprecated_use): Move to tree.c.
	(option_affects_pch_p, default_get_pch_validity,
	pch_option_mismatch, default_pch_valid_p): Move to targhooks.c.
	* toplev.h (skip_leading_substring): Move to tree-dump.c.
	(warn_deprecated_use): Move to tree.h.
	(output_quoted_string): Move to output.h.
	(main_input_filename, main_input_basename, main_input_baselength):
	Move to common.opt.
	(default_get_pch_validity, default_pch_valid_p): Move to
	targhooks.c.
	* tree-dump.c (skip_leading_substring): Move from toplev.h.
	* tree.c (warn_deprecated_use): Move from toplev.c.
	* tree.h (warn_deprecated_use): Move from toplev.h.
	* c-typeck.c, config/alpha/alpha.c, config/arc/arc.c,
	config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c,
	config/cris/cris.c, config/crx/crx.c, config/fr30/fr30.c,
	config/frv/frv.c, config/h8300/h8300.c, config/ia64/ia64.c,
	config/iq2000/iq2000.c, config/lm32/lm32.c, config/m32c/m32c.c,
	config/m32r/m32r.c, config/m68hc11/m68hc11.c, config/m68k/m68k.c,
	config/mcore/mcore.c, config/mep/mep.c,
	config/microblaze/microblaze.c, config/mips/mips.c,
	config/mmix/mmix.c, config/mn10300/mn10300.c,
	config/moxie/moxie.c, config/pa/pa.c, config/pdp11/pdp11.c,
	config/picochip/picochip.c, config/s390/s390.c,
	config/score/score.c, config/sh/sh.c, config/sparc/sparc.c,
	config/spu/spu.c, config/stormy16/stormy16.c, config/v850/v850.c,
	config/vax/vax.c, config/xtensa/xtensa.c, gimple-low.c,
	graphite-sese-to-poly.c, plugin.c, tree-cfg.c, tree-inline.c,
	varasm.c, xcoffout.c: Don't include toplev.h.
	* Makefile.in (c-typeck.o, tree-inline.o, tree-cfg.o,
	gimple-low.o, graphite-sese-to-poly.o, targhooks.o, plugin.o,
	varasm.o, xcoffout.o): Update dependencies.
	* config/arm/t-arm (arm.o): Update dependencies.
	* config/spu/t-spu-elf (spu.o): Update dependencies.

cp:
	* cp-objcp-common.c, lex.c, typeck.c: Don't include toplev.h.
	* Make-lang.in (cp/lex.o, cp/cp-objcp-common.o, cp/typeck2.o):
	Update dependencies.

java:
	* jcf-parse.c: Don't include toplev.h.
	* Make-lang.in (java/jcf-parse.o): Don't depend on toplev.h.

From-SVN: r167329
2010-12-01 13:46:36 +00:00
Nathan Froyd 5efd84c503 target.def (conditional_register_usage): Define.
* 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
2010-11-22 01:57:50 +00:00
Paul Koning 2dc211c5ff * config/mips/pdp11.md (negsi2): Fix wrong code.
From-SVN: r167006
2010-11-21 11:55:51 -05:00
Paul Koning e4942929dd pdp11.c (pdp11_legitimate_address_p): New function.
* config/mips/pdp11.c (pdp11_legitimate_address_p): New function.
* config/mips/pdp11.h (GO_IF_LEGITIMATE_ADDRESS): Delete.

From-SVN: r167005
2010-11-21 11:52:36 -05:00
Paul Koning 58dd8e861c pdp11-protos.h (pdp11_initial_elimination_offset, [...]): New functions.
* config/pdp11/pdp11-protos.h (pdp11_initial_elimination_offset,
pdp11_regno_reg_class): New functions.
* config/pdp11/pdp11.md (define_constants): Add register numbers.
* config/pdp11/pdp11.c (pdp11_regno_reg_class,
pdp11_sp_frame_offset, pdp11_initial_elimination_offset): New
functions. 
* config/pdp11/pdp11.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Add
frame pointer and argument pointer pseudo-registers.
(ARG_POINTER_REGNUM): Define.
(REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add frame pointer and
argument pointer. 
(FIRST_PARM_OFFSET): Update for argument pointer.
(INITIAL_FRAME_POINTER_OFFSET): Delete.
(ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): New macros.
(REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_INDEX_P, REGISTER_NAMES): Add
frame pointer and argument pointer.

From-SVN: r166978
2010-11-20 14:11:32 -05:00
Paul Koning 7cf18eeea5 pdp11.h (FIRST_PARM_OFFSET): Fix case of no frame pointer.
* config/pdp11/pdp11.h (FIRST_PARM_OFFSET): Fix case of no frame
pointer.

From-SVN: r166929
2010-11-18 20:58:41 -05:00
Paul Koning 13478fb039 pdp11.md (abshi2): Delete TARGET_ABSHI_BUILTIN.
* config/pdp11/pdp11.md (abshi2): Delete TARGET_ABSHI_BUILTIN.
* config/pdp11/pdp11.c (TARGET_DEFAULT_TARGET_FLAGS): Ditto.
* config/pdp11/pdp11.opt (-mabshi): Delete.

From-SVN: r166928
2010-11-18 20:57:00 -05:00
Joern Rennecke 2b12962772 re PR java/46386 (negative shift count in build_constants_constructor for 16 bit pointer targets)
2010-11-09  Joern Rennecke  <amylaar@spamcop.net>
	    Andrew Haley  <aph@redhat.com>

	PR java/46386
gcc/java:
	* constants.c (build_constants_constructor): Avoid negative shift.
gcc:
	* config/pdp11/t-pdp11 (java/constants.o-warn): Remove.
	* config/t-pnt16-warn (java/constants.o-warn): Likewise.

Co-Authored-By: Andrew Haley <aph@redhat.com>

From-SVN: r166826
2010-11-16 21:46:28 +00:00
Paul Koning b99fd9f435 pdp11.md (lshrsi3, lshrhi3): Use add for decrement.
* config/pdp11/pdp11.md (lshrsi3, lshrhi3): Use add for
decrement.

From-SVN: r166493
2010-11-09 10:16:54 -05:00
Paul Koning b9cb66d281 pdp11.c (pdp11_assemble_integer): Clean up fix for output of byte values.
* config/pdp11/pdp11.c (pdp11_assemble_integer): Clean up fix for
output of byte values.

From-SVN: r166483
2010-11-09 06:59:05 -05:00
Paul Koning d5214afa12 * config/pdp11/pdp11.md (lshrsi3, lshrhi3): Fix wrong code.
From-SVN: r166468
2010-11-08 20:13:30 -05:00
Paul Koning 8860adf4b7 * config/pdp11/pdp11.md (negsi2): Fix wrong code.
From-SVN: r166467
2010-11-08 20:10:18 -05:00
Paul Koning e285a2c6b4 pdp11.c (pdp11_assemble_integer): Mask byte values to 8 bits.
* config/pdp11/pdp11.c (pdp11_assemble_integer): Mask byte values
to 8 bits.

From-SVN: r166466
2010-11-08 20:07:14 -05:00
Joern Rennecke 365b0dba72 re PR target/44750 (pdp-11 fails to build)
PR target/44750
        * config/pdp11/t-pdp11 (dwarf2out.o, java/constants.o): Undo last
        change.  Set $@-warn.o to -Wno-error.

From-SVN: r166356
2010-11-05 11:27:16 +00:00
Joern Rennecke f89a0507b1 re PR target/44750 (pdp-11 fails to build)
PR target/44750
        * config/pdp11/pdp11.c: (pdp11_secondary_reload): Now static.
        (pdp11_preferred_reload_class): Rename class to rclass.
        (pdp11_preferred_output_reload_class): Likewise.
        * config/pdp11/t-pdp11 (dwarf2out.o): Add -Wno-error=type-limits to
        ALL_COMPILERFLAGS .
        (java/constants.o): Add -Wno-error to ALL_COMPILERFLAGS.

From-SVN: r166331
2010-11-04 20:44:03 +00:00
Paul Koning 63caf8bbfb pdp11.md: Use iterators.
* config/pdp11/pdp11.md: Use iterators.
(addqi3, subqi3, iorsi3, xorsi3): Delete.

From-SVN: r166148
2010-11-01 17:24:57 -04:00
Paul Koning c6d3802a2f pdp11.c (pdp11_return_in_memory): Return vector and complex modes in memory.
* config/pdp11/pdp11.c (pdp11_return_in_memory): Return vector and
complex modes in memory.

From-SVN: r166137
2010-11-01 14:08:15 -04:00
Paul Koning 166208c2ae pdp11.md: Change output operands to disallow immediate operands.
* config/pdp11/pdp11.md: Change output operands to disallow
immediate operands.
* config/pdp11/predicates.md (float_nonimm_operand): New.

From-SVN: r166108
2010-10-31 10:16:22 -04:00
Paul Koning 396acafd0d * config/pdp11/pdp11.md (*and<mode>): Rename to *bic<mode>.
From-SVN: r166076
2010-10-29 16:42:20 -04:00
Paul Koning 8f808fc277 * config/pdp11/pdp11.md (divhi3, modhi3, divmodhi3): Fix ICE.
From-SVN: r166075
2010-10-29 16:38:04 -04:00
Paul Koning 9546fe6a54 pdp11.md (andhi3, andqi3): Fix wrong code error.
PR/41822
* config/pdp11/pdp11.md (andhi3, andqi3): Fix wrong code error.

From-SVN: r166073
2010-10-29 15:45:23 -04:00
Paul Koning a9c64fcc1e pdp11.c (output_move_quad): Fix ICE for CPU register to register move.
* config/pdp11/pdp11.c (output_move_quad): Fix ICE for CPU
register to register move.

From-SVN: r166066
2010-10-29 12:41:50 -04:00
Paul Koning c153355f26 pdp11.c (print_operand_address): Correct handling of integer constant addresses, delete vax-only logic.
* config/pdp11/pdp11.c (print_operand_address): Correct handling
of integer constant addresses, delete vax-only logic.

From-SVN: r166065
2010-10-29 12:10:07 -04:00
Paul Koning ed8eb56342 pdp11.c (pdp11_trampoline_init): Correct instruction encoding.
* config/pdp11/pdp11.c (pdp11_trampoline_init): Correct
instruction encoding.

From-SVN: r166063
2010-10-29 11:29:51 -04:00
Paul Koning a01c666cc6 pdp11-protos.h (pdp11_cannot_change_mode_class, [...]): Declare.
* config/pdp11/pdp11-protos.h (pdp11_cannot_change_mode_class,
pdp11_secondary_memory_needed): Declare.
* config/pdp11/predicates.md (float_operand): New predicate.
* config/pdp11/pdp11.md (RETVAL_REGNUM): New constant.
(cbranchdf4, movdf): Change predicate.
(movsf): Handle FPU register case.
(truncdfsf2, extendsfdf2): Add FPU register case.
* config/pdp11/pdp11.c (TARGET_SECONDARY_RELOAD,
TARGET_REGISTER_MOVE_COST, TARGET_PREFERRED_RELOAD_CLASS,
TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
(pdp11_register_move_cost): Update cost matrix.
(pdp11_cannot_change_mode_class, pdp11_preferred_reload_class,
pdp11_preferred_output_reload_class, pdp11_secondary_reload,
pdp11_secondary_memory_needed): New function.
(pdp11_return_in_memory): Add other float types.
* config/pdp11/pdp11.h (HARD_REGNO_MODE_OK): Add other float
types. 
(SECONDARY_MEMORY_NEEDED, CANNOT_CHANGE_MODE_CLASS): Define.
(PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS,
REGISTER_MOVE_COST): Delete.
(BASE_RETURN_VALUE_REG): Add other float types.

From-SVN: r166060
2010-10-29 10:32:59 -04:00
Paul Koning 6e2f8c15bc pdp11.c (pdp11_f_format, [...]): Update to current definition of struct_real_format.
* config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Update to
current definition of struct_real_format.

From-SVN: r165966
2010-10-26 11:00:54 -04:00
Paul Koning 7021d5df0a pdp11.md: Add define_constants for register numbers, branch offset limits.
* config/pdp11/pdp11.md: Add define_constants for register
numbers, branch offset limits.
* config/pdp11/pdp11.c: Use named constants instead of numbers.
* config/pdp11.pdp11.h: Ditto.

From-SVN: r165933
2010-10-25 20:46:55 -04:00