summaryrefslogtreecommitdiff
path: root/gcc/config/frv
Commit message (Collapse)AuthorAgeFilesLines
* rtl.h (true_dependence, [...]): Remove varies parameter.Richard Sandiford2012-01-241-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ * rtl.h (true_dependence, canon_true_dependence): Remove varies parameter. * alias.c (fixed_scalar_and_varying_struct_p): Delete. (true_dependence_1, write_dependence_p, may_alias_p): Don't call it. (true_dependence_1, true_dependence, canon_true_dependence): Remove varies parameter. * cselib.c (cselib_rtx_varies_p): Delete. (cselib_invalidate_mem): Update call to canon_true_dependence. * dse.c (record_store, check_mem_read_rtx): Likewise. (scan_reads_nospill): Likewise. * cse.c (check_dependence): Likewise. (cse_rtx_varies_p): Delete. * expr.c (safe_from_p): Update call to true_dependence. * ira.c (validate_equiv_mem_from_store): Likewise. (memref_referenced_p): Likewise. * postreload-gcse.c (find_mem_conflicts): Likewise. * sched-deps.c (sched_analyze_2): Likewise. * store-motion.c (load_kills_store): Likewise. * config/frv/frv.c (frv_registers_conflict_p_1): Likewise. * gcse.c (mems_conflict_for_gcse_p): Likewise. (compute_transp): Update call to canon_true_dependence. From-SVN: r183485
* Move libgcc2 to toplevel libgccRainer Orth2011-11-0211-210/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Move libgcc1 to toplevel libgccRainer Orth2011-11-022-278/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc: * Makefile.in (LIB1ASMSRC): Don't export. (libgcc.mvars): Don't emit LIB1ASMFUNCS, LIB1ASMSRC. * config/arm/arm.c: Update lib1funcs.asm filename. * config/arm/linux-eabi.h: Likewise. * config/arm/bpabi-v6m.S, config/arm/bpabi.S, config/arm/ieee754-df.S, config/arm/ieee754-sf.S: Move to ../libgcc/config/arm. * config/arm/lib1funcs.asm: Move to ../libgcc/config/arm/lib1funcs.S. * config/arm/t-arm (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/arm/t-arm-elf (LIB1ASMFUNCS): Remove. * config/arm/t-bpabi: Likewise. * config/arm/t-linux (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/arm/t-linux-eabi (LIB1ASMFUNCS): Remove. * config/arm/t-strongarm-elf: Likewise. * config/arm/t-symbian: Likewise. * config/arm/t-vxworks: Likewise. * config/arm/t-wince-pe: Likewise. * config/avr/libgcc.S: Move to ../libgcc/config/avr. * config/avr/t-avr (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/bfin/lib1funcs.asm: Move to ../libgcc/config/bfin/lib1funcs.S. * config/bfin/t-bfin: Remove. * config/bfin/t-bfin-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/bfin/t-bfin-linux: Likewise. * config/bfin/t-bfin-uclinux: Likewise. * config/c6x/lib1funcs.asm: Move to ../libgcc/config/c6x/lib1funcs.S. * config/c6x/t-c6x-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/fr30/lib1funcs.asm: Move to ../libgcc/config/fr30/lib1funcs.S. * config/fr30/t-fr30 (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/frv/lib1funcs.asm: Move to ../libgcc/config/frv/lib1funcs.S. * config/frv/t-frv (CROSS_LIBGCC1, LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/h8300/fixunssfsi.c: Update lib1funcs.asm filename. * config/h8300/lib1funcs.asm: Move to ../libgcc/config/h8300/lib1funcs.S. * config/h8300/t-h8300 (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/i386/cygwin.asm: Move to ../libgcc/config/i386/cygwin.S. * config/i386/t-cygming (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/i386/t-interix: Likewise. * config/ia64/lib1funcs.asm: Move to ../libgcc/config/ia64/lib1funcs.S. * config/ia64/t-hpux (LIB1ASMFUNCS, LIBGCC1_TEST): Remove. * config/ia64/t-ia64 (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/iq2000/t-iq2000 (LIBGCC1, CROSS_LIBGCC1): Remove. * config/m32c/m32c.c: Update m32c-lib1.S filename. * config/m32c/m32c-lib1.S: Move to ../libgcc/config/m32c/lib1funcs.S. * config/m32c/t-m32c (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/m32r/t-linux (CROSS_LIBGCC1, LIBGCC1, LIBGCC1_TEST): Remove. * config/m68k/lb1sf68.asm: Move to ../libgcc/config/m68k/lb1sf68.S. * config/m68k/t-floatlib (LIB1ASMSRC, LIB1ASMFUNCS): New file. * config/mcore/lib1.asm: Move to ../libgcc/config/mcore/lib1funcs.S. * config/mcore/t-mcore (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/mep/mep-lib1.asm: Move to ../libgcc/config/mep/lib1funcs.S. * config/mep/t-mep (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/mips/mips16.S: Move to ../libgcc/config/mips. * config/mips/t-libgcc-mips16: Remove. * config/mips/t-sr71k (LIBGCC1, CROSS_LIBGCC1): Remove. * config/pa/milli64.S: Move to ../libgcc/config/pa. * config/pa/t-linux (LIB1ASMFUNCS, LIB1ASMSRC): Remove. * config/pa/t-linux64: Likewise. * config/picochip/libgccExtras/fake_libgcc.asm: Move to ../libgcc/config/picochip/lib1funcs.S. * config/picochip/t-picochip (LIB1ASMFUNCS, LIB1ASMSRC): Remove. * config/sh/lib1funcs.asm: Move to ../libgcc/config/sh/lib1funcs.S. * config/sh/lib1funcs.h: Move to ../libgcc/config/sh. * config/sh/sh.h: Update lib1funcs.asm filename. * config/sh/t-linux (LIB1ASMFUNCS_CACHE): Remove. * config/sh/t-netbsd: Likewise. * config/sh/t-sh (LIB1ASMSRC, LIB1ASMFUNCS, LIB1ASMFUNCS_CACHE): Remove. * config/sh/t-sh64 (LIB1ASMFUNCS): Remove. * config/sparc/lb1spc.asm: Move to ../libgcc/config/sparc/lb1spc.S. * config/sparc/lb1spl.asm: Remove. * config/sparc/t-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config/sparc/t-leon: Likewise. * config/spu/t-spu-elf (LIBGCC1, CROSS_LIBGCC1): Remove. * config/v850/lib1funcs.asm: Move to ../libgcc/config/v850/lib1funcs.S. * config/v850/t-v850 (LIB1ASMSRC, LIB1ASMFUNCS): Remove * config/vax/lib1funcs.asm: Move to ../libgcc/config/vax/lib1funcs.S. * config/vax/t-linux: Remove. * config/xtensa/ieee754-df.S, config/xtensa/ieee754-sf.S: Move to ../libgcc/config/xtensa. * config/xtensa/lib1funcs.asm: Move to ../libgcc/config/xtensa/lib1funcs.S. * config/xtensa/t-xtensa (LIB1ASMSRC, LIB1ASMFUNCS): Remove. * config.gcc (bfin*-rtems*): Remove bfin/t-bfin from tmake_file. (bfin*-*): Likewise. (mips64*-*-linux*, mipsisa64*-*-linux*): Remove mips/t-libgcc-mips16 from tmake_file. (mips*-*-linux*): Likewise. (mips*-sde-elf*): Likewise. (mipsisa32-*-elf*, mipsisa32el-*-elf*, mipsisa32r2-*-elf*) (mipsisa32r2el-*-elf*, mipsisa64-*-elf*, mipsisa64el-*-elf*) (mipsisa64r2-*-elf*, mipsisa64r2el-*-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. (mipstx39-*-elf*, mipstx39el-*-elf*): Likewise. (vax-*-linux*): Remove vax/t-linux from tmake_file. libgcc: * Makefile.in ($(lib1asmfuncs-o), $(lib1asmfuncs-s-o)): Use $(srcdir) to refer to $(LIB1ASMSRC). Use $<. * config/arm/bpabi-v6m.S, config/arm/bpabi.S, config/arm/ieee754-df.S, config/arm/ieee754-sf.S, config/arm/lib1funcs.S: New files. * config/arm/libunwind.S [!__symbian__]: Use lib1funcs.S. * config/arm/t-arm: New file. * config/arm/t-bpabi (LIB1ASMFUNCS): Set. * config/arm/t-elf, config/arm/t-linux, config/arm/t-linux-eabi, config/arm/t-strongarm-elf: New files. * config/arm/t-symbian (LIB1ASMFUNCS): Set. * config/arm/t-vxworks, config/arm/t-wince-pe: New files. * config/avr/lib1funcs.S: New file. * config/avr/t-avr (LIB1ASMSRC, LIB1ASMFUNCS): Set. * config/bfin/lib1funcs.S, config/bfin/t-bfin: New files. * config/c6x/lib1funcs.S: New file. * config/c6x/t-elf (LIB1ASMSRC, LIB1ASMFUNCS): Set. * config/fr30/lib1funcs.S, config/fr30/t-fr30: New files. * config/frv/lib1funcs.S: New file. * config/frv/t-frv (LIB1ASMSRC, LIB1ASMFUNCS): Set. * config/h8300/lib1funcs.S, config/h8300/t-h8300: New files. * config/i386/cygwin.S, config/i386/t-chkstk: New files. * config/ia64/__divxf3.asm: Rename to ... * config/ia64/__divxf3.S: ... this. Adapt lib1funcs.asm filename. * config/ia64/_fixtfdi.asm: Rename to ... * config/ia64/_fixtfdi.S: ... this. Adapt lib1funcs.asm filename. * config/ia64/_fixunstfdi.asm: Rename to ... * config/ia64/_fixunstfdi.S: ... this. Adapt lib1funcs.asm filename. * config/ia64/_floatditf.asm: Rename to ... * config/ia64/_floatditf.S: ... this. Adapt lib1funcs.asm filename. * config/ia64/lib1funcs.S: New file. * config/ia64/t-hpux (LIB1ASMFUNCS): Set. * config/ia64/t-ia64 (LIB1ASMSRC, LIB1ASMFUNCS): Set. * config/ia64/t-softfp-compat (libgcc1-tf-compats): Adapt suffix. * config/m32c/lib1funcs.S, config/m32c/t-m32c: New files. * config/m68k/lb1sf68.S, config/m68k/t-floatlib: New files. * config/mcore/lib1funcs.S, config/mcore/t-mcore: New files. * config/mep/lib1funcs.S: New file. * config/mep/t-mep (LIB1ASMSRC, LIB1ASMFUNCS): Set. * config/mips/mips16.S: New file. * config/mips/t-mips16 (LIB1ASMSRC, LIB1ASMFUNCS): Set. * config/pa/milli64.S: New file. * config/pa/t-linux, config/pa/t-linux64: New files. * config/picochip/lib1funcs.S: New file. * config/picochip/t-picochip (LIB1ASMSRC, LIB1ASMFUNCS): Set. * config/sh/lib1funcs.S, config/sh/lib1funcs.h: New files. * config/sh/t-linux (LIB1ASMFUNCS_CACHE): Set. * config/sh/t-netbsd: New file. * config/sh/t-sh (LIB1ASMSRC, LIB1ASMFUNCS, LIB1ASMFUNCS_CACHE): Set. Use $(srcdir) to refer to lib1funcs.S, adapt filename. * config/sh/t-sh64: New file. * config/sparc/lb1spc.S: New file. * config/sparc/t-softmul (LIB1ASMSRC): Adapt sparc/lb1spc.asm filename. * config/v850/lib1funcs.S, config/v850/t-v850: New files. * config/vax/lib1funcs.S, config/vax/t-linux: New files. * config/xtensa/ieee754-df.S, config/xtensa/ieee754-sf.S, config/xtensa/lib1funcs.S: New files. * config/xtensa/t-xtensa (LIB1ASMSRC, LIB1ASMFUNCS): Set. * config.host (arm-wrs-vxworks): Add arm/t-arm, arm/t-vxworks to tmake_file. (arm*-*-freebsd*): Add arm/t-arm, arm/t-strongarm-elf to tmake_file. (arm*-*-netbsdelf*): Add arm/t-arm to tmake_file. (arm*-*-linux*): Likewise. Add arm/t-elf, arm/t-bpabi, arm/t-linux-eabi to tmake_file for arm*-*-linux-*eabi, add arm/t-linux otherwise. (arm*-*-uclinux*): Add arm/t-arm, arm/t-elf to tmake_file. (arm*-*-ecos-elf): Likewise. (arm*-*-eabi*, arm*-*-symbianelf*): Likewise. (arm*-*-rtems*): Likewise. (arm*-*-elf): Likewise. (arm*-wince-pe*): Add arm/t-arm, arm/t-wince-pe to tmake_file. (avr-*-rtems*): Add to tmake_file, add avr/t-avr. (bfin*-elf*): Add bfin/t-bfin to tmake_file. (bfin*-uclinux*): Likewise. (bfin*-linux-uclibc*): Likewise. (bfin*-rtems*): Likewise. (bfin*-*): Likewise. (fido-*-elf): Merge into m68k-*-elf*. (fr30-*-elf)): Add fr30/t-fr30 to tmake_file. (frv-*-*linux*): Add frv/t-frv to tmake_file. (h8300-*-rtems*): Add h8300/t-h8300 to tmake_file. (h8300-*-elf*): Likewise. (hppa*64*-*-linux*): Add pa/t-linux, pa/t-linux64 to tmake_file. (hppa*-*-linux*): Add pa/t-linux to tmake_file. (i[34567]86-*-cygwin*): Add i386/t-chkstk to tmake_file. (i[34567]86-*-mingw*): Likewise. (x86_64-*-mingw*): Likewise. (i[34567]86-*-interix3*): Likewise. (ia64*-*-hpux*): Add ia64/t-ia64, ia64/t-hpux to tmake_file. (ia64-hp-*vms*): Add ia64/t-ia64 to tmake_file. (m68k-*-elf*): Also handle fido-*-elf. Add m68k/t-floatlib to tmake_file. (m68k-*-uclinux*): Add m68k/t-floatlib to tmake_file. (m68k-*-linux*): Likewise. (m68k-*-rtems*): Likewise. (mcore-*-elf): Add mcore/t-mcore to tmake_file. (sh-*-elf*, sh[12346l]*-*-elf*): Add sh/t-sh64 to tmake_file for sh64*-*-*. (sh-*-linux*, sh[2346lbe]*-*-linux*): Add sh/t-sh to tmake_file. Add sh/t-sh64 to tmake_file for sh64*-*-linux*. (sh-*-netbsdelf*, shl*-*-netbsdelf*, sh5-*-netbsd*) (sh5l*-*-netbsd*, sh64-*-netbsd*, sh64l*-*-netbsd*): Add sh/t-sh, sh/t-netbsd to tmake_file. Add sh/t-sh64 to tmake_file for sh5*-*-netbsd*, sh64*-netbsd*. (sh-*-rtems*): Add sh/t-sh to tmake_file. (sh-wrs-vxworks): Likewise. (sparc-*-linux*): Add sparc/t-softmul to tmake_file except for *-leon[3-9]*. (v850*-*-*): Add v850/t-v850 to tmake_file. (vax-*-linux*): Add vax/t-linux to tmake_file. (m32c-*-elf*, m32c-*-rtems*): Add m32c/t-m32c to tmake_file. From-SVN: r180773
* Move crtstuff support to toplevel libgccRainer Orth2011-11-024-250/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc: * config.gcc (extra_parts): Remove. (*-*-freebsd*): Remove extra_parts. (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu, *-*-gnu*, *-*-kopensolaris*-gnu): Likewise. (*-*-netbsd*): Remove t-libc-ok, t-netbsd from tmake_file. Remove extra_parts for *-*-netbsd*1.[7-9]*, *-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*. (*-*-openbsd*): Remove t-libc-ok from tmake_file. (alpha*-*-linux*): Remove extra_parts. (alpha*-*-freebsd*): Likewise. (bfin*-linux-uclibc*): Likewise. (fr30-*-elf): Likewise. (moxie-*-elf): Likewise. (moxie-*-uclinux*): Likewise. (h8300-*-rtems*): Remove h8300/t-elf from tmake_file. (h8300-*-elf*): Likewise. (hppa*64*-*-hpux11*): Remove extra_parts. (i[34567]86-*-elf*): Remove i386/t-i386elf, i386/t-crtstuff from tmake_file. (x86_64-*-elf*): Likewise. (i[34567]86-*-freebsd*): Remove tmake_file. (x86_64-*-freebsd*): Likewise. (x86_64-*-netbsd*): Likewise. (i[34567]86-*-openbsd2.*, i[34567]86-*openbsd3.[0123]): Remove t-libc-ok from tmake_file. (i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu, i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*, i[34567]86-*-kopensolaris*-gnu): Remove i386/t-crtstuff from tmake_file. Remove extra_parts. (x86_64-*-linux*, x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu): Remove i386/t-crtstuff from tmake_file. (i[34567]86-*-lynxos*): Likewise. Remove extra_parts. (ia64*-*-elf*): Remove extra_parts. (ia64*-*-freebsd*): Likewise. (ia64*-*-linux*): Likewise. (ia64-hp-*vms*): Remove ia64/t-vms from tmake_file. (m32r-*-elf*): Remove extra_parts. (m32rle-*-elf*): Likewise. (m32r-*-rtems*): Likewise. (m68k-*-elf*, fido-*-elf*): Likewise. (m68k*-*-openbsd*): Remove t-libc-ok from tmake_file. (m68k-*-rtems*): Remove extra_parts. (mep-*-*): Likewise. (microblaze*-linux*): Likewise. (mips64*-*-linux*, mipsisa64*-*-linux*): Likewise. (mips*-*-linux*): Likewise. (powerpc-*-lynxos*): Likewise. (s390x-ibm-tpf*): Likewise. (score-*-elf): Likewise. Remove tmake_file. (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-elf from tmake_file. Remove sh/t-superh from tmake_file for sh*-superh-elf. Remove sh/t-linux64 from tmake_file for sh64*-*-linux*. (sh-*-rtems*): Remove sh/t-elf from tmake_file. (sh-wrs-vxworks): Likewise. (sparc-*-linux*): Remove extra_parts. (sparc64-*-linux*): Likewise. (sparc64-*-freebsd*, ultrasparc-*-freebsd*): Likewise. (xstormy16-*-elf): Likewise. (xtensa*-*-linux*): Remove xtensa/t-linux from tmake_file. (am33_2.0-*-linux*): Remove extra_parts. * configure.ac (extra_parts): Don't substitute. * configure: Regenerate. * crtstuff.c: Move to ../libgcc. * Makefile.in (CRTSTUFF_CFLAGS): Remove. (EXTRA_PARTS): Remove. (CRTSTUFF_T_CFLAGS): Remove. (MOSTLYCLEANFILES): Remove $(EXTRA_PARTS). (GCC_EXTRA_PARTS): Remove. (libgcc.mvars): Remove GCC_EXTRA_PARTS, CRTSTUFF_CFLAGS, CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S. Emit GCC_CFLAGS, INHIBIT_LIBC_CFLAGS. ($(T)crtbegin.o, $(T)crtend.o, $(T)crtbeginS.o, $(T)crtendS.o) ($(T)crtbeginT.o): Remove. * config/alpha/t-vms (EXTRA_PARTS): Remove. ($(T)vms-dwarf2.o, $(T)vms-dwarf2eh.o): Remove. * config/alpha/vms-dwarf2.asm: Move to ../libgcc/config/alpha/vms-dwarf2.S. * config/alpha/vms-dwarf2eh.asm: Move to ../libgcc/config/alpha/vms-dwarf2eh.S. * config/arm/crti.asm: Move to ../libgcc/config/arm/crti.S. * config/arm/crtn.asm: Move to ../libgcc/config/arm/crtn.S. * config/arm/t-arm-elf (EXTRA_MULTILIB_PARTS): Remove. ($(T)crti.o, $(T)crtn.o): Remove. * config/arm/t-linux: Remove comment. * config/arm/t-linux-eabi (EXTRA_MULTILIB_PARTS): Remove. * config/arm/t-strongarm-elf (EXTRA_MULTILIB_PARTS): Remove. ($(T)crti.o, $(T)crtn.o): Remove. * config/arm/t-symbian (EXTRA_MULTILIB_PARTS): Remove. * config/bfin/crti.s: Move to ../libgcc/config/bfin/crti.S. * config/bfin/crtn.s: Move to ../libgcc/config/bfin/crtn.S. * config/bfin/crtlibid.s: Move to ../libgcc/config/bfin/crtlibid.S. * config/bfin/t-bfin (EXTRA_PARTS): Remove. ($(T)crti.o, $(T)crtn.o): Remove. * config/bfin/t-bfin-elf (CRTSTUFF_T_CFLAGS): Remove. ($(T)crti.o, $(T)crtn.o, $(T)crtlibid.o): Remove (EXTRA_MULTILIB_PARTS): Remove. * config/bfin/t-bfin-linux (CRTSTUFF_T_CFLAGS, EXTRA_MULTILIB_PARTS): Remove. * config/bfin/t-bfin-uclinux (CRTSTUFF_T_CFLAGS): Remove. ($(T)crtlibid.o): Remove. (EXTRA_MULTILIB_PARTS): Remove. * config/c6x/crti.s: Move to ../libgcc/config/c6x/crti.S. * config/c6x/crtn.s: Move to ../libgcc/config/c6x/crtn.S. * config/c6x/t-c6x-elf ($(T)crti.o, $(T)crtn.o): Remove. (EXTRA_MULTILIB_PARTS): Remove. (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove. * config/c6x/t-c6x-uclinux (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove. * config/cris/t-elfmulti (CRTSTUFF_T_CFLAGS): Remove. * config/cris/t-linux (CRTSTUFF_T_CFLAGS_S): Remove. * config/fr30/crti.asm: Move to ../libgcc/config/fr30/crti.S. * config/fr30/crtn.asm: Move to ../libgcc/config/fr30/crtn.S. * config/fr30/t-fr30 ($(T)crti.o, $(T)crtn.o): Remove. * config/frv/frvbegin.c, config/frv/frvend.c: Move to ../libgcc/config/frv. * config/frv/t-frv (EXTRA_MULTILIB_PARTS): Remove. (FRVSTUFF_CFLAGS, $(T)frvbegin$(objext), $(T)frvend$(objext)): Remove. * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove. (CRTSTUFF_T_CFLAGS): Remove. * config/h8300/crti.asm: Move to ../libgcc/config/h8300/crti.S. * config/h8300/crtn.asm: Move to ../libgcc/config/h8300/crtn.S. * config/h8300/t-elf: Remove. * config/i386/cygming-crtbegin.c, config/i386/cygming-crtend.c: Move to ../libgcc/config/i386. * config/i386/t-crtstuff: Remove. * config/i386/t-i386elf: Remove. * config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Remove. * config/i386/t-nto (CRTSTUFF_T_CFLAGS, EXTRA_PARTS): Remove. * config/ia64/crtbegin.asm: Move to ../libgcc/config/ia64/crtbegin.S. * config/ia64/crtend.asm: Move to ../libgcc/config/ia64/crtend.S. * config/ia64/crti.asm: Move to ../libgcc/config/ia64/crti.S. * config/ia64/crtn.asm: Move to ../libgcc/config/ia64/crtn.S. * config/ia64/t-vms: Remove. * config/ia64/vms-crtinit.asm: Move to ../libgcc/config/ia64/vms-crtinit.S. * config/m32c/t-m32c (EXTRA_MULTILIB_PARTS): Remove. * config/m32r/initfini.c: Move to ../libgcc/config/m32r. * config/m32r/t-linux (CRTSTUFF_T_CFLAGS_S): Remove. * config/m32r/t-m32r (CRTSTUFF_T_CFLAGS): Remove. ($(T)crtinit.o, $(T)crtfini.o): Remove. (m32rx, m32r2): Remove. (EXTRA_MULTILIB_PARTS): Remove. * config/m68k/crti.s: Move to ../libgcc/config/m68k/crti.S. * config/m68k/crtn.s: Move to ../libgcc/config/m68k/crtn.S. * config/m68k/t-crtstuff: Remove. * config/m68k/t-linux (EXTRA_MULTILIB_PARTS): Remove. * config/m68k/t-m68kelf: Remove. * config/m68k/t-uclinux (EXTRA_MULTILIB_PARTS): Remove. * config/mcore/crti.asm: Move to ../libgcc/config/mcore/crti.S. * config/mcore/crtn.asm: Move to ../libgcc/config/mcore/crtn.S. * config/mcore/t-mcore ($(T)crti.o, $(T)crtn.o): Remove. (EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Remove. * config/mep/t-mep (CRTSTUFF_CFLAGS): Remove. (EXTRA_MULTILIB_PARTS): Remove. * config/microblaze/crti.s: Move to ../libgcc/config/microblaze/crti.S. * config/microblaze/crtn.s: Move to ../libgcc/config/microblaze/crtn.S. * config/microblaze/t-microblaze (EXTRA_MULTILIB_PARTS, EXTRA_PARTS): Remove. ($(T)crti$(objext), $(T)crtn$(objext)): Remove. * config/mips/crti.asm: Move to ../libgcc/config/mips/crti.S. * config/mips/crtn.asm: Move to ../libgcc/config/mips/crtn.S. * config/mips/t-elf (CRTSTUFF_T_CFLAGS): Remove. ($(T)crti.o, $(T)crtn.o): Remove. (EXTRA_MULTILIB_PARTS): Remove. * config/mips/t-isa3264: Likewise. * config/mips/t-linux64 (EXTRA_MULTILIB_PARTS): Remove. * config/mips/t-r3900 (EXTRA_MULTILIB_PARTS): Remove. (CRTSTUFF_T_CFLAGS): Remove. * config/mips/t-sde (CRTSTUFF_T_CFLAGS): Remove. ($(T)crti.o, $(T)crtn.o): Remove. (EXTRA_MULTILIB_PARTS): Remove. * config/mips/t-sr71k (EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS): Remove. ($(T)crti.o, $(T)crtn.o): Remove. * config/mips/t-st (EXTRA_MULTILIB_PARTS): Remove. * config/mips/t-vr (CRTSTUFF_T_CFLAGS): Remove. (EXTRA_MULTILIB_PARTS): Remove. ($(T)crti.o, $(T)crtn.o): Remove. * config/mmix/crti.asm: Move to ../libgcc/config/crti.S. * config/mmix/crtn.asm: Move to ../libgcc/config/crtn.S. * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Remove. * config/moxie/crti.asm, config/moxie/crtn.asm: Remove. * config/pa/stublib.c: Move to libgcc/config/pa. * config/pa/t-linux (CRTSTUFF_T_CFLAGS_S): Remove. * config/pa/t-linux64 (CRTSTUFF_T_CFLAGS_S): Remove. * config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS, stublib.c): Remove. (pthread_default_stacksize_np-stub.o, pthread_mutex_lock-stub.o) (pthread_mutex_unlock-stub.o, pthread_once-stub.o) ($(T)libgcc_stub.a): Remove. * config/pa/t-pa64 (LIBGCCSTUB_OBJS, stublib.c): Remove. (rfi-stub.o, dfi-stub.o, cxaf-stub.o, jvrc-stub.o) (pthread_default_stacksize_np-stub.o, pthread_mutex_lock-stub.o) (pthread_mutex_unlock-stub.o, pthread_once-stub.o) ($(T)libgcc_stub.a): Remove. * config/rs6000/eabi-cn.asm: Move to ../../../libgcc/config/rs6000/eabi-cn.S. * config/rs6000/eabi-ci.asm: Move to ../../../libgcc/config/rs6000/eabi-ci.S. * config/rs6000/sol-ci.asm: Move to ../../../libgcc/config/rs6000/sol-ci.S. * config/rs6000/sol-cn.asm: Move to ../../../libgcc/config/rs6000/sol-cn.S. * config/rs6000/t-lynx (EXTRA_MULTILIB_PARTS): Remove. (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove. * config/rs6000/t-netbsd (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove. (EXTRA_MULTILIB_PARTS): Remove. * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Remove. (ecrti.S, ecrtn.S, ncrti.S, ncrtn.S): Remove. ($(T)ecrti$(objext), $(T)ecrtn$(objext), $(T)ncrti$(objext), $(T)ncrtn$(objext)): Remove. (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove. * config/rs6000/t-vxworks (EXTRA_MULTILIB_PARTS): Remove. * config/rx/t-rx (EXTRA_MULTILIB_PARTS): Remove. * config/score/crti.asm: Move to ../libgcc/config/score/crti.S. * config/score/crtn.asm: Move to ../libgcc/config/score/crtn.S. * config/score/t-score-elf: Remove. * config/sh/crt1.asm: Move to ../libgcc/config/sh/crt1.S. * config/sh/crti.asm: Move to ../libgcc/config/sh/crti.S. * config/sh/crtn.asm: Move to ../libgcc/config/sh/crtn.S. * config/sh/lib1funcs-4-300.asm: Move to ../../../libgcc/config/sh/lib1funcs-4-300.S. * config/sh/lib1funcs-Os-4-200.asm: Move to ../libgcc/config/sh/lib1funcs-Os-4-200.S. * config/sh/t-elf: Remove. * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Remove. * config/sh/t-linux64: Remove. * config/sh/t-netbsd (EXTRA_MULTILIB_PARTS): Remove. * config/sh/t-sh ($(T)crt1.o, $(T)crti.o, $(T)crtn.o): Remove. (IC_EXTRA_PARTS, OPT_EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Remove. ($(T)ic_invalidate_array_4-100.o) ($(T)libic_invalidate_array_4-100.a) ($(T)ic_invalidate_array_4-200.o) ($(T)libic_invalidate_array_4-200.a, $(T)ic_invalidate_array_4a.o) ($(T)libic_invalidate_array_4a.a, $(T)sdivsi3_i4i-Os-4-200.o) ($(T)udivsi3_i4i-Os-4-200.o, $(T)unwind-dw2-Os-4-200.o) ($(T)libgcc-Os-4-200.a, $(T)div_table-4-300.o) ($(T)libgcc-4-300.a): Remove. * config/sh/t-superh: Remove. * config/sh/t-vxworks (EXTRA_MULTILIB_PARTS): Remove. * config/sparc/t-linux64 (CRTSTUFF_T_CFLAGS): Remove. * config/spu/cache.S: Move to ../libgcc/config/spu. * config/spu/cachemgr.c: Move to ../libgcc/config/spu. * config/spu/t-spu-elf (CRTSTUFF_T_CFLAGS): Remove. (EXTRA_MULTILIB_PARTS): Remove. ($(T)cachemgr.o, $(T)cachemgr_nonatomic.o, $(T)libgcc_%.a): Remove. ($(T)cache8k.o, $(T)cache16k.o, $(T)cache32k.o, $(T)cache32k.o) ($(T)cache64k.o, $(T)cache128k.o): Remove. * config/t-freebsd (CRTSTUFF_T_CFLAGS_S): Remove. * config/t-libc-ok: Remove. * config/t-linux (CRTSTUFF_T_CFLAGS_S): Remove. * config/t-lynx (CRTSTUFF_T_CFLAGS_S): Remove. * config/t-netbsd: Remove. * config/t-svr4 (CRTSTUFF_T_CFLAGS_S): Remove. * config/t-vxworks (EXTRA_MULTILIB_PARTS): Remove. * config/vms/t-vms (VMS_EXTRA_PARTS): Remove. ($(T)vcrt0.o, $(T)pcrt0.o): Remove. * config/vms/vms-ucrt0.c: Move to ../libgcc/config/vms. * config/xtensa/crti.asm: Move to ../libgcc/config/xtensa/crti.S. * config/xtensa/crtn.asm: Move to ../libgcc/config/xtensa/crtn.S. * config/xtensa/t-elf (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove. (EXTRA_MULTILIB_PARTS): Remove. * config/xtensa/t-linux: Remove. * config/xtensa/t-xtensa ($(T)crti.o, $(T)crtn.o): Remove. gcc/po: * EXCLUDES (crtstuff.c): Remove. libgcc: * crtstuff.c: New file. * Makefile.in (CRTSTUFF_CFLAGS): Define. (CRTSTUFF_T_CFLAGS): Define. (extra-parts, INSTALL_PARTS): Remove conditional assignments. (crtbegin$(objext), crtend$(objext), crtbeginS$(objext)) (crtendS$(objext), crtbeginT.o): Use $(srcdir) to refer to crtstuff.c. Use $<. (crtbeginT.o): Use $(objext). [!CUSTOM_CRTIN] (crti$(objext), crtn$(objext)): New rules. (libgcc-extra-parts): Don't compare EXTRA_PARTS, GCC_EXTRA_PARTS. (gcc-extra-parts): Remove. * config.host (*-*-freebsd*): Add t-crtstuff-pic to tmake_file. Set extra_parts. (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu, *-*-gnu*): Also handle *-*-kopensolaris*-gnu. Add t-crtstuff-pic to tmake_file. (*-*-lynxos*): New case. Set tmake_file, extra_parts. (*-*-netbsd*): Add t-crtstuff-pic to tmake_file. Set extra_parts for *-*-netbsd*1.[7-9]*, *-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*. (*-*-openbsd*): Add t-crtstuff-pic to tmake_file. (*-*-rtems*): Set extra_parts. (*-*-solaris2*): Remove t-crtin from tmake_file for Solaris < 10. (*-*-uclinux*): New case. Set extra_parts. (*-*-vms*): New case. Set tmake_file, extra_parts. (*-*-elf): Set extra_parts. (alpha*-*-freebsd*): Add crtbeginT.o to extra_parts. (alpha64-dec-*vms*): Append to tmake_file, remove vms/t-vms, vms/t-vms64. Set extra_parts. (alpha*-dec-*vms*): Append to tmake_file, remove vms/t-vms. Set extra_parts. (arm*-*-freebsd*): Add t-crtin to tmake_file. Add crtbegin.o, crtend.o, crti.o, crtn.o to extra_parts. (arm-wrs-vxworks): Append to tmake_file. Set extra_parts. (arm*-*-uclinux*): Set extra_parts. (arm*-*-ecos-elf): Likewise. (arm*-*-eabi*, arm*-*-symbianelf*): Set extra_parts for arm*-*-eabi*. (arm*-*-rtems*): Set extra_parts. (arm*-*-elf): Likewise. (avr-*-rtems*): Clear extra_parts. (bfin*-elf*): Add bfin/t-crtlibid, bfin/t-crtstuff to extra_parts. Set extra_parts. (bfin*-uclinux*): Likewise. (bfin*-linux-uclibc*): Add bfin/t-crtstuff to tmake_file. (bfin*-rtems*): Append to tmake_file. Set extra_parts. (bfin*-*): Likewise. (crisv32-*-elf, crisv32-*-none, cris-*-elf, cris-*-none): Split into ... (crisv32-*-elf): ... this. (crisv32-*-none): ... this. (cris-*-elf, cris-*-none): New cases. Add cris/t-elfmulti to tmake_file. (fr30-*-elf): Append to tmake_file. Set extra_parts. (frv-*-elf): Append to tmake_file, add frv/t-frv. Set extra_parts. (h8300-*-rtems*): Append to tmake_file. Set extra_parts. (h8300-*-elf*): Likewise. (hppa*64*-*-hpux11*): Add pa/t-stublib, pa/t-stublib64 to tmake_file. Set extra_parts. (hppa[12]*-*-hpux11*): Add pa/t-stublib to tmake_file. Set extra_parts. (i[34567]86-*-elf*): Add i386/t-crtstuff, t-crtstuff-pic to tmake_file. (x86_64-*-elf*): Likewise. (i[34567]86-*-freebsd*): Add i386/t-crtstuff to tmake_file. (x86_64-*-freebsd*): Likewise. (x86_64-*-netbsd*): Likewise. (i[34567]86-*-linux*): Likewise. (i[34567]86-*-kfreebsd*-gnu, i[34567]86-*-knetbsd*-gnu) (i[34567]86-*-gnu*, i[34567]86-*-kopensolaris*-gnu): Likewise. (x86_64-*-linux*): Likewise. (x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu): Likewise. (i[34567]86-*-lynxos*): Add t-crtstuff-pic, i386/t-crtstuff to tmake_file. Set extra_parts. (i[34567]86-*-nto-qnx*): Set tmake_file, extra_parts. (i[34567]86-*-rtems*): Append to tmake_file, remove t-crtin. Append to extra_parts, remove crtbegin.o, crtend.o. (ia64*-*-elf*): Append to extra_parts, remove crtbegin.o, crtend.o. (ia64*-*-freebsd*): Append to extra_parts, remove crtbegin.o, crtend.o, crtbeginS.o, crtendS.o. (ia64*-*-linux*): Comment extra_parts. (ia64-hp-*vms*): Append to tmake_file, remove vms/t-vms, vms/t-vms64. Set extra_parts. (iq2000*-*-elf*): Clear extra_parts. (lm32-*-elf*, lm32-*-rtems*): Add t-crtin to tmake_file. (lm32-*-uclinux*): Add to extra_parts, remove crtbegin.o, crtend.o (m32r-*-elf*, m32r-*-rtems*): Split off ... (m32r-*-rtems*): ... this. Add m32r/t-m32r to tmake_file. (m68k-*-elf*): Add t-crtin to tmake_file. (m68k-*-rtems*): Add crti.o, crtn.o to extra_parts. (mcore-*-elf): Likewise. (microblaze*-*-*): Set extra_parts. (mips*-sde-elf*): New case. Set tmake_file, extra_parts. (mipsisa32-*-elf*, mipsisa32el-*-elf*, mipsisa32r2-*-elf*) (mipsisa32r2el-*-elf*, mipsisa64-*-elf*, mipsisa64el-*-elf*) (mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Add mips/t-crtstuff to tmake_file. Set extra_parts. (mipsisa64sr71k-*-elf*): Likewise. (mipsisa64sb1-*-elf*, mipsisa64sb1el-*-elf*): Likewise. (mips-*-elf*, mipsel-*-elf*): Likewise. (mips64-*-elf*, mips64el-*-elf*): Likewise. (mips64vr-*-elf*, mips64vrel-*-elf*): Likewise. (mips64orion-*-elf*, mips64orionel-*-elf*): Likewise. (mips*-*-rtems*): Likewise. (mipstx39-*-elf*, mipstx39el-*-elf*): Likewise. (moxie-*-*): Split into ... (moxie-*-elf, moxie-*-uclinux*): ... this. Add to extra_parts, remove crtbegin.o, crtend.o. (moxie-*-rtems*): New case. Set tmake_file. Clear extra_parts. (powerpc-*-freebsd*): Add rs6000/t-crtstuff to tmake_file. Set extra_parts. (powerpc-*-netbsd*): Add rs6000/t-netbsd to tmake_file. (powerpc-*-eabispe*): Add rs6000/t-crtstuff, t-crtstuff-pic to tmake_file. Set extra_parts. (powerpc-*-eabisimaltivec*): Add to tmake_file, add rs6000/t-ppccomm, rs6000/t-crtstuff, t-crtstuff-pic to tmake_file. Set extra_parts. (powerpc-*-eabisim*): Likewise. (powerpc-*-elf*): Likewise. (powerpc-*-eabialtivec*): Likewise. (powerpc-xilinx-eabi*): Likewise. (powerpc-*-eabi*): Likewise. (powerpc-*-rtems*): Likewise. (powerpc-*-linux*, powerpc64-*-linux*): Add rs6000/t-crtstuff to tmake_file. Set extra_parts. (powerpc-*-lynxos*): Add to tmake_file. (powerpcle-*-elf*): Add to tmake_file, add rs6000/t-ppccomm, rs6000/t-crtstuff, t-crtstuff-pic. Set extra_parts. (powerpcle-*-eabisim*): Likewise. (powerpcle-*-eabi*): Likewise. (rx-*-elf): Remove extra_parts. (s390x-ibm-tpf*): Set extra_parts. (score-*-elf): Set extra_parts. (sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*) (sh[2346lbe]*-*-linux*, sh-*-netbsdelf*, shl*-*-netbsdelf*) (sh5-*-netbsd*, sh5l*-*-netbsd*, sh64-*-netbsd*) (sh64l*-*-netbsd*): Split into ... (sh-*-elf*, sh[12346l]*-*-elf*): ... this. Add t-crtstuff-pic to tmake_file. Set extra_parts. (sh-*-rtems*): Add to tmake_file, add t-crtstuff-pic. Set extra_parts. (sh-wrs-vxworks): Add to tmake_file, add t-crtstuff-pic. (sparc-*-elf*): Remove t-crtin from tmake_file. Add to extra_parts, remove crtbegin.o, crtend.o. (sparc-*-linux*): Add sparc/t-linux64 to tmake_file. (sparc64-*-linux*): Likewise. (sparc-*-rtems*): Remove sparc/t-elf from tmake_file. Add to extra_parts, remove crtbegin.o, crtend.o. (sparc64-*-elf*): Remove t-crtin from tmake_file. Add to extra_parts, remove crtbegin.o, crtend.o. (sparc64-*-rtems*): Remove t-crtin from tmake_file. Add to extra_parts, remove crtbegin.o, crtend.o. (sparc64-*-freebsd*, ultrasparc-*-freebsd*): Add to extra_parts. (sparc64-*-linux*): Add sparc/t-linux64 to tmake_file. (spu-*-elf*): Add to tmake_file, add spu/t-elf. Set extra_parts. (tic6x-*-uclinux): Add c6x/t-uxlinux, t-crtstuff-pic to tmake_file. Set extra_parts. (tic6x-*-*): Change to ... (tic6x-*-elf): ... this. Set extra_parts. (xtensa*-*-elf*): Add to tmake_file, add xtensa/t-elf. Set extra_parts. (am33_2.0-*-linux*): Add comment. (mep*-*-*): Add mep/t-mep to tmake_file. Set extra_parts. * config/alpha/t-vms: New file. * config/alpha/vms-dwarf2.S, config/alpha/vms-dwarf2eh.S: New files. * config/arm/crti.S, config/arm/crtn.S: New files. * config/bfin/crti.S, config/bfin/crtn.S: New files. * config/bfin/crtlibid.S: New file. * config/bfin/t-crtlibid, config/bfin/t-crtstuff: New files. * config/c6x/crti.S, config/c6x/crtn.S: New files. * config/c6x/t-elf (CUSTOM_CRTIN): Set. (crti.o, crtin.o): New rules. (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Set. * config/c6x/t-uclinux: New file. * config/cris/t-elfmulti: New file. * config/cris/t-linux (CRTSTUFF_T_CFLAGS_S): Set. * config/fr30/crti.S, config/fr30/crtn.S: New files. * config/frv/frvbegin.c, config/frv/frvend.c: New files. * config/frv/t-frv: New file. * config/frv/t-linux (CRTSTUFF_T_CFLAGS): Set. * config/h8300/crti.S, config/h8300/crtn.S: New files. * config/i386/cygming-crtbegin.c, config/i386/cygming-crtend.c: New files. * config/i386/t-cygming (crtbegin.o, crtend.o): Use $(srcdir) to refer to cygming-crtbegin.c, cygming-crtend.c. Use $<. * config/i386/t-nto: New file. * config/ia64/crtbegin.S, config/ia64/crtend.S: New files. * config/ia64/crti.S, config/ia64/crtn.S: New files. * config/ia64/t-ia64 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o): Use $(srcdir) to refer to crtbegin.S, crtend.S. Use .S extension. Use $<. * config/ia64/t-vms (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Set. (crtinitS.o): New rule. * config/ia64/vms-crtinit.S: New file. * config/lm32/t-elf ($(T)crti.o, $(T)crtn.o): Remove. * config/m32r/initfini.c: New file. * config/m32r/t-linux, config/m32r/t-m32r: New files. * config/m68k/crti.S, config/m68k/crtn.S: New files. * config/mcore/crti.S, config/mcore/crtn.S: New files. * config/mep/t-mep: New file. * config/microblaze/crti.S, config/microblaze/crtn.S: New files. * config/microblaze/t-microblaze (MULTILIB_OPTIONS): Remove. * config/mips/crti.S, config/mips/crtn.S: New files. * config/mips/t-crtstuff: New file. * config/mmix/crti.S, config/mmix/crtn.S: New files. * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Set. (CUSTOM_CRTIN): Set. ($(T)crti.o, $(T)crtn.o): Remove $(T), dependencies. Use $(srcdir) to refer to crti.S, crtn.S. Use .S extension, $<. * config/moxie/crti.asm: Rename to ... * config/moxie/crti.S: ... this. * config/moxie/crtn.asm: Rename to ... * config/moxie/crtn.S: ... this. * config/moxie/t-moxie: Remove. * config/pa/stublib.c: New file. * config/pa/t-stublib, config/pa/t-stublib64: New files. * config/rs6000/eabi-ci.S, config/rs6000/eabi-cn.S: New files. * config/rs6000/sol-ci.S, config/rs6000/sol-cn.S: New files. * config/rs6000/t-crtstuff: New file. * config/rs6000/t-ppccomm (EXTRA_PARTS): Remove. (ecrti.S, ecrtn.S, ncrti.S, ncrtn.S): Remove. (ecrti$(objext)): Depend on $(srcdir)/config/rs6000/eabi-ci.S. Make output file explicit. (ecrtn$(objext)): Depend on $(srcdir)/config/rs6000/eabi-cn.S. Make output file explicit. (ncrti$(objext): Depend on $(srcdir)/config/rs6000/sol-ci.S. Make output file explicit. (ncrtn$(objext)): Depend on $(srcdir)/config/rs6000/sol-cn.S. Make output file explicit. * config/score/crti.S, config/score/crtn.S: New files. * config/sh/crt1.S, config/sh/crti.S, config/sh/crtn.S: New files. * config/sh/lib1funcs-4-300.S, config/sh/lib1funcs-Os-4-200.S: New files. * config/sh/t-sh, config/sh/t-superh: New files. * config/sparc/t-linux64: New file. * config/spu/cache.S, config/spu/cachemgr.c: New files. * config/spu/t-elf (CRTSTUFF_T_CFLAGS): Set. (cachemgr.o, cachemgr_nonatomic.o, libgcc_%.a, cache8k.o) (cache16k.o, cache32k.o, cache64k.o, cache128k.o): New rules. * config/t-crtin: Remove. * config/t-crtstuff-pic: New file. * config/t-sol2 (CUSTOM_CRTIN): Set. (crti.o, crtn.o): New rules. * config/vms/t-vms: New file. * config/vms/vms-ucrt0.c: New file. * config/xtensa/t-elf: New file. From-SVN: r180771
* Move shlib support to toplevel libgccRainer Orth2011-11-022-77/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc: PR translation/45116 * Makefile.in (slibdir): Remove, don't export. (SHLIB_NM_FLAGS): Remove. (libgcc.mvars): Don't emit SHLIB_LINK, SHLIB_INSTALL, SHLIB_DLLDIR, SHLIB_EXT, SHLIB_MKMAP, SHLIB_MKMAP_OPTS, SHLIB_MAPFILES, SHLIB_NM_FLAGS. (DRIVER_DEFINES): Test SHLIB instead of SHLIB_LINK. (gcc.o): Pass SHLIB instead of SHLIB_LINK. (gccspec.o): Likewise. (installdirs): Don't create $(DESTDIR)$(slibdir). * configure.ac (slibdir): Remove. * configure: Regenerate. * libgcc-libsystem.ver: Move to ../libgcc/config. * mkmap-flat.awk, mkmap-symver.awk: Move to ../libgcc. * config/libgcc-glibc.ver: Move to ../libgcc/config. * config/t-libunwind (SHLIB_LC): Remove. * config/t-linux (SHLIB_MAPFILES): Remove. * config/t-slibgcc-dummy: Rename to config/t-slibgcc. * config/t-slibgcc-elf-ver: Remove. * config/t-slibgcc-libgcc, config/t-slibgcc-nolc-override: Move to ../libgcc/config. * config/alpha/libgcc-alpha-ldbl.ver, config/alpha/t-linux: Move to ../libgcc/config/alpha. * config/alpha/t-vms (shlib_version, SHLIB_EXT, SHLIB_OBJS, SHLIB_NAME, SHLIB_MULTILIB, SHLIB_INSTALL, SHLIB_SYMVEC, SHLIB_SYMVECX2, SHLIB_LINK): Remove. * config/arm/libgcc-bpabi.ver: Move to ../libgcc/config/arm. * config/arm/t-bpabi (SHLIB_MAPFILES): Remove. * config/arm/t-netbsd (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK, SHLIB_INSTALL): Remove. * config/arm/t-symbian (SHLIB_LC): Remove. * config/bfin/libgcc-bfin.ver: Move to ../libgcc/config/bfin/libgcc-glibc.ver. * config/bfin/t-bfin-linux (SHLIB_MAPFILES): Remove. * config/c6x/libgcc-c6xeabi.ver: Move to ../libgcc/config/c6x/libgcc-eabi.ver. * config/c6x/t-c6x-elf (SHLIB_MAPFILES): Remove. * config/cris/libgcc.ver: Move to ../libgcc/config/cris/libgcc-glibc.ver. * config/cris/t-linux (SHLIB_MAPFILES): Remove. * config/frv/libgcc-frv.ver: Move to ../libgcc/config/frv. * config/frv/t-linux (SHLIB_MAPFILES): Remove. * config/i386/darwin-libgcc.10.4.ver: Move to ../libgcc/config/i386/libgcc-darwin.10.4.ver. * config/i386/darwin-libgcc.10.5.ver: Move to ../libgcc/config/i386/libgcc-darwin.10.5.ver. * config/i386/libgcc-glibc.ver: Move to ../libgcc/config/i386. * config/i386/t-cygming (SHLIB_EXT, SHLIB_IMPLIB, SHLIB_SOVERSION, SHLIB_SONAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_DIR, SHLIB_SLIBDIR_QUAL) SHLIB_PTHREAD_CFLAG, SHLIB_PTHREAD_LDFLAG, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MKMAP_OPTS, SHLIB_MAPFILES): Remove. * config/i386/t-cygwin (SHLIB_LC, SHLIB_EH_EXTENSION, SHLIB_IMPLIB, SHLIB_SONAME, SHLIB_MKMAP_OPTS): Remove. * config/i386/t-dlldir, config/i386/t-dlldir-x: Move to ../libgcc/config/i386. * config/i386/t-dw2-eh, config/i386/t-sjlj-eh: Move to ../libgcc/config/i386. * config/i386/t-linux: Move to ../libgcc/config/i386. * config/i386/t-mingw-pthread: Move to ../libgcc/config/i386. * config/i386/t-mingw-w32 (SHLIB_LC): Remove. * config/i386/t-mingw-w64: Likewise. * config/i386/t-mingw32: Remove. * config/ia64/libgcc-glibc.ver, config/ia64/libgcc-ia64.ver: Move to ../libgcc/config/ia64. * config/ia64/t-glibc: Remove. * config/ia64/t-hpux (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL): Remove. * config/ia64/t-ia64 (SHLIB_MAPFILES): Remove. * config/ia64/t-vms (shlib_version, SHLIB_EXT, SHLIB_OBJS, SHLIB_NAME, SHLIB_MULTILIB, SHLIB_INSTALL, SHLIB_LINK): Remove. * config/ia64/vms_symvec_libgcc_s.opt: Remove. * config/m32r/libgcc-glibc.ver: Move to ../libgcc/config/m32r. * config/m32r/t-linux (SHLIB_MAPFILES): Remove. * config/m68k/t-slibgcc-elf-ver: Move to ../libgcc/config/m68k. * config/mips/t-libgcc-mips16 (SHLIB_MAPFILES): Remove. * config/pa/t-hpux-shlib: Move to ../libgcc/config/pa/t-slibgcc-hpux. * config/pa/t-slibgcc-dwarf-ver, config/pa/t-slibgcc-sjsj-ver: Move to ../libgcc/config/pa. * config/rs6000/darwin-libgcc.10.4.ver: Move to ../libgcc/config/rs6000/libgcc-darwin.10.4.ver. * config/rs6000/darwin-libgcc.10.5.ver: Move to ../libgcc/config/rs6000/libgcc-darwin.10.5.ver. * config/rs6000/t-aix43 (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_LIBS, SHLIB_MKMAP, SHLIB_NM_FLAGS, AR_FLAGS_FOR_TARGET): Remove. * config/rs6000/t-aix52: Likewise. * config/sh/libgcc-excl.ver, config/sh/libgcc-glibc.ver: Move to ../libgcc/config/sh. * config/sparc/libgcc-sparc-glibc.ver: Move to ../libgcc/config/sparc/libgcc-glibc.ver. * config/sparc/t-linux: Move to ../libgcc/config/sparc. * config/xtensa/t-linux (SHLIB_MAPFILES): Remove. * config/xtensa/libgcc-xtensa.ver: Move to ../libgcc/config/xtensa/libgcc-glibc.ver. * config.gcc (*-*-freebsd*): Replace t-slibgcc-elf-ver with t-slibgcc in tmake_file. Remove t-slibgcc-nolc-override for *-*-freebsd[34], *-*-freebsd[34].* with pthreads. (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu, *-*-gnu*, *-*-kopensolaris*-gnu): Replace t-slibgcc-elf-ver with t-slibgcc in tmake_file. (*-*-netbsd*): Likewise. (*-*-solaris2*): Replace t-slibgcc-dummy with t-slibgcc in tmake_file. (*-*-*vms*): Add t-slibgcc to tmake_file. (alpha*-*-linux*): Remove alpha/t-linux from tmake_file. (alpha*-dec-osf5.1*): Replace t-slibgcc-dummy with t-slibgcc in tmake_file. (arm*-*-linux*): Remove t-slibgcc-libgcc from tmake_file for arm*-*-linux-*eabi. (bfin*-linux-uclibc*): Replace t-slibgcc-dummy with t-slibgcc in tmake_file. (crisv32-*-linux*, cris-*-linux*): Likewise. (hppa*-*-linux*): Remove t-slibgcc-libgcc, pa/t-slibgcc-sjlj-ver, pa/t-slibgcc-dwarf-ver from tmake_file. (hppa[12]*-*-hpux10*): Replace pa/t-hpux-shlib with t-slibgcc in tmake_file. Remove pa/t-slibgcc-sjlj-ver, pa/t-slibgcc-dwarf-ver from tmake_file. (hppa*64*-*-hpux11*): Likewise. (hppa[12]*-*-hpux11*): Likewise. (i[34567]86-*-darwin*): Replace t-slibgcc-dummy in t-slibgcc in tmake_file. (x86_64-*-darwin*): Likewise. (i[34567]86-*-cygwin*): Remove tmake_eh_file, tmake_dlldir_file. Add t-slibgcc to tmake_file. (i[34567]86-*-mingw*, x86_64-*-mingw*): Likewise. Remove i386/t-mingw32 from tmake_file unless x86_64-w64-*, i[34567]86-w64-*. Remove i386/t-mingw-pthread from tmake_file. (ia64*-*-linux*): Remove ia64/t-glibc from tmake_file. (ia64*-*-hpux*): Add t-slibgcc to tmake_file. (ia64-hp-*vms*): Likewise. (m32r-*-linux*): Replace t-slibgcc-elf-ver with t-slibgcc in tmake_file. (m32rle-*-linux*): Likewise. (m68k-*-linux*): Remove m68k/t-slibgcc-elf-ver from tmake_file. (microblaze*-linux*): Remove t-slibgcc-elf-ver, t-slibgcc-nolc-override from tmake_file. (mips-sgi-irix6.5*): Replace t-slibgcc-dummy with t-slibgcc in tmake_file. (powerpc-*-darwin*): Likewise. (powerpc64-*-darwin*): Likewise. (powerpc-*-freebsd*): Remove t-slibgcc-libgcc from tmake_file. (powerpc-*-linux*, powerpc64-*-linux*): Likewise. (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Add t-slibgcc to tmake_file. (rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise. (rs6000-ibm-aix5.2.*, powerpc-ibm-aix5.2.*): Likewise. (rs6000-ibm-aix5.3.*, powerpc-ibm-aix5.3.*): Likewise. (rs6000-ibm-aix[6789].*, powerpc-ibm-aix[6789].*): Likewise. (sparc-*-linux*): Remove sparc/t-linux from tmake_file. (sparc64-*-linux*): Likewise. (tic6x-*-uclinux): Replace t-slibgcc-elf-ver with t-slibgcc in tmake_file. (i[34567]86-*-linux*, x86_64-*-linux*, i[34567]86-*-kfreebsd*-gnu, x86_64-*-kfreebsd*-gnu, i[34567]86-*-gnu*): Remove i386/t-linux from tmake_file. gcc/cp: * Make-lang.in (g++spec.o): Pass SHLIB instead of SHLIB_LINK. gcc/fortran: * Makef-lang.in (gfortranspec.o): Pass SHLIB instead of SHLIB_LINK. gcc/go: * Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK. gcc/java: * Make-lang.in (jvspec.o): Pass SHLIB instead of SHLIB_LINK. libgcc: * Makefile.in (SHLIB_NM_FLAGS): Set. * mkmap-flat.awk, mkmap-symver.awk: New files. * configure.ac (libgcc_cv_lib_sjlj_exceptions): Check for SjLj exceptions. * configure: Regenerate. * config/libgcc-glibc.ver: New file. * config/libgcc-libsystem.ver: New file. * config/t-libunwind (SHLIB_LC): Set. * config/t-linux: New file. * config/t-slibgcc (INSTALL_SHLIB): New. (SHLIB_INSTALL): Use it. * config/t-slibgcc-darwin (SHLIB_MKMAP): Use $(srcdir) to refer to mkmap-symver.awk. (SHLIB_MAPFILES): Don't append, adapt pathname. (SHLIB_VERPFX): Set. * config/t-slibgcc-elf-ver (SHLIB_MKMAP): Use $(srcdir) to refer to mkmap-symver.awk. * config/t-slibgcc-gld-nover, config/t-slibgcc-hpux, config/t-slibgcc-libgcc, config/t-slibgcc-vms: New files. * config/alpha/libgcc-alpha-ldbl.ver, config/alpha/t-linux: New files. * config/alpha/t-slibgcc-osf (SHLIB_MKMAP): Use $(srcdir) to refer to mkmap-flat.awk. * config/arm/t-bpabi (SHLIB_MAPFILES): Set. * config/bfin/libgcc-glibc.ver, config/bfin/t-linux: New files. * config/c6x/libgcc-eabi.ver, config/c6x/t-elf: New files. * config/cris/libgcc-glibc.ver, config/cris/t-linux: New files. * config/frv/libgcc-frv.ver, config/frv/t-linux: New files. * config/i386/libgcc-darwin.10.4.ver, config/i386/libgcc-darwin.10.5.ver, config/i386/libgcc-glibc.ver: New files. * config/i386/t-darwin: Remove. * config/i386/t-darwin64: Likewise. * config/i386/t-dw2-eh, config/i386/t-sjlj-eh: New files. * config/i386/t-slibgcc-cygming, config/i386/t-cygwin, config/i386/t-dlldir, config/i386/t-dlldir-x: New files. * config/i386/t-linux: New file. * config/i386/t-mingw32: New file. * config/ia64/libgcc-glibc.ver, config/ia64/libgcc-ia64.ver: New files. * config/ia64/t-glibc: Rename to ... * config/ia64/t-linux: ... this. (SHLIB_MAPFILES): Set. * config/ia64/t-glibc-libunwind: Rename to ... * config/ia64/t-linux-libunwind: ... this. * config/ia64/t-ia64 (SHLIB_MAPFILES): Set. * config/ia64/t-slibgcc-hpux: New file. * config/m32r/libgcc-glibc.ver, config/m32r/t-linux: New files. * config/m68k/t-slibgcc-elf-ver: New file. * config/mips/t-mips16 (SHLIB_MAPFILES): Set. * config/mips/t-slibgcc-irix (SHLIB_MKMAP): Use $(srcdir) to refer to mkmap-flat.awk. * config/pa/t-slibgcc-hpux: New file. * config/pa/t-slibgcc-dwarf-ver, config/pa/t-slibgcc-sjsj-ver: New files. * config/rs6000/libgcc-darwin.10.4.ver, config/rs6000/libgcc-darwin.10.5.ver: New files. * config/rs6000/libgcc-ppc-glibc.ver: Rename to config/rs6000/libgcc-glibc.ver. * config/rs6000/libgcc-ppc64.ver: Rename to config/rs6000/libgcc-ibm-ldouble.ver. * config/rs6000/t-darwin (SHLIB_VERPFX): Remove. * config/rs6000/t-ibm-ldouble (SHLIB_MAPFILES): Adapt filename. * config/rs6000/t-ldbl128: Rename to ... * config/rs6000/t-linux: ... this. (SHLIB_MAPFILES): Adapt filename. * config/rs6000/t-slibgcc-aix: New file. * config/sh/libgcc-excl.ver, config/sh/libgcc-glibc.ver: New files. * config/sh/t-linux (SHLIB_MAPFILES): Use $(srcdir) to refer to libgcc-excl.ver, libgcc-glibc.ver. (SHLIB_LINK, SHLIB_INSTALL): Remove. * config/sparc/libgcc-glibc.ver: New file. * config/sparc/t-linux: New file. * config/xtensa/libgcc-glibc.ver, config/xtensa/t-linux: New files. * config.host (*-*-freebsd*): Add t-slibgcc, t-slibgcc-gld, t-slibgcc-elf-ver to tmake_file. Add t-slibgcc-nolc-override to tmake_file for posix threads on *-*-freebsd[34]. (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu, *-*-gnu*, *-*-kopensolaris*-gnu): Add t-slibgcc, t-slibgcc-gld, t-slibgcc-elf-ver, t-linux to tmake_file. (*-*-netbsd*): Add t-slibgcc, t-slibgcc-gld, t-slibgcc-elf-ver to tmake_file. (alpha*-*-linux*): Add alpha/t-linux to tmake_file. (alpha64-dec-*vms*): Add t-slibgcc-vms to tmake_file. (alpha*-dec-*vms*): Likewise. (arm*-*-freebsd*): Append to tmake_file. (arm*-*-netbsdelf*): Add t-slibgcc-gld-nover to tmake_file. (arm*-*-linux*): Add t-slibgcc-libgcc to tmake_file for arm*-*-linux-*eabi. (arm*-*-eabi*, arm*-*-symbianelf*): Add t-slibgcc-nolc-override to tmake_file for arm*-*-symbianelf*. (bfin*-linux-uclibc*): Append to tmake_file, add bfin/t-linux. (cris-*-linux*, crisv32-*-linux*): Append to tmake_file, add cris/t-linux. (frv-*-*linux*): Append to tmake_file, add frv/t-linux. (hppa*-*-linux*): Add t-slibgcc-libgcc, pa/t-slibgcc-sjlj-ver, pa/t-slibgcc-dwarf-ver to tmake_file. (hppa[12]*-*-hpux10*): Add t-slibgcc, pa/t-slibgcc-sjlj-ver, pa/t-slibgcc-dwarf-ver, t-slibgcc-hpux, pa/t-slibgcc-hpux to tmake_file. (hppa*64*-*-hpux11*): Likewise. (hppa[12]*-*-hpux11*): Likewise. (x86_64-*-darwin*): Don't override tmake_file, but only keep i386/t-crtpc, i386/t-crtfm. (i[34567]86-*-cygwin*): Set tmake_eh_file, tmake_dlldir_file. Prepend $tmake_eh_file, $tmake_dlldir_file, i386/t-slibgcc-cygming to tmake_file. Add i386/t-cygwin to tmake_file. Prepent i386/t-mingw-pthread to tmake_file for posix threads. (i[34567]86-*-mingw*): Set tmake_eh_file, tmake_dlldir_file. Prepend $tmake_eh_file, $tmake_dlldir_file, i386/t-slibgcc-cygming to tmake_file. Add i386/t-mingw32 to tmake_file. (x86_64-*-mingw*): Likewise. (ia64*-*-freebsd*): Append to tmake_file. (ia64*-*-linux*): Append to tmake_file. Replace ia64/t-glibc by ia64/t-linux. Replace ia64/t-glibc-libunwind by ia64/t-linux-libunwind if using system libunwind. (ia64*-*-hpux*): Add t-slibgcc, ia64/t-slibgcc-hpux, t-slibgcc-hpux to tmake_file. (ia64-hp-*vms*): Add t-slibgcc-vms to tmake_file. (m32r-*-linux*): Append to tmake_file, add m32r/t-linux. (m32rle-*-linux*): Likewise. (m68k-*-linux*)): Add m68k/t-slibgcc-elf-ver to tmake_file unless sjlj exceptions. (microblaze*-linux*): New case. Append to tmake_file, add t-slibgcc-nolc-override. (powerpc-*-freebsd*): Add t-slibgcc-libgcc to tmake_file. (powerpc-*-linux*, powerpc64-*-linux*): Likewise. Replace rs6000/t-ldbl128 by rs6000/t-linux in tmake_file. (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Add rs6000/t-slibgcc-aix to tmake_file. (rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise. (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise. (sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*) (sh[2346lbe]*-*-linux*, sh-*-netbsdelf*, shl*-*-netbsdelf*) (sh5-*-netbsd*, sh5l*-*-netbsd*, sh64-*-netbsd*) (sh64l*-*-netbsd*): Add t-slibgcc-libgcc to tmake_file for sh*-*-linux*. (sparc-*-linux*): Append to tmake_file for *-leon*. Add sparc/t-linux to tmake_file for non-Leon targets. (sparc64-*-linux*): Add sparc/t-linux to tmake_file. (tic6x-*-uclinux): New case. Add t-slibgcc, t-slibgcc-gld, t-slibgcc-elf-ver to tmake_file. (tic6x-*-*): Add c6x/t-elf to tmake_file. (xtensa*-*-linux*): Append to tmake_file, add xtensa/t-linux. (am33_2.0-*-linux*): Append to tmake_file. (i[34567]86-*-linux*, x86_64-*-linux*, i[34567]86-*-kfreebsd*-gnu) (i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*): Also handle x86_64-*-kfreebsd*-gnu. Add i386/t-linux to tmake_file. From-SVN: r180767
* frvbegin.c: Fix location of unwind-dw2-fde.h header file.Nick Clifton2011-09-293-2/+30
| | | | | | | | | | | | * config/frv/frvbegin.c: Fix location of unwind-dw2-fde.h header file. * config/frv/frvend.c: Likewise. * config/frv/frv.c (frv_function_prologue): Move misplaced CALL_ARG_LOCATION notes back to their proper locations. Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com> From-SVN: r179363
* tm.texi.in (TARGET_RTX_COSTS): Add an opno paramter.Richard Sandiford2011-08-181-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Makefile.in (FPBIT_FUNCS, [...]): Remove.Rainer Orth2011-08-051-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Makefile.in (UNWIND_H): Remove.Rainer Orth2011-08-051-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc: * Makefile.in (UNWIND_H): Remove. (LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Move to ../libgcc/Makefile.in. (LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): Likewise. (LIBUNWINDDEP): Remove. (libgcc-support): Remove LIB2ADDEH, $(srcdir)/emutls.c dependencies. (libgcc.mvars): Remove LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED, LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL. (stmp-int-hdrs): Remove $(UNWIND_H) dependency. Don't copy $(UNWIND_H). * config.gcc (ia64*-*-linux*): Remove with_system_libunwind handling. * configure.ac (GCC_CHECK_UNWIND_GETIPINFO): Remove. * aclocal.m4: Regenerate. * configure: Regenerate. * emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h, unwind-dw2-fde-compat.c, unwind-dw2-fde-glibc.c, unwind-dw2-fde.c, unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h, unwind-pe.h, unwind-sjlj.c, unwind.inc: Move to ../libgcc. * unwind-dw2-fde-darwin.c: Move to ../libgcc/config. * config/arm/libunwind.S, config/arm/pr-support.c, config/arm/unwind-arm.c, config/arm/unwind-arm.h: Move to ../libgcc/config/arm. * config/arm/t-bpabi (UNWIND_H, LIB2ADDEH): Remove. * config/arm/t-symbian (UNWIND_H, LIB2ADDEH): Remove. * config/frv/t-frv ($(T)frvbegin$(objext)): Use $(srcdir)/../libgcc to refer to unwind-dw2-fde.h. ($(T)frvend$(objext)): Likewise. * config/ia64/t-glibc (LIB2ADDEH): Remove. * config/ia64/t-glibc-libunwind: Move to ../libgcc/config/ia64. * config/ia64/fde-glibc.c, config/ia64/fde-vms.c, config/ia64/unwind-ia64.c, config/ia64/unwind-ia64.h: Move to ../libgcc/config/ia64. * config/ia64/t-hpux (LIB2ADDEH): Remove. * config/ia64/t-ia64 (LIB2ADDEH): Remove. * config/ia64/t-vms (LIB2ADDEH): Remove. * config/ia64/vms.h (UNW_IVMS_MODE, MD_UNW_COMPATIBLE_PERSONALITY_P): Remove. * config/picochip/t-picochip (LIB2ADDEH): Remove. * config/rs6000/aix.h (R_LR, MD_FROB_UPDATE_CONTEXT): Remove. * config/rs6000/t-darwin (LIB2ADDEH): Remove. * config/rs6000/darwin-fallback.c: Move to ../libgcc/config/rs6000. * config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): Use $(srcdir)/../libgcc to refer to unwinder sources. * config/spu/t-spu-elf (LIB2ADDEH): Remove. * config/t-darwin (LIB2ADDEH): Remove. * config/t-freebsd (LIB2ADDEH): Remove. * config/t-libunwind (LIB2ADDEH, LIB2ADDEHSTATIC): Remove. * config/t-libunwind-elf: Move to ../libgcc/config. * config/t-linux (LIB2ADDEH): Remove. * config/t-sol2 (LIB2ADDEH): Remove. * config/xtensa/t-xtensa (LIB2ADDEH): Remove. * system.h (MD_FROB_UPDATE_CONTEXT): Poison. gcc/po: * EXCLUDES (unwind-c.c, unwind-dw2-fde-darwin.c) (unwind-dw2-fde-glibc.c, unwind-dw2-fde.c, unwind-dw2-fde.h) (unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h): Remove. libgcc: * Makefile.in (LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): New variables. (LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): New variables. (LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Add $(srcdir)/emutls.c. (install-unwind_h): New target. (all): Depend on it. * config.host (unwind_header): New variable. (*-*-freebsd*): Set tmake_file to t-eh-dw2-dip. (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu, *-*-gnu*): Likewise, also for *-*-kopensolaris*-gnu. (*-*-solaris2*): Add t-eh-dw2-dip to tmake_file. (arm*-*-linux*): Add arm/t-bpabi for arm*-*-linux-*eabi. Set unwind_header. (arm*-*-uclinux*): Add arm/t-bpabi for arm*-*-uclinux*eabi. Set unwind_header. (arm*-*-eabi*, arm*-*-symbianelf*): Add arm/t-bpabi for arm*-*-eabi*. Add arm/t-symbian to tmake_file for arm*-*-symbianelf*. Set unwind_header. (ia64*-*-elf*): Add ia64/t-eh-ia64 to tmake_file. (ia64*-*-freebsd*): Likewise. (ia64*-*-linux*): Add ia64/t-glibc, ia64/t-eh-ia64, t-libunwind to tmake_file. Add t-libunwind-elf, ia64/t-glibc-libunwind unless $with_system_libunwind. (ia64*-*-hpux*): Set tmake_file. (ia64-hp-*vms*): Add ia64/t-eh-ia64 to tmake_file. (picochip-*-*): Set tmake_file. (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Set md_unwind_header. (rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise. (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise. (s390x-ibm-tpf*): Add t-eh-dw2-dip to tmake_file. (xtensa*-*-elf*): Set tmake_file. (xtensa*-*-linux*): Likewise. * configure.ac: Include ../config/unwind_ipinfo.m4. Call GCC_CHECK_UNWIND_GETIPINFO. Link unwind.h to $unwind_header. * configure: Regenerate. * emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h, unwind-dw2-fde-compat.c, unwind-dw2-fde-dip.c, unwind-dw2-fde.c, unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h, unwind-pe.h, unwind-sjlj.c, unwind.inc: New files. * config/unwind-dw2-fde-darwin.c: New file. * config/arm/libunwind.S, config/arm/pr-support.c, config/arm/t-bpabi, config/arm/t-symbian, config/arm/unwind-arm.c, config/arm/unwind-arm.h,: New files. * config/ia64/fde-glibc.c, config/ia64/fde-vms.c, config/ia64/t-eh-ia64, config/ia64/t-glibc, config/ia64/t-glibc-libunwind, config/ia64/t-hpux, config/ia64/t-vms, config/ia64/unwind-ia64.c, config/ia64/unwind-ia64.h: New files. * config/picochip/t-picochip: New file. * config/rs6000/aix-unwind.h, config/rs6000/darwin-fallback.c: New files. * config/rs6000/t-darwin (LIB2ADDEH): Set. * config/s390/t-tpf (LIB2ADDEH): Remove. * config/t-darwin (LIB2ADDEH): Set. * config/t-eh-dw2-dip: New file. * config/t-libunwind, config/t-libunwind-elf: New files. * config/t-sol2 (LIB2ADDEH): Remove. * config/xtensa/t-xtensa: New file. gcc/ada: * gcc-interface/Makefile.in (raise-gcc.o): Search $(srcdir)/../libgcc. libgo: * Makefile.am (AM_CFLAGS): Search $(srcdir)/../libgcc. * Makefile.in: Regenerate. libjava: * configure.ac (GCC_UNWIND_INCLUDE): Rename to LIBGCC_UNWIND_INCLUDE. Point to $(multi_basedir)/./libjava/../libgcc. * configure: Regenerate. * Makefile.am (GCC_UNWIND_INCLUDE): Reflect this. * Makefile.in: Regenerate. libobjc: * Makefile.in (INCLUDES): Search $(srcdir)/$(MULTISRCTOP)../libgcc. libstdc++-v3: * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Point TOPLEVEL_INCLUDES to $(toplevel_srcdir)/libgcc. * configure: Regenerate. From-SVN: r177447
* frv.c (frv_register_move_cost): Define explicitly costs for subclasses of ↵Vladimir Makarov2011-07-201-0/+28
| | | | | | | | | | | GR_REGS. 2011-07-20 Vladimir Makarov <vmakarov@redhat.com> * config/frv/frv.c (frv_register_move_cost): Define explicitly costs for subclasses of GR_REGS. From-SVN: r176507
* re PR middle-end/46500 (target.h includes tm.h)Joern Rennecke2011-06-161-12/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* target-def.h (TARGET_HAVE_NAMED_SECTIONS): Move to common/common-target-def.h.Joseph Myers2011-06-151-25/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if LIBGCC2_GNU_PREFIX ↵Bernd Schmidt2011-05-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | is defined. gcc/ * libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if LIBGCC2_GNU_PREFIX is defined. (__N): New macro. (__powisf2, __powidf2, __powitf2, __powixf2, __bswapsi2, __bswapdi2, __mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3, __divxc3, __divtc3, __udiv_w_sdiv, __clear_cache, __enable_execute_stack, __clz_tab): Define using __N. (__absvsi2, __negvsi2, __addvsi3, __subvsi3, __mulvsi3): Likewise if COMPAT_SIMODE_TRAPPING_ARITHMETIC. * target.def (libfunc_gnu_prefix): New hook. * doc/tm.texi.in (LIBGCC2_GNU_PREFIX): Document. (TARGET_LIBFUNC_GNU_PREFIX): Add hook. * doc/tm.texi: Regenerate. * system.h (LIBGCC2_GNU_PREFIX): Poison. * optabs.c (gen_libfunc): Take the libfunc_gnu_prefix hook into account. (gen_interclass_conv_libfunc, gen_intraclass_conv_libfunc): Likewise. (init_optabs): Likewise for the bswap libfuncs. * tree.c (build_common_builtin_nodes): Likewise for complex multiply and divide. * config/t-slibgcc-elf-ver (SHLIB_MAPFILES): Use $$(libgcc_objdir). * config/t-slibgcc-sld (SHLIB_MAPFILES): Likewise. * libgcc-std.ver: Remove. * Makefile.in (srcdirify): Handle $$(libgcc_objdir). * config/frv/t-linux (SHLIB_MAPFILES): Use $$(libgcc_objdir) for libgcc-std.ver. * config/i386/t-linux (SHLIB_MAPFILES): Likewise. * config/mips/t-slibgcc-irix (SHLIB_MAPFILES): Likewise. * config/rs6000/t-aix43 (SHLIB_MAPFILES): Likewise. * config/rs6000/t-aix52 (SHLIB_MAPFILES): Likewise. * config/sparc/t-linux (SHLIB_MAPFILES): Likewise. * config/i386/t-linux (SHLIB_MAPFILES): Likewise. * config/i386/t-linux (SHLIB_MAPFILES): Likewise. * config/fixed-bit.h (FIXED_OP): Define differently depending on LIBGCC2_GNU_PREFIX. All uses changed not to pass leading underscores. (FIXED_CONVERT_OP, FIXED_CONVERT_OP2): Likewise. libgcc/ * libgcc-std.ver.in: New file. * Makefile.in (LIBGCC_VER_GNU_PREFIX, LIBGCC_VER_SYMBOLS_PREFIX): New variables. (libgcc-std.ver): New rule. * config/t-gnu-prefix: New file. From-SVN: r174187
* frv.h (enum reg_class): Delete EVEN_ACC_REGS, ACC_REGS, FEVEN_REGS, ↵Nick Clifton2011-04-272-38/+10
| | | | | | | | | | | | | | | | | | | | FPR_REGS, EVEN_REGS. * config/frv/frv.h (enum reg_class): Delete EVEN_ACC_REGS, ACC_REGS, FEVEN_REGS, FPR_REGS, EVEN_REGS. (REG_CLASS_NAMES): Likewise. (REG_CLASS_CONTENTS): Likewise. (EVEN_ACC_REGS): New macro. Alias for QUAD_ACC_REGS. (ACC_REGS): New macro. Alias for QUAD_ACC_REGS. (FEVEN_REGS): New macro. Alias for QUAD_ACC_REGS. (FPR_REGS): New macro. Alias for QUAD_ACC_REGS. (EVEN_REGS): New macro. Alias for QUAD_REGS. * config/frv/frv.c (frv_secondary_reload_class): Remove use of duplicate register classes. (frv_class_likely_spileld_p): Likewise. (frv_register_move_cost): Likewise. From-SVN: r173016
* frv.c (frv_init_builtins): Delete `endlink' variable.Nathan Froyd2011-04-211-12/+5
| | | | | | | | * config/frv/frv.c (frv_init_builtins): Delete `endlink' variable. Call builtin_function_type_list instead of builtin_function_type. (UNARY, BINARY, TRINARY, QUAD): Likewise. From-SVN: r172842
* target.def (legitimate_constant_p): New hook.Richard Sandiford2011-04-213-14/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* target.def (cannot_force_const_mem): Add a mode argument.Richard Sandiford2011-04-211-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ * target.def (cannot_force_const_mem): Add a mode argument. * doc/tm.texi.in (TARGET_CANNOT_FORCE_CONST_MEM): Update accordingly. * doc/tm.texi: Regenerate. * hooks.h (hook_bool_mode_rtx_false): Declare. * hooks.c (hook_bool_mode_const_rtx_false): Fix commentary. (hook_bool_mode_const_rtx_true): Likewise. (hook_bool_mode_rtx_false): New function. * reload.c (CONST_POOL_OK_P): Take a mode argument and require it to be non-VOID. Update call to cannot_force_const_mem. (find_reloads): Update accordingly. * varasm.c (force_const_mem): Update call to cannot_force_const_mem. * config/alpha/alpha.c (alpha_cannot_force_const_mem): Add a mode argument. * config/arm/arm-protos.h (arm_cannot_force_const_mem): Likewise. * config/arm/arm.h (LEGITIMATE_CONSTANT_P): Update call. * config/arm/arm.c (arm_cannot_force_const_mem): Add a mode argument. * config/bfin/bfin.c (bfin_cannot_force_const_mem): Likewise. * config/frv/frv.c (frv_cannot_force_const_mem): Likewise. * config/i386/i386.c (ix86_cannot_force_const_mem): Likewise. * config/ia64/ia64.c (ia64_cannot_force_const_mem): Likewise. * config/m68k/m68k.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to... (m68k_cannot_force_const_mem): ...this new function. * config/mips/mips.c (mips_cannot_force_const_mem): Add a mode argument. (mips_const_insns, mips_legitimize_const_move): Update calls. (mips_secondary_reload_class): Likewise. * config/pa/pa.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to... (pa_cannot_force_const_mem): ...this new function. * config/rs6000/rs6000.c (TARGET_CANNOT_FORCE_CONST_MEM): Reefine to... (rs6000_cannot_force_const_mem): ...this new function. * config/s390/s390.c (s390_cannot_force_const_mem): Add a mode argument. * config/sparc/sparc.c (sparc_cannot_force_const_mem): Likewise. * config/xtensa/xtensa.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to... (xtensa_cannot_force_const_mem): ...this new function. From-SVN: r172813
* linux-elf.h (LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER.Joseph Myers2011-04-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/alpha/linux-elf.h (LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER. * config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS. * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER. (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS. * config/bfin/linux.h (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS. * config/bfin/uclinux.h (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS. * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER. (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS. * config/frv/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER. * config/gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to GNU_USER_TARGET_OS_CPP_BUILTINS. * config/i386/gnu-user.h (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS. * config/i386/gnu-user64.h (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS. * config/i386/linux.h (GNU_USER_DYNAMIC_LINKER): Remove. * config/i386/linux64.h (GNU_USER_DYNAMIC_LINKER32, GNU_USER_DYNAMIC_LINKER64): Remove. * config/ia64/linux.h (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS. (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER. * config/kfreebsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to GNU_USER_TARGET_OS_CPP_BUILTINS. * config/knetbsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to GNU_USER_TARGET_OS_CPP_BUILTINS. * config/kopensolaris-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to GNU_USER_TARGET_OS_CPP_BUILTINS. * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to GNU_USER_TARGET_OS_CPP_BUILTINS. (LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER. (LINUX_DYNAMIC_LINKER32): Rename to GNU_USER_DYNAMIC_LINKER32. (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64. * config/lm32/uclinux-elf.h (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS. * config/m32r/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER. (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS. * config/m68k/linux.h (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS. (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER. * config/m68k/uclinux.h (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS. * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS. (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER. * config/mips/linux64.h (LINUX_DYNAMIC_LINKERN32): Rename to GNU_USER_DYNAMIC_LINKERN32. (LINK_SPEC): Change LINUX_DYNAMIC_LINKERN32 to GNU_USER_DYNAMIC_LINKERN32. Change LINUX_DYNAMIC_LINKER64 to GNU_USER_DYNAMIC_LINKER64. Change LINUX_DYNAMIC_LINKER32 to GNU_USER_DYNAMIC_LINKER32. * config/mn10300/linux.h (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS. (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER. * config/moxie/uclinux.h (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS. * config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS. (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER. * config/rs6000/linux64.h (LINUX_DYNAMIC_LINKER32): Rename to GNU_USER_DYNAMIC_LINKER32. (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64. * config/rs6000/sysv4.h (LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER. * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS. (LINK_SPEC): Change LINUX_DYNAMIC_LINKER32 to GNU_USER_DYNAMIC_LINKER32. Change LINUX_DYNAMIC_LINKER64 to GNU_USER_DYNAMIC_LINKER64. * config/sh/linux.h (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS. (SUBTARGET_LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER. * config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS. (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER. * config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS. (LINK_ARCH32_SPEC): Change LINUX_DYNAMIC_LINKER32 to GNU_USER_DYNAMIC_LINKER32. (LINK_ARCH64_SPEC): Change LINUX_DYNAMIC_LINKER64 to GNU_USER_DYNAMIC_LINKER64. (LINK_SPEC): Change LINUX_DYNAMIC_LINKER64 to GNU_USER_DYNAMIC_LINKER64. * config/vax/linux.h (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS. * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS. (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER. From-SVN: r172273
* tm.texi.in (ASM_OUTPUT_BSS): Remove documentation.Anatoly Sokolov2011-04-081-7/+0
| | | | | | | | | | | | | | | | | | | | | | * doc/tm.texi.in (ASM_OUTPUT_BSS): Remove documentation. (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Update documentation. * doc/tm.texi: Regenerate. * system.h (ASM_OUTPUT_BSS): Poison. * varasm.c (asm_output_bss): Remove function. (emit_bss, init_varasm_once): Don't use ASM_OUTPUT_BSS macro. * config/frv/frv.h (BSS_SECTION_ASM_OP): Remove comment. * config/frv/fr30.h (BSS_SECTION_ASM_OP): Likewise. * config/i386/djgpp.h (BSS_SECTION_ASM_OP): Likewise. * config/i386/i386elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Likewise. * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Likewise. * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Likewise. * config/m68k/netbsd-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise. From-SVN: r172166
* re PR target/47109 (m68k-netbsdelf: collect2 build fails with undefined ↵Joseph Myers2011-03-311-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* reload.h (reg_equiv_constant): Move into new structure reg_equivs, define ↵Jeff Law2011-03-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | accessor macro. * reload.h (reg_equiv_constant): Move into new structure reg_equivs, define accessor macro. (reg_equiv_invariant, reg_equiv_memory_loc): Likewise. (reg_equiv_address, reg_equiv_mem, reg_equiv_alt_mem_list): Likewise. (reg_equiv_init): Likewise. (reg_equivs_size): New variable. (reg_equiv_init_size): Remove. (allocate_initial_values): Move prototype to here from.... * integrate.h (allocate_initial_values): Remove prototype. * integrate.c: Include reload.h. (allocate_initial_values): Corresponding changes. * ira.c (find_reg_equiv_invariant_cost): Corresponding changes. (fix_reg_equiv_init, no_equiv): Corresponding changes. (update_equiv_regs): Corresponding changes. (ira): Corresponding changes. * reload.c (push_reg_equiv_alt_mem): Corresponding changes. (push_secondary_reload): Corresponding changes. (push_reload, find_reloads, find_reloads_toplev): Corresponding changes. (make_memloc, find_reloads_address): Corresponding changes. (subst_reg_equivs, subst_indexed_address): Corresponding changes. (find_reloads_address_1): Corresponding changes. (find_reloads_subreg_address, subst_reloads): Corresponding changes. (refers_to_regno_for_reload_p): Corresponding changes. (reg_overlap_mentioned_for_reload_p): Corresponding changes. (refers_to_mem_for_reload_p, find_equiv_reg): Corresponding changes. * reload1.c: Include ggc.h. (grow_reg_equivs): New function. (replace_pseudos_in, reload): Corresponding changes. (calculate_needs_all_insns, alter_regs): Corresponding changes. (eliminate_regs_1, elimination_effects): Corresponding changes. (emit_input_reload_insns, emit_output_reload_insns): Likewise. (delete_output_reload): Likewise. * caller-save.c (mark_referenced_regs): Corresponding changes. * alpha/alpha.c (resolve_reload_operand): Corresponding changes. * frv/predicates.md (frv_load_operand): Corresponding changes. * microblaze/microblaze.c (double_memory_operand): Corresponding changes. * avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Corresponding changes. * xtensa/xtensa.c (fixup_subreg_mem): Corresponding changes. * mn10300/mn10300.c (mn10300_secondary_reload): Corresponding changes. * m68k/m68k.c (emit_move_sequence): Corresponding changes. * arm/arm.c (arm_reload_in_hi, arm_reload_out_hi): Corresponding changes. * pa/pa.c (emit_move_sequence): Corresponding changes. * vax/vax.c (nonindexed_address_p): Corresponding changes. From-SVN: r171731
* [multiple changes]Vladimir Makarov2011-03-291-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2011-03-28 Vladimir Makarov <vmakarov@redhat.com> * ira-color.c (update_left_conflict_sizes_p): Don't assume that conflict object hard regset nodes have intersecting hard reg sets. * regmove.c (regmove_optimize): Move ira_set_pseudo_classes call after regstat_init_n_sets_and_refs. * ira.c: Add more comments at the top. (setup_stack_reg_pressure_class, setup_pressure_classes): Add comments how we compute the register pressure classes. (setup_allocno_and_important_classes): Add more comments. (setup_class_translate_array, reorder_important_classes) (setup_reg_class_relations): Add comments. * ira-emit.c: Add 2011 to the Copyright line. Add comments at the start of the file. * ira-color.c: Add 2011 to the Copyright line. (assign_hard_reg): Add more comments. (improve_allocation): Ditto. * ira-costs.c: Add 2011 to the Copyright line. (setup_cost_classes, setup_regno_cost_classes_by_aclass): Add more comments. (setup_regno_cost_classes_by_mode): Ditto. Initial patches from ira-improv branch: 2010-08-13 Vladimir Makarov <vmakarov@redhat.com> * ira-build.c: (ira_create_object): Remove initialization of OBJECT_PROFITABLE_HARD_REGS. Initialize OBJECT_ADD_DATA. (ira_create_allocno): Remove initialization of ALLOCNO_MEM_OPTIMIZED_DEST, ALLOCNO_MEM_OPTIMIZED_DEST_P, ALLOCNO_SOMEWHERE_RENAMED_P, ALLOCNO_CHILD_RENAMED_P, ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P, ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO, ALLOCNO_FIRST_COALESCED_ALLOCNO, ALLOCNO_NEXT_COALESCED_ALLOCNO. Initialize ALLOCNO_ADD_DATA. (copy_info_to_removed_store_destinations): Use ALLOCNO_EMIT_DATA and allocno_emit_reg instead of ALLOCNO_MEM_OPTIMIZED_DEST_P and ALLOCNO_REG. (ira_flattening): Ditto. Use ALLOCNO_EMIT_DATA instead of ALLOCNO_MEM_OPTIMIZED_DEST and ALLOCNO_SOMEWHERE_RENAMED_P. * ira.c (ira_reallocate): Remove. (setup_pressure_classes): Call ira_init_register_move_cost_if_necessary. Use ira_register_move_cost instead of ira_get_register_move_cost. (setup_allocno_assignment_flags): Use ALLOCNO_EMIT_DATA. (ira): Call ira_initiate_emit_data and ira_finish_emit_data. * ira-color.c: Use ALLOCNO_COLOR_DATA instead of ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P, ALLOCNO_AVAILABLE_REGS_NUM, ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO. ALLOCNO_TEMP. Use OBJECT_COLOR_DATA instead of OBJECT_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE, OBJECT_HARD_REGS_SUBNODES_START, OBJECT_HARD_REGS_SUBNODES_NUM. Fix formatting. (object_hard_regs_t, object_hard_regs_node_t): Move from ira-int.h. (struct object_hard_regs, struct object_hard_regs_node): Ditto. (struct allocno_color_data): New. (allocno_color_data_t): New typedef. (allocno_color_data): New definition. (ALLOCNO_COLOR_DATA): New macro. (struct object_color_data): New. (object_color_data_t): New typedef. (object_color_data): New definition. (OBJECT_COLOR_DATA): New macro. (update_copy_costs, calculate_allocno_spill_cost): Call ira_init_register_move_cost_if_necessary. Use ira_register_move_cost instead of ira_get_register_move_cost. (move_spill_restore, update_curr_costs): Ditto. (allocno_spill_priority): Make it inline. (color_pass): Allocate and free allocno_color_dat and object_color_data. (struct coalesce_data, coalesce_data_t): New. (allocno_coalesce_data): New definition. (ALLOCNO_COALESCE_DATA): New macro. (merge_allocnos, coalesced_allocno_conflict_p): Use ALLOCNO_COALESCED_DATA instead of ALLOCNO_FIRST_COALESCED_ALLOCNO, ALLOCNO_NEXT_COALESCED_ALLOCNO, ALLOCNO_TEMP. (coalesce_allocnos): Ditto. (setup_coalesced_allocno_costs_and_nums): Ditto. (collect_spilled_coalesced_allocnos): Ditto. (slot_coalesced_allocno_live_ranges_intersect_p): Ditto. (setup_slot_coalesced_allocno_live_ranges): Ditto. (coalesce_spill_slots): Ditto. (ira_sort_regnos_for_alter_reg): Ditto. Allocate, initialize and free allocno_coalesce_data. * ira-conflicts.c: Fix formatting. (process_regs_for_copy): Call ira_init_register_move_cost_if_necessary. Use ira_register_move_cost instead of ira_get_register_move_cost. (build_object_conflicts): Optimize. * ira-costs.c (record_reg_classes): Optimize. Call ira_init_register_move_cost_if_necessary. Use ira_register_move_cost, ira_may_move_in_cost, and ira_may_move_out_cost instead of ira_get_register_move_cost and ira_get_may_move_cost. (record_address_regs): Ditto. (scan_one_insn): Optimize. (find_costs_and_classes): Optimize. (process_bb_node_for_hard_reg_moves): Call ira_init_register_move_cost_if_necessary. Use ira_register_move_cost instead of ira_get_register_move_cost. * ira-emit.c: Use allocno_emit_reg, ALLOCNO_EMIT_DATA instead of ALLOCNO_REG, ALLOCNO_CHILD_RENAMED_P, ALLOCNO_MEM_OPTIMIZED_DEST, ALLOCNO_MEM_OPTIMIZED_DEST_P, and ALLOCNO_SOMEWHERE_RENAMED_P. (ira_allocno_emit_data, void_p, new_allocno_emit_data_vec): New definitions. (ira_initiate_emit_data, ira_finish_emit_data) (create_new_allocno): New functions. (modify_move_list): Call create_new_alloc instead of ira_create_allocno. (emit_move_list): Call ira_init_register_move_cost_if_necessary. Use ira_register_move_cost instead of ira_get_register_move_cost. * ira-int.h: Fix some comments. (object_hard_regs_t, object_hard_regs_node_t): Move to ira-color.c. (struct object_hard_regs, struct object_hard_regs_node): Ditto. (struct ira_object): Remove profitable_hard_regs, hard_regs_node, hard_regs_subnodes_start, hard_regs_subnodes_num. Add new member add_data. (struct ira_allocno): Make mode and aclass a bitfield. Move other bitfield after mode. Make hard_regno a short int. Make hard_regno short. Remove first_coalesced_allocno and next_coalesced_allocno. Move mem_optimized_dest_p, somewhere_renamed_p, child_renamed_p, reg, and mem_optimized_dest into struct ira_emit_data. Remove in_graph_p, may_be_spilled_p, available_regs_num, next_bucket_allocno, prev_bucket_allocno, temp, colorable_p. Add new member add_data. (ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P): Remove. (ALLOCNO_COLORABLE_P, ALLOCNO_AVAILABLE_REGS_NUM): Remove. (ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO): Remove. (ALLOCNO_TEMP, ALLOCNO_FIRST_COALESCED_ALLOCNO): Remove. (ALLOCNO_NEXT_COALESCED_ALLOCNO): Remove. (ALLOCNO_ADD_DATA): New macro. (ira_emit_data_t): New typedef. (struct ira_emit_data): New. Move mem_optimized_dest_p, somewhere_renamed_p, child_renamed_p, reg, mem_optimized_dest from struct ira_allocno. (ALLOCNO_EMIT_DATA): New macro. (ira_allocno_emit_data, allocno_emit_reg): New. (ALLOCNO_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE): Remove. (OBJECT_HARD_REGS_SUBNODES_STAR, OBJECT_HARD_REGS_SUBNODES_NUM): Remove. (OBJECT_ADD_DATA): New macro. (ira_reallocate): Remove. (ira_initiate_emit_data, ira_finish_emit_data): New. (ira_get_register_move_cost, ira_get_may_move_cost): Remove. (ira_init_register_move_cost_if_necessary): New. (ira_object_conflict_iter_next): Merge into ira_object_conflict_iter_cond. (FOR_EACH_OBJECT_CONFLICT): Don't use ira_object_conflict_iter_next. * ira-live.c: (process_single_reg_class_operands): Call ira_init_register_move_cost_if_necessary. Use ira_register_move_cost instead of ira_get_register_move_cost. 2010-08-13 Vladimir Makarov <vmakarov@redhat.com> * ira-int.h (struct target_ira_int): Remove x_cost_classes. * ira-costs.c: Fix formatting. (cost_classes, cost_classes_num): Remove. (struct cost_classes, cost_classes_t, const_cost_classes_t): New. (regno_cost_classes, cost_classes_hash, cost_classes_eq): New. (cost_classes_del, cost_classes_htab): New. (cost_classes_aclass_cache, cost_classes_mode_cache): New. (initiate_regno_cost_classes, setup_cost_classes): New. (setup_regno_cost_classes_by_aclass): New. (setup_regno_cost_classes_by_mode, finish_regno_cost_classes): New. (record_reg_classes): Use regno_cost_classes instead of cost_classes. Move checking opposite operand up. (record_address_regs): Use regno_cost_classes instead of cost_classes. (scan_one_insn): Ditto. Use always general register. (print_allocno_costs): Use regno_cost_classes instead of cost_classes. (print_pseudo_costs): Ditto. Use Reg_N_REFS. (find_costs_and_classes): Set up cost classes for each registers. Use also their mode for this. Use regno_cost_classes instead of cost_classes. (setup_allocno_class_and_costs): Use regno_cost_classes instead of cost_classes. (free_ira_costs, ira_init_costs): Don't use cost_classes. (ira_costs, ira_set_pseudo_classes): Call initiate_regno_cost_classes and finish_regno_cost_classes. 2010-10-04 Vladimir Makarov <vmakarov@redhat.com> * target-def.h (TARGET_IRA_COVER_CLASSES): Remove. * target.def (ira_cover_classes): Remove. * doc/tm.texi: Remove TARGET_IRA_COVER_CLASSES and IRA_COVER_CLASSES. * doc/tm.texi.in: Ditto. * ira-conflicts.c: Remove mentioning cover classes from the file. Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Use ALLOCNO_COVER_CLASS_COST instead of ALLOCNO_CLASS_COST. Fix formatting. * targhooks.c (default_ira_cover_classes): Remove. * targhooks.h (default_ira_cover_classes): Ditto. * haifa-sched.c: Remove mentioning cover classes from the file. Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use ira_pressure_classes and ira_pressure_classes_num instead of ira_reg_class_cover_size and ira_reg_class_cover. Use sched_regno_pressure_class instead of sched_regno_cover_class. (mark_regno_birth_or_death, setup_insn_reg_pressure_info): Use ira_reg_class_max_nregs instead of ira_reg_class_nregs. * ira-int.h: Add 2010 to Copyright. Remove mentioning cover classes from the file. (object_hard_regs_t, object_hard_regs_node_t): New typedefs. (struct object_hard_regs, struct object_hard_regs_node): New. (struct ira_object): New members profitable_hard_regs, hard_regs_node, hard_regs_subnodes_start, hard_regs_subnodes_num. (struct ira_allocno): Rename cover_class to aclass. Rename cover_class_cost and updated_cover_class_cost to class_cost and updated_class_cost. Remove splay_removed_p and left_conflict_size. Add new members colorable_p. (ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICTS_SIZE): Remove. (ALLOCNO_COLORABLE_P): New macro. (ALLOCNO_COVER_CLASS): Rename to ALLOCNO_CLASS. (ALLOCNO_COVER_CLASS_COST, ALLOCNO_UPDATED_COVER_CLASS_COST): Rename to ALLOCNO_CLASS_COST and ALLOCNO_UPDATED__CLASS_COST. (OBJECT_...): Rename parameter C to O. (OBJECT_PROFITABLE_HARD_REGS): New macro. (OBJECT_HARD_REGS_NODE, OBJECT_HARD_REGS_SUBNODES_START) (OBJECT_HARD_REGS_SUBNODES_NUM): New macros. (struct target_ira_int): New members x_ira_max_memory_move_cost, x_ira_max_register_move_cost, x_ira_max_may_move_in_cost, x_ira_max_may_move_out_cost, x_ira_reg_allocno_class_p, x_ira_reg_pressure_class_p, x_ira_important_class_nums, x_ira_reg_class_superunion. Rename x_prohibited_class_mode_reg to x_ira_prohibited_class_mode_reg. Rename x_ira_reg_class_union to x_ira_reg_class_subunion. (ira_max_memory_move_cost, ira_max_register_move_cost) (ira_max_may_move_in_cost, ira_max_may_move_out_cost) (ira_reg_allocno_class_p, ira_reg_pressure_class_p) (ira_important_class_nums, ira_reg_class_superunion): New macros. (prohibited_class_mode_regs): Rename to ira_prohibited_class_mode_regs. (ira_reg_class_union): Rename to ira_reg_class_subunion. (ira_debug_class_cover): Rename to ira_debug_allocno_classes. (ira_set_allocno_cover_class): Rename to ira_set_allocno_class. (ira_tune_allocno_costs_and_cover_classes): Rename to ira_tune_allocno_costs. (ira_debug_hard_regs_forest): New. (ira_object_conflict_iter_init, ira_object_conflict_iter_cond) (ira_object_conflict_iter_next): Fix comments. (ira_hard_reg_set_intersection_p, hard_reg_set_size): New functions. (ira_allocate_and_set_costs, ira_allocate_and_copy_costs): Rename cover_class to aclass. (ira_allocate_and_accumulate_costs): Ditto. (ira_allocate_and_set_or_copy_costs): Ditto. * opts.c (decode_options): Remove ira_cover_class check. * ira-color.c: Remove mentioning cover classes from the file. Use ALLOCNO_CLASS, ALLOCNO_CLASS_COST, and ALLOCNO_UPDATED_CLASS_COST instead of ALLOCNO_COVER_CLASS, ALLOCNO_COVER_CLASS_COST, and ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting. (splay-tree.h): Remove include. (allocno_coalesced_p, processed_coalesced_allocno_bitmap): Move before copy_freq_compare_func. (allocnos_for_spilling, removed_splay_allocno_vec): Remove. (object_hard_regs_vec, object_hard_regs_htab, node_check_tick): New definitions. (hard_regs_roots, hard_regs_node_vec): Ditto. (object_hard_regs_hash, object_hard_regs_eq, find_hard_regs): Ditto. (insert_hard_regs, init_object_hard_regs, add_object_hard_regs): Ditto. (finish_object_hard_regs, object_hard_regs_compare): Ditto. (create_new_object_hard_regs_node): Ditto. (add_new_object_hard_regs_node_to_forest): Ditto. (add_object_hard_regs_to_forest, collect_object_hard_regs_cover): Ditto. (setup_object_hard_regs_nodes_parent, first_common_ancestor_node): Ditto. (print_hard_reg_set, print_hard_regs_subforest): Ditto. (print_hard_regs_forest, ira_debug_hard_regs_forest): Ditto. (remove_unused_object_hard_regs_nodes): Ditto. (enumerate_object_hard_regs_nodes): Ditto. (object_hard_regs_nodes_num, object_hard_regs_nodes): Ditto. (object_hard_regs_subnode_t): Ditto. (struct object_hard_regs_subnode): Ditto. (object_hard_regs_subnodes, object_hard_regs_subnode_index): Ditto. (setup_object_hard_regs_subnode_index): Ditto. (get_object_hard_regs_subnodes_num): Ditto. (form_object_hard_regs_nodes_forest): Ditto. (finish_object_hard_regs_nodes_tree): Ditto. (finish_object_hard_regs_nodes_forest): Ditto. (allocnos_have_intersected_live_ranges_p): Rename to allocnos_conflict_by_live_ranges_p. Move before copy_freq_compare_func. (pseudos_have_intersected_live_ranges_p): Rename to conflict_by_live_ranges_p. Move before copy_freq_compare_func. (setup_left_conflict_sizes_p, update_left_conflict_sizes_p): Ditto. (empty_profitable_hard_regs, setup_profitable_hard_regs): Ditto. (update_copy_costs): Remove assert. Skip cost update if the hard reg does not belong the class. (assign_hard_reg): Process only profitable hard regs. (uncolorable_allocnos_num): Make it scalar. (allocno_spill_priority): Use ALLOCNO_EXCESS_PRESSURE_POINTS_NUM and ira_reg_class_max_nregs instead of ALLOCNO_LEFT_CONFLICTS_SIZE and ira_reg_class_max_nregs. (bucket_allocno_compare_func): Check frequency first. (sort_bucket): Add compare function as a parameter. (add_allocno_to_ordered_bucket): Assume no coalesced allocnos. (uncolorable_allocnos_splay_tree, USE_SPLAY_P): Remove. (push_allocno_to_stack): Rewrite for checking new allocno colorability. (remove_allocno_from_bucket_and_push): Print cost too. Remove assert. (push_only_colorable): Pass new parameter to sort_bucket. (push_allocno_to_spill): Remove. (allocno_spill_priority_compare): Make it inline and rewrite. (splay_tree_allocate, splay_tree_free): Remove. (allocno_spill_sort_compare): New function. (push_allocnos_to_stack): Sort allocnos for spilling once. Don't build and use splay tree. Choose first allocno in uncolorable allocno bucket to spill. Remove setting spill cost. (all_conflicting_hard_regs): Remove. (setup_allocno_available_regs_num): Check only profitable hard regs. Print info about hard regs nodes. (setup_allocno_left_conflicts_size): Remove. (put_allocno_into_bucket): Don't call setup_allocno_left_conflicts_size. Use setup_left_conflict_sizes_p. (improve_allocation): New. (color_allocnos): Call setup_profitable_hard_regs, form_object_hard_regs_nodes_forest, improve_allocation, finish_object_hard_regs_nodes_forest. Setup spill cost. (print_loop_title): Use pressure classes. (color_allocnso): Ditto. (do_coloring): Remove allocation and freeing splay_tree_node_pool and allocnos_for_spilling. (ira_sort_regnos_for_alter_reg): Don't setup members {first,next}_coalesced_allocno. (color): Remove allocating and freeing removed_splay_allocno_vec. (fast_allocation): Use ira_prohibited_class_mode_regs instead of prohibited_class_mode_regs. * ira-lives.c: Remove mentioning cover classes from the file. Fix formatting. (update_allocno_pressure_excess_length): Use pressure classes. (inc_register_pressure, dec_register_pressure): Check for pressure class. (mark_pseudo_regno_live, mark_pseudo_regno_subword_live): Use pressure class. Use ira_reg_class_nregs instead of ira_reg_class_max_nregs. (mark_pseudo_regno_dead, mark_pseudo_regno_subword_dead): Ditto. (mark_hard_reg_live, mark_hard_reg_dead): Use pressure class. (single_reg_class): Use ira_reg_class_nregs instead of ira_reg_class_max_nregs. (process_bb_node_lives): Use pressure classes. * ira-emit.c: Remove mentioning cover classes from the file. Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Fix formatting. (change_loop): Use pressure classes. (modify_move_list): Call ira_set_allocno_class instead of ira_set_allocno_cover_class. * ira-build.c: Remove mentioning cover classes from the file. Use ALLOCNO_CLASS and ALLOCNO_CLASS_COST instead of ALLOCNO_COVER_CLASS and ALLOCNO_COVER_CLASS_COST. Use ALLOCNO_UPDATED_CLASS_COST instead of ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting. (ira_create_object): Initiate OBJECT_PROFITABLE_HARD_REGS. (ira_create_allocno): Remove initialization of ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICT_SIZE. Initialize ALLOCNO_COLORABLE_P. (ira_set_allocno_cover_class): Rename to ira_set_allocno_class. Update conflict regs for the objects. (create_cap_allocno): Remove assert. Don't propagate ALLOCNO_AVAILABLE_REGS_NUM. (ira_free_allocno_costs): New function. (finish_allocno): Change a part of code into call of ira_free_allocno_costs. (low_pressure_loop_node_p): Use pressure classes. (object_range_compare_func): Don't compare classes. (setup_min_max_conflict_allocno_ids): Ditto. * loop-invariant.c: Remove mentioning cover classes from the file. Use ira_pressure_classes and ira_pressure_classes_num instead of ira_reg_class_cover_size and ira_reg_class_cover. Fix formatting. (get_cover_class_and_nregs): Rename to get_cover_pressure_and_nregs. Use ira_reg_class_max_nregs instead of ira_reg_class_nregs. Use reg_allocno_class instead of reg_cover_class. (get_inv_cost): Use instead ira_stack_reg_pressure_class of STACK_REG_COVER_CLASS. (get_regno_cover_class): Rename to get_regno_pressure_class. (move_loop_invariants): Initialize and finalize regstat. * ira.c: Remove mentioning cover classes from the file. Add comments about coloring without cover classes. Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Fix formatting. (alloc_reg_class_subclasses, setup_reg_subclasses): Move it before setup_class_subset_and_memory_move_costs. (setup_stack_reg_pressure_class, setup_pressure_classes): New. (setup_cover_and_important_classes): Rename to setup_allocno_and_important_classes. (setup_class_translate_array): New. (setup_class_translate): Call it for allocno and pressure classes. (cover_class_order): Rename to allocno_class_order. (comp_reg_classes_func): Use ira_allocno_class_translate instead of ira_class_translate. (reorder_important_classes): Set up ira_important_class_nums. (setup_reg_class_relations): Set up ira_reg_class_superunion. (print_class_cover): Rename to print_classes. Add parameter. (ira_debug_class_cover): Rename to ira_debug_allocno_classes. Print pressure classes too. (find_reg_class_closure): Rename to find_reg_classes. Don't call setup_reg_subclasses. (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class. (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs. (setup_prohibited_class_mode_regs): Use ira_prohibited_class_mode_regs instead of prohibited_class_mode_regs. (clarify_prohibited_class_mode_regs): New function. (ira_init_register_move_cost): Set up ira_max_register_move_cost, ira_max_may_move_in_cost, and ira_max_may_move_out_cost. (ira_init_once): Initialize them. (free_register_move_costs): Process them. (ira_init): Move calls of find_reg_classes and setup_hard_regno_aclass after setup_prohibited_class_mode_regs. Call clarify_prohibited_class_mode_regs. (ira_no_alloc_reg): Remove. (too_high_register_pressure_p): Use pressure classes. * sched-deps.c: Remove mentioning cover classes from the file. Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use ira_pressure_classes and ira_pressure_classes_num instead of ira_reg_class_cover_size and ira_reg_class_cover. (mark_insn_hard_regno_birth, mark_hard_regno_death): Use sched_regno_pressure_class instead of sched_regno_cover_class. (mark_insn_pseudo_birth, mark_pseudo_death): Ditto. Use ira_reg_class_max_nregs instead of ira_reg_class_nregs. * ira.h: Add 2010 to Copyright. (ira_no_alloc_reg): Remove external. (struct target_ira): Rename x_ira_hard_regno_cover_class, x_ira_reg_class_cover_size, x_ira_reg_class_cover, and x_ira_class_translate to x_ira_hard_regno_allocno_class, x_ira_allocno_classes_num, x_ira_allocno_classes, and x_ira_allocno_class_translate. Add x_ira_pressure_classes_num, x_ira_pressure_classes, x_ira_pressure_class_translate, and x_ira_stack_reg_pressure_class. Rename x_ira_reg_class_nregs to x_ira_reg_class_max_nregs. Add x_ira_reg_class_min_nregs and x_ira_no_alloc_regs. (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class. (ira_reg_class_cover_size, ira_reg_class_cover): Rename to ira_allocno_classes_num and ira_allocno_classes. (ira_class_translate): Rename to ira_allocno_class_translate. (ira_pressure_classes_num, ira_pressure_classes): New definitions. (ira_pressure_class_translate, ira_stack_reg_pressure_class): Ditto. (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs. (ira_reg_class_min_nregs, ira_stack_reg_pressure_class): New (ira_no_alloc_regs): New. * ira-costs.c: Add 2010 to Copyright. Remove mentioning cover classes from the file. Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Use ALLOCNO_CLASS_COST instead of ALLOCNO_COVER_CLASS_COST. (regno_cover_class): Rename to regno_aclass. (record_reg_classes): Use ira_reg_class_subunion instead of ira_reg_class_union. (record_address_regs): Check overflow. (scan_one_insn): Ditto. (print_allocno_costs): Print total mem cost fore regional allocation. (print_pseudo_costs): Use REG_N_REFS. (find_costs_and_classes): Use classes intersected with them on the 1st pass. Check overflow. Use ira_reg_class_subunion instead of ira_reg_class_union. Use ira_allocno_class_translate and regno_aclass instead of ira_class_translate and regno_cover_class. Modify code for finding regno_aclass. Setup preferred classes for the next pass. (setup_allocno_cover_class_and_costs): Rename to setup_allocno_class_and_costs. Use regno_aclass instead of regno_cover_class. Use ira_set_allocno_class instead of ira_set_allocno_cover_class. (init_costs, finish_costs): Use regno_aclass instead of regno_cover_class. (ira_costs): Use setup_allocno_class_and_costs instead of setup_allocno_cover_class_and_costs. (ira_tune_allocno_costs_and_cover_classes): Rename to ira_tune_allocno_costs. Check overflow. Skip conflict hard regs by processing objects. Use ira_reg_class_max_nregs instead of ira_reg_class_nregs. * rtl.h (reg_cover_class): Rename to reg_allocno_class. * sched-int.h: Remove mentioning cover classes from the file. (sched_regno_cover_class): Rename to sched_regno_pressure_class. * reginfo.c: Add 2010 to Copyright. Remove mentioning cover classes from the file. (struct reg_pref): Rename coverclass into allocnoclass. (reg_cover_class): Rename to reg_allocno_class. * Makefile.in (ira-color.o): Remove SPLAY_TREE_H from dependencies. * config/alpha/alpha.h (IRA_COVER_CLASSES): Remove. * config/arm/arm.h (IRA_COVER_CLASSES): Ditto. * config/avr/avr.h (IRA_COVER_CLASSES): Ditto. * config/bfin/bfin.h (IRA_COVER_CLASSES): Ditto. * config/cris/cris.h (IRA_COVER_CLASSES): Ditto. * config/fr30/fr30.h (IRA_COVER_CLASSES): Ditto. * config/frv/frv.h (IRA_COVER_CLASSES): Ditto. * config/h8300/h8300.h (IRA_COVER_CLASSES): Ditto. * config/i386/i386.h (STACK_REG_COVER_CLASS): Ditto. * config/i386/i386.c (TARGET_IRA_COVER_CLASSES) (i386_ira_cover_classes): Ditto. * config/ia64/ia64.h (IRA_COVER_CLASSES): Ditto. * config/iq2000/iq2000.h (IRA_COVER_CLASSES): Ditto. * config/m32r/m32r.h (IRA_COVER_CLASSES): Ditto. * config/m68k/m68k.h (IRA_COVER_CLASSES): Ditto. * config/mcore/mcore.h (IRA_COVER_CLASSES): Ditto. * config/mep/mep.h (IRA_COVER_CLASSES): Ditto. * config/mips/mips.c (TARGET_IRA_COVER_CLASSES) (mips_ira_cover_classes): Ditto. * config/mn10300/mn10300.h (IRA_COVER_CLASSES): Ditto. * config/moxie/moxie.h (IRA_COVER_CLASSES): Ditto. * config/pa/pa64-regs.h (IRA_COVER_CLASSES): Ditto. * config/pa/pa32-regs.h (IRA_COVER_CLASSES): Ditto. * config/picochip/picochip.h (IRA_COVER_CLASSES): Ditto. * config/rs6000/rs6000.h (IRA_COVER_CLASSES_PRE_VSX) (IRA_COVER_CLASSES_VSX): Ditto. * config/rs6000/rs6000.c (TARGET_IRA_COVER_CLASSES) (rs6000_ira_cover_classes): Ditto. * config/rx/rx.h (IRA_COVER_CLASSES): Ditto. * config/s390/s390.h (IRA_COVER_CLASSES): Ditto. * config/score/score.h (IRA_COVER_CLASSES): Ditto. * config/sh/sh.h (IRA_COVER_CLASSES): Ditto. * config/sparc/sparc.h (IRA_COVER_CLASSES): Ditto. * config/spu/spu.h (IRA_COVER_CLASSES): Ditto. * config/stormy16/stormy16.h (IRA_COVER_CLASSES): Ditto. * config/v850/v850.h (IRA_COVER_CLASSES): Ditto. * config/vax/vax.h (IRA_COVER_CLASSES): Ditto. * config/xtensa/xtensa.h (IRA_COVER_CLASSES): Ditto. From-SVN: r171649
* re PR bootstrap/48307 (Bootstrap failure)Vladimir Makarov2011-03-281-0/+15
| | | | | | | | | 2011-03-27 Vladimir Makarov <vmakarov@redhat.com> PR bootstrap/48307 Revert the previous patch. From-SVN: r171589
* [multiple changes]Vladimir Makarov2011-03-271-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2011-03-27 Vladimir Makarov <vmakarov@redhat.com> * regmove.c (regmove_optimize): Move ira_set_pseudo_classes call after regstat_init_n_sets_and_refs. * ira.c: Add more comments at the top. (setup_stack_reg_pressure_class, setup_pressure_classes): Add comments how we compute the register pressure classes. (setup_allocno_and_important_classes): Add more comments. (setup_class_translate_array, reorder_important_classes) (setup_reg_class_relations): Add comments. * ira-emit.c: Add 2011 to the Copyright line. Add comments at the start of the file. * ira-color.c: Add 2011 to the Copyright line. (assign_hard_reg): Add more comments. (improve_allocation): Ditto. * ira-costs.c: Add 2011 to the Copyright line. (setup_cost_classes, setup_regno_cost_classes_by_aclass): Add more comments. (setup_regno_cost_classes_by_mode): Ditto. Initial patches from ira-improv branch: 2010-08-13 Vladimir Makarov <vmakarov@redhat.com> * ira-build.c: (ira_create_object): Remove initialization of OBJECT_PROFITABLE_HARD_REGS. Initialize OBJECT_ADD_DATA. (ira_create_allocno): Remove initialization of ALLOCNO_MEM_OPTIMIZED_DEST, ALLOCNO_MEM_OPTIMIZED_DEST_P, ALLOCNO_SOMEWHERE_RENAMED_P, ALLOCNO_CHILD_RENAMED_P, ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P, ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO, ALLOCNO_FIRST_COALESCED_ALLOCNO, ALLOCNO_NEXT_COALESCED_ALLOCNO. Initialize ALLOCNO_ADD_DATA. (copy_info_to_removed_store_destinations): Use ALLOCNO_EMIT_DATA and allocno_emit_reg instead of ALLOCNO_MEM_OPTIMIZED_DEST_P and ALLOCNO_REG. (ira_flattening): Ditto. Use ALLOCNO_EMIT_DATA instead of ALLOCNO_MEM_OPTIMIZED_DEST and ALLOCNO_SOMEWHERE_RENAMED_P. * ira.c (ira_reallocate): Remove. (setup_pressure_classes): Call ira_init_register_move_cost_if_necessary. Use ira_register_move_cost instead of ira_get_register_move_cost. (setup_allocno_assignment_flags): Use ALLOCNO_EMIT_DATA. (ira): Call ira_initiate_emit_data and ira_finish_emit_data. * ira-color.c: Use ALLOCNO_COLOR_DATA instead of ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P, ALLOCNO_AVAILABLE_REGS_NUM, ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO. ALLOCNO_TEMP. Use OBJECT_COLOR_DATA instead of OBJECT_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE, OBJECT_HARD_REGS_SUBNODES_START, OBJECT_HARD_REGS_SUBNODES_NUM. Fix formatting. (object_hard_regs_t, object_hard_regs_node_t): Move from ira-int.h. (struct object_hard_regs, struct object_hard_regs_node): Ditto. (struct allocno_color_data): New. (allocno_color_data_t): New typedef. (allocno_color_data): New definition. (ALLOCNO_COLOR_DATA): New macro. (struct object_color_data): New. (object_color_data_t): New typedef. (object_color_data): New definition. (OBJECT_COLOR_DATA): New macro. (update_copy_costs, calculate_allocno_spill_cost): Call ira_init_register_move_cost_if_necessary. Use ira_register_move_cost instead of ira_get_register_move_cost. (move_spill_restore, update_curr_costs): Ditto. (allocno_spill_priority): Make it inline. (color_pass): Allocate and free allocno_color_dat and object_color_data. (struct coalesce_data, coalesce_data_t): New. (allocno_coalesce_data): New definition. (ALLOCNO_COALESCE_DATA): New macro. (merge_allocnos, coalesced_allocno_conflict_p): Use ALLOCNO_COALESCED_DATA instead of ALLOCNO_FIRST_COALESCED_ALLOCNO, ALLOCNO_NEXT_COALESCED_ALLOCNO, ALLOCNO_TEMP. (coalesce_allocnos): Ditto. (setup_coalesced_allocno_costs_and_nums): Ditto. (collect_spilled_coalesced_allocnos): Ditto. (slot_coalesced_allocno_live_ranges_intersect_p): Ditto. (setup_slot_coalesced_allocno_live_ranges): Ditto. (coalesce_spill_slots): Ditto. (ira_sort_regnos_for_alter_reg): Ditto. Allocate, initialize and free allocno_coalesce_data. * ira-conflicts.c: Fix formatting. (process_regs_for_copy): Call ira_init_register_move_cost_if_necessary. Use ira_register_move_cost instead of ira_get_register_move_cost. (build_object_conflicts): Optimize. * ira-costs.c (record_reg_classes): Optimize. Call ira_init_register_move_cost_if_necessary. Use ira_register_move_cost, ira_may_move_in_cost, and ira_may_move_out_cost instead of ira_get_register_move_cost and ira_get_may_move_cost. (record_address_regs): Ditto. (scan_one_insn): Optimize. (find_costs_and_classes): Optimize. (process_bb_node_for_hard_reg_moves): Call ira_init_register_move_cost_if_necessary. Use ira_register_move_cost instead of ira_get_register_move_cost. * ira-emit.c: Use allocno_emit_reg, ALLOCNO_EMIT_DATA instead of ALLOCNO_REG, ALLOCNO_CHILD_RENAMED_P, ALLOCNO_MEM_OPTIMIZED_DEST, ALLOCNO_MEM_OPTIMIZED_DEST_P, and ALLOCNO_SOMEWHERE_RENAMED_P. (ira_allocno_emit_data, void_p, new_allocno_emit_data_vec): New definitions. (ira_initiate_emit_data, ira_finish_emit_data) (create_new_allocno): New functions. (modify_move_list): Call create_new_alloc instead of ira_create_allocno. (emit_move_list): Call ira_init_register_move_cost_if_necessary. Use ira_register_move_cost instead of ira_get_register_move_cost. * ira-int.h: Fix some comments. (object_hard_regs_t, object_hard_regs_node_t): Move to ira-color.c. (struct object_hard_regs, struct object_hard_regs_node): Ditto. (struct ira_object): Remove profitable_hard_regs, hard_regs_node, hard_regs_subnodes_start, hard_regs_subnodes_num. Add new member add_data. (struct ira_allocno): Make mode and aclass a bitfield. Move other bitfield after mode. Make hard_regno a short int. Make hard_regno short. Remove first_coalesced_allocno and next_coalesced_allocno. Move mem_optimized_dest_p, somewhere_renamed_p, child_renamed_p, reg, and mem_optimized_dest into struct ira_emit_data. Remove in_graph_p, may_be_spilled_p, available_regs_num, next_bucket_allocno, prev_bucket_allocno, temp, colorable_p. Add new member add_data. (ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P): Remove. (ALLOCNO_COLORABLE_P, ALLOCNO_AVAILABLE_REGS_NUM): Remove. (ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO): Remove. (ALLOCNO_TEMP, ALLOCNO_FIRST_COALESCED_ALLOCNO): Remove. (ALLOCNO_NEXT_COALESCED_ALLOCNO): Remove. (ALLOCNO_ADD_DATA): New macro. (ira_emit_data_t): New typedef. (struct ira_emit_data): New. Move mem_optimized_dest_p, somewhere_renamed_p, child_renamed_p, reg, mem_optimized_dest from struct ira_allocno. (ALLOCNO_EMIT_DATA): New macro. (ira_allocno_emit_data, allocno_emit_reg): New. (ALLOCNO_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE): Remove. (OBJECT_HARD_REGS_SUBNODES_STAR, OBJECT_HARD_REGS_SUBNODES_NUM): Remove. (OBJECT_ADD_DATA): New macro. (ira_reallocate): Remove. (ira_initiate_emit_data, ira_finish_emit_data): New. (ira_get_register_move_cost, ira_get_may_move_cost): Remove. (ira_init_register_move_cost_if_necessary): New. (ira_object_conflict_iter_next): Merge into ira_object_conflict_iter_cond. (FOR_EACH_OBJECT_CONFLICT): Don't use ira_object_conflict_iter_next. * ira-live.c: (process_single_reg_class_operands): Call ira_init_register_move_cost_if_necessary. Use ira_register_move_cost instead of ira_get_register_move_cost. 2010-08-13 Vladimir Makarov <vmakarov@redhat.com> * ira-int.h (struct target_ira_int): Remove x_cost_classes. * ira-costs.c: Fix formatting. (cost_classes, cost_classes_num): Remove. (struct cost_classes, cost_classes_t, const_cost_classes_t): New. (regno_cost_classes, cost_classes_hash, cost_classes_eq): New. (cost_classes_del, cost_classes_htab): New. (cost_classes_aclass_cache, cost_classes_mode_cache): New. (initiate_regno_cost_classes, setup_cost_classes): New. (setup_regno_cost_classes_by_aclass): New. (setup_regno_cost_classes_by_mode, finish_regno_cost_classes): New. (record_reg_classes): Use regno_cost_classes instead of cost_classes. Move checking opposite operand up. (record_address_regs): Use regno_cost_classes instead of cost_classes. (scan_one_insn): Ditto. Use always general register. (print_allocno_costs): Use regno_cost_classes instead of cost_classes. (print_pseudo_costs): Ditto. Use Reg_N_REFS. (find_costs_and_classes): Set up cost classes for each registers. Use also their mode for this. Use regno_cost_classes instead of cost_classes. (setup_allocno_class_and_costs): Use regno_cost_classes instead of cost_classes. (free_ira_costs, ira_init_costs): Don't use cost_classes. (ira_costs, ira_set_pseudo_classes): Call initiate_regno_cost_classes and finish_regno_cost_classes. 2010-10-04 Vladimir Makarov <vmakarov@redhat.com> * target-def.h (TARGET_IRA_COVER_CLASSES): Remove. * target.def (ira_cover_classes): Remove. * doc/tm.texi: Remove TARGET_IRA_COVER_CLASSES and IRA_COVER_CLASSES. * doc/tm.texi.in: Ditto. * ira-conflicts.c: Remove mentioning cover classes from the file. Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Use ALLOCNO_COVER_CLASS_COST instead of ALLOCNO_CLASS_COST. Fix formatting. * targhooks.c (default_ira_cover_classes): Remove. * targhooks.h (default_ira_cover_classes): Ditto. * haifa-sched.c: Remove mentioning cover classes from the file. Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use ira_pressure_classes and ira_pressure_classes_num instead of ira_reg_class_cover_size and ira_reg_class_cover. Use sched_regno_pressure_class instead of sched_regno_cover_class. (mark_regno_birth_or_death, setup_insn_reg_pressure_info): Use ira_reg_class_max_nregs instead of ira_reg_class_nregs. * ira-int.h: Add 2010 to Copyright. Remove mentioning cover classes from the file. (object_hard_regs_t, object_hard_regs_node_t): New typedefs. (struct object_hard_regs, struct object_hard_regs_node): New. (struct ira_object): New members profitable_hard_regs, hard_regs_node, hard_regs_subnodes_start, hard_regs_subnodes_num. (struct ira_allocno): Rename cover_class to aclass. Rename cover_class_cost and updated_cover_class_cost to class_cost and updated_class_cost. Remove splay_removed_p and left_conflict_size. Add new members colorable_p. (ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICTS_SIZE): Remove. (ALLOCNO_COLORABLE_P): New macro. (ALLOCNO_COVER_CLASS): Rename to ALLOCNO_CLASS. (ALLOCNO_COVER_CLASS_COST, ALLOCNO_UPDATED_COVER_CLASS_COST): Rename to ALLOCNO_CLASS_COST and ALLOCNO_UPDATED__CLASS_COST. (OBJECT_...): Rename parameter C to O. (OBJECT_PROFITABLE_HARD_REGS): New macro. (OBJECT_HARD_REGS_NODE, OBJECT_HARD_REGS_SUBNODES_START) (OBJECT_HARD_REGS_SUBNODES_NUM): New macros. (struct target_ira_int): New members x_ira_max_memory_move_cost, x_ira_max_register_move_cost, x_ira_max_may_move_in_cost, x_ira_max_may_move_out_cost, x_ira_reg_allocno_class_p, x_ira_reg_pressure_class_p, x_ira_important_class_nums, x_ira_reg_class_superunion. Rename x_prohibited_class_mode_reg to x_ira_prohibited_class_mode_reg. Rename x_ira_reg_class_union to x_ira_reg_class_subunion. (ira_max_memory_move_cost, ira_max_register_move_cost) (ira_max_may_move_in_cost, ira_max_may_move_out_cost) (ira_reg_allocno_class_p, ira_reg_pressure_class_p) (ira_important_class_nums, ira_reg_class_superunion): New macros. (prohibited_class_mode_regs): Rename to ira_prohibited_class_mode_regs. (ira_reg_class_union): Rename to ira_reg_class_subunion. (ira_debug_class_cover): Rename to ira_debug_allocno_classes. (ira_set_allocno_cover_class): Rename to ira_set_allocno_class. (ira_tune_allocno_costs_and_cover_classes): Rename to ira_tune_allocno_costs. (ira_debug_hard_regs_forest): New. (ira_object_conflict_iter_init, ira_object_conflict_iter_cond) (ira_object_conflict_iter_next): Fix comments. (ira_hard_reg_set_intersection_p, hard_reg_set_size): New functions. (ira_allocate_and_set_costs, ira_allocate_and_copy_costs): Rename cover_class to aclass. (ira_allocate_and_accumulate_costs): Ditto. (ira_allocate_and_set_or_copy_costs): Ditto. * opts.c (decode_options): Remove ira_cover_class check. * ira-color.c: Remove mentioning cover classes from the file. Use ALLOCNO_CLASS, ALLOCNO_CLASS_COST, and ALLOCNO_UPDATED_CLASS_COST instead of ALLOCNO_COVER_CLASS, ALLOCNO_COVER_CLASS_COST, and ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting. (splay-tree.h): Remove include. (allocno_coalesced_p, processed_coalesced_allocno_bitmap): Move before copy_freq_compare_func. (allocnos_for_spilling, removed_splay_allocno_vec): Remove. (object_hard_regs_vec, object_hard_regs_htab, node_check_tick): New definitions. (hard_regs_roots, hard_regs_node_vec): Ditto. (object_hard_regs_hash, object_hard_regs_eq, find_hard_regs): Ditto. (insert_hard_regs, init_object_hard_regs, add_object_hard_regs): Ditto. (finish_object_hard_regs, object_hard_regs_compare): Ditto. (create_new_object_hard_regs_node): Ditto. (add_new_object_hard_regs_node_to_forest): Ditto. (add_object_hard_regs_to_forest, collect_object_hard_regs_cover): Ditto. (setup_object_hard_regs_nodes_parent, first_common_ancestor_node): Ditto. (print_hard_reg_set, print_hard_regs_subforest): Ditto. (print_hard_regs_forest, ira_debug_hard_regs_forest): Ditto. (remove_unused_object_hard_regs_nodes): Ditto. (enumerate_object_hard_regs_nodes): Ditto. (object_hard_regs_nodes_num, object_hard_regs_nodes): Ditto. (object_hard_regs_subnode_t): Ditto. (struct object_hard_regs_subnode): Ditto. (object_hard_regs_subnodes, object_hard_regs_subnode_index): Ditto. (setup_object_hard_regs_subnode_index): Ditto. (get_object_hard_regs_subnodes_num): Ditto. (form_object_hard_regs_nodes_forest): Ditto. (finish_object_hard_regs_nodes_tree): Ditto. (finish_object_hard_regs_nodes_forest): Ditto. (allocnos_have_intersected_live_ranges_p): Rename to allocnos_conflict_by_live_ranges_p. Move before copy_freq_compare_func. (pseudos_have_intersected_live_ranges_p): Rename to conflict_by_live_ranges_p. Move before copy_freq_compare_func. (setup_left_conflict_sizes_p, update_left_conflict_sizes_p): Ditto. (empty_profitable_hard_regs, setup_profitable_hard_regs): Ditto. (update_copy_costs): Remove assert. Skip cost update if the hard reg does not belong the class. (assign_hard_reg): Process only profitable hard regs. (uncolorable_allocnos_num): Make it scalar. (allocno_spill_priority): Use ALLOCNO_EXCESS_PRESSURE_POINTS_NUM and ira_reg_class_max_nregs instead of ALLOCNO_LEFT_CONFLICTS_SIZE and ira_reg_class_max_nregs. (bucket_allocno_compare_func): Check frequency first. (sort_bucket): Add compare function as a parameter. (add_allocno_to_ordered_bucket): Assume no coalesced allocnos. (uncolorable_allocnos_splay_tree, USE_SPLAY_P): Remove. (push_allocno_to_stack): Rewrite for checking new allocno colorability. (remove_allocno_from_bucket_and_push): Print cost too. Remove assert. (push_only_colorable): Pass new parameter to sort_bucket. (push_allocno_to_spill): Remove. (allocno_spill_priority_compare): Make it inline and rewrite. (splay_tree_allocate, splay_tree_free): Remove. (allocno_spill_sort_compare): New function. (push_allocnos_to_stack): Sort allocnos for spilling once. Don't build and use splay tree. Choose first allocno in uncolorable allocno bucket to spill. Remove setting spill cost. (all_conflicting_hard_regs): Remove. (setup_allocno_available_regs_num): Check only profitable hard regs. Print info about hard regs nodes. (setup_allocno_left_conflicts_size): Remove. (put_allocno_into_bucket): Don't call setup_allocno_left_conflicts_size. Use setup_left_conflict_sizes_p. (improve_allocation): New. (color_allocnos): Call setup_profitable_hard_regs, form_object_hard_regs_nodes_forest, improve_allocation, finish_object_hard_regs_nodes_forest. Setup spill cost. (print_loop_title): Use pressure classes. (color_allocnso): Ditto. (do_coloring): Remove allocation and freeing splay_tree_node_pool and allocnos_for_spilling. (ira_sort_regnos_for_alter_reg): Don't setup members {first,next}_coalesced_allocno. (color): Remove allocating and freeing removed_splay_allocno_vec. (fast_allocation): Use ira_prohibited_class_mode_regs instead of prohibited_class_mode_regs. * ira-lives.c: Remove mentioning cover classes from the file. Fix formatting. (update_allocno_pressure_excess_length): Use pressure classes. (inc_register_pressure, dec_register_pressure): Check for pressure class. (mark_pseudo_regno_live, mark_pseudo_regno_subword_live): Use pressure class. Use ira_reg_class_nregs instead of ira_reg_class_max_nregs. (mark_pseudo_regno_dead, mark_pseudo_regno_subword_dead): Ditto. (mark_hard_reg_live, mark_hard_reg_dead): Use pressure class. (single_reg_class): Use ira_reg_class_nregs instead of ira_reg_class_max_nregs. (process_bb_node_lives): Use pressure classes. * ira-emit.c: Remove mentioning cover classes from the file. Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Fix formatting. (change_loop): Use pressure classes. (modify_move_list): Call ira_set_allocno_class instead of ira_set_allocno_cover_class. * ira-build.c: Remove mentioning cover classes from the file. Use ALLOCNO_CLASS and ALLOCNO_CLASS_COST instead of ALLOCNO_COVER_CLASS and ALLOCNO_COVER_CLASS_COST. Use ALLOCNO_UPDATED_CLASS_COST instead of ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting. (ira_create_object): Initiate OBJECT_PROFITABLE_HARD_REGS. (ira_create_allocno): Remove initialization of ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICT_SIZE. Initialize ALLOCNO_COLORABLE_P. (ira_set_allocno_cover_class): Rename to ira_set_allocno_class. Update conflict regs for the objects. (create_cap_allocno): Remove assert. Don't propagate ALLOCNO_AVAILABLE_REGS_NUM. (ira_free_allocno_costs): New function. (finish_allocno): Change a part of code into call of ira_free_allocno_costs. (low_pressure_loop_node_p): Use pressure classes. (object_range_compare_func): Don't compare classes. (setup_min_max_conflict_allocno_ids): Ditto. * loop-invariant.c: Remove mentioning cover classes from the file. Use ira_pressure_classes and ira_pressure_classes_num instead of ira_reg_class_cover_size and ira_reg_class_cover. Fix formatting. (get_cover_class_and_nregs): Rename to get_cover_pressure_and_nregs. Use ira_reg_class_max_nregs instead of ira_reg_class_nregs. Use reg_allocno_class instead of reg_cover_class. (get_inv_cost): Use instead ira_stack_reg_pressure_class of STACK_REG_COVER_CLASS. (get_regno_cover_class): Rename to get_regno_pressure_class. (move_loop_invariants): Initialize and finalize regstat. * ira.c: Remove mentioning cover classes from the file. Add comments about coloring without cover classes. Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Fix formatting. (alloc_reg_class_subclasses, setup_reg_subclasses): Move it before setup_class_subset_and_memory_move_costs. (setup_stack_reg_pressure_class, setup_pressure_classes): New. (setup_cover_and_important_classes): Rename to setup_allocno_and_important_classes. (setup_class_translate_array): New. (setup_class_translate): Call it for allocno and pressure classes. (cover_class_order): Rename to allocno_class_order. (comp_reg_classes_func): Use ira_allocno_class_translate instead of ira_class_translate. (reorder_important_classes): Set up ira_important_class_nums. (setup_reg_class_relations): Set up ira_reg_class_superunion. (print_class_cover): Rename to print_classes. Add parameter. (ira_debug_class_cover): Rename to ira_debug_allocno_classes. Print pressure classes too. (find_reg_class_closure): Rename to find_reg_classes. Don't call setup_reg_subclasses. (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class. (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs. (setup_prohibited_class_mode_regs): Use ira_prohibited_class_mode_regs instead of prohibited_class_mode_regs. (clarify_prohibited_class_mode_regs): New function. (ira_init_register_move_cost): Set up ira_max_register_move_cost, ira_max_may_move_in_cost, and ira_max_may_move_out_cost. (ira_init_once): Initialize them. (free_register_move_costs): Process them. (ira_init): Move calls of find_reg_classes and setup_hard_regno_aclass after setup_prohibited_class_mode_regs. Call clarify_prohibited_class_mode_regs. (ira_no_alloc_reg): Remove. (too_high_register_pressure_p): Use pressure classes. * sched-deps.c: Remove mentioning cover classes from the file. Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use ira_pressure_classes and ira_pressure_classes_num instead of ira_reg_class_cover_size and ira_reg_class_cover. (mark_insn_hard_regno_birth, mark_hard_regno_death): Use sched_regno_pressure_class instead of sched_regno_cover_class. (mark_insn_pseudo_birth, mark_pseudo_death): Ditto. Use ira_reg_class_max_nregs instead of ira_reg_class_nregs. * ira.h: Add 2010 to Copyright. (ira_no_alloc_reg): Remove external. (struct target_ira): Rename x_ira_hard_regno_cover_class, x_ira_reg_class_cover_size, x_ira_reg_class_cover, and x_ira_class_translate to x_ira_hard_regno_allocno_class, x_ira_allocno_classes_num, x_ira_allocno_classes, and x_ira_allocno_class_translate. Add x_ira_pressure_classes_num, x_ira_pressure_classes, x_ira_pressure_class_translate, and x_ira_stack_reg_pressure_class. Rename x_ira_reg_class_nregs to x_ira_reg_class_max_nregs. Add x_ira_reg_class_min_nregs and x_ira_no_alloc_regs. (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class. (ira_reg_class_cover_size, ira_reg_class_cover): Rename to ira_allocno_classes_num and ira_allocno_classes. (ira_class_translate): Rename to ira_allocno_class_translate. (ira_pressure_classes_num, ira_pressure_classes): New definitions. (ira_pressure_class_translate, ira_stack_reg_pressure_class): Ditto. (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs. (ira_reg_class_min_nregs, ira_stack_reg_pressure_class): New (ira_no_alloc_regs): New. * ira-costs.c: Add 2010 to Copyright. Remove mentioning cover classes from the file. Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Use ALLOCNO_CLASS_COST instead of ALLOCNO_COVER_CLASS_COST. (regno_cover_class): Rename to regno_aclass. (record_reg_classes): Use ira_reg_class_subunion instead of ira_reg_class_union. (record_address_regs): Check overflow. (scan_one_insn): Ditto. (print_allocno_costs): Print total mem cost fore regional allocation. (print_pseudo_costs): Use REG_N_REFS. (find_costs_and_classes): Use classes intersected with them on the 1st pass. Check overflow. Use ira_reg_class_subunion instead of ira_reg_class_union. Use ira_allocno_class_translate and regno_aclass instead of ira_class_translate and regno_cover_class. Modify code for finding regno_aclass. Setup preferred classes for the next pass. (setup_allocno_cover_class_and_costs): Rename to setup_allocno_class_and_costs. Use regno_aclass instead of regno_cover_class. Use ira_set_allocno_class instead of ira_set_allocno_cover_class. (init_costs, finish_costs): Use regno_aclass instead of regno_cover_class. (ira_costs): Use setup_allocno_class_and_costs instead of setup_allocno_cover_class_and_costs. (ira_tune_allocno_costs_and_cover_classes): Rename to ira_tune_allocno_costs. Check overflow. Skip conflict hard regs by processing objects. Use ira_reg_class_max_nregs instead of ira_reg_class_nregs. * rtl.h (reg_cover_class): Rename to reg_allocno_class. * sched-int.h: Remove mentioning cover classes from the file. (sched_regno_cover_class): Rename to sched_regno_pressure_class. * reginfo.c: Add 2010 to Copyright. Remove mentioning cover classes from the file. (struct reg_pref): Rename coverclass into allocnoclass. (reg_cover_class): Rename to reg_allocno_class. * Makefile.in (ira-color.o): Remove SPLAY_TREE_H from dependencies. * config/alpha/alpha.h (IRA_COVER_CLASSES): Remove. * config/arm/arm.h (IRA_COVER_CLASSES): Ditto. * config/avr/avr.h (IRA_COVER_CLASSES): Ditto. * config/bfin/bfin.h (IRA_COVER_CLASSES): Ditto. * config/cris/cris.h (IRA_COVER_CLASSES): Ditto. * config/fr30/fr30.h (IRA_COVER_CLASSES): Ditto. * config/frv/frv.h (IRA_COVER_CLASSES): Ditto. * config/h8300/h8300.h (IRA_COVER_CLASSES): Ditto. * config/i386/i386.h (STACK_REG_COVER_CLASS): Ditto. * config/i386/i386.c (TARGET_IRA_COVER_CLASSES) (i386_ira_cover_classes): Ditto. * config/ia64/ia64.h (IRA_COVER_CLASSES): Ditto. * config/iq2000/iq2000.h (IRA_COVER_CLASSES): Ditto. * config/m32r/m32r.h (IRA_COVER_CLASSES): Ditto. * config/m68k/m68k.h (IRA_COVER_CLASSES): Ditto. * config/mcore/mcore.h (IRA_COVER_CLASSES): Ditto. * config/mep/mep.h (IRA_COVER_CLASSES): Ditto. * config/mips/mips.c (TARGET_IRA_COVER_CLASSES) (mips_ira_cover_classes): Ditto. * config/mn10300/mn10300.h (IRA_COVER_CLASSES): Ditto. * config/moxie/moxie.h (IRA_COVER_CLASSES): Ditto. * config/pa/pa64-regs.h (IRA_COVER_CLASSES): Ditto. * config/pa/pa32-regs.h (IRA_COVER_CLASSES): Ditto. * config/picochip/picochip.h (IRA_COVER_CLASSES): Ditto. * config/rs6000/rs6000.h (IRA_COVER_CLASSES_PRE_VSX) (IRA_COVER_CLASSES_VSX): Ditto. * config/rs6000/rs6000.c (TARGET_IRA_COVER_CLASSES) (rs6000_ira_cover_classes): Ditto. * config/rx/rx.h (IRA_COVER_CLASSES): Ditto. * config/s390/s390.h (IRA_COVER_CLASSES): Ditto. * config/score/score.h (IRA_COVER_CLASSES): Ditto. * config/sh/sh.h (IRA_COVER_CLASSES): Ditto. * config/sparc/sparc.h (IRA_COVER_CLASSES): Ditto. * config/spu/spu.h (IRA_COVER_CLASSES): Ditto. * config/stormy16/stormy16.h (IRA_COVER_CLASSES): Ditto. * config/v850/v850.h (IRA_COVER_CLASSES): Ditto. * config/vax/vax.h (IRA_COVER_CLASSES): Ditto. * config/xtensa/xtensa.h (IRA_COVER_CLASSES): Ditto. From-SVN: r171583
* frv-opts.h: New.Joseph Myers2011-03-224-72/+81
| | | | | | | | | | | | | | | * config/frv/frv-opts.h: New. * config/frv/frv-protos.h (enum frv_cpu, frv_cpu_t): Move to frv-opts.h. (frv_cpu_type): Remove. * config/frv/frv.c: Don't include opts.h. (frv_cpu_type, frv_handle_option, TARGET_HANDLE_OPTION): Remove. * config/frv/frv.opt (config/frv/frv-opts.h): New HeaderInclude entry. (frv_cpu_type): New Variable entry. (frv_cpu): New Enum and EnumValue entries. From-SVN: r171316
* target.def (handle_option): Take gcc_options and cl_decoded_option pointers ↵Joseph Myers2011-03-221-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* make frv use constraints.mdNathan Froyd2011-02-154-182/+175
| | | | | | | | | | | | | | | | | | | | | make frv use constraints.md * config/frv/constraints.md: New file. * config/frv/predicates.md: Include it. * config/frv/frv.c (reg_class_from_letter): Delete. (frv_option_override): Don't initialize it. * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete. (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete. (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete. (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete. (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete. (CONST_DOUBLE_OK_FOR_LETTER_P): Delete. (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete. (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete. (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete. (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete. (REG_CLASS_FROM_CONSTRAINT): Delete. From-SVN: r170171
* frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize comments in backslash regions.Mike Stump2011-02-121-3/+3
| | | | | | | * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize comments in backslash regions. From-SVN: r170078
* bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.Joseph Myers2011-01-261-2/+1
| | | | | | | | | | | | | | | * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}. * config/frv/frv.h (LINK_SPEC): Likewise. * config/i386/netware.h (LINK_SPEC): Likewise. * config/m68k/linux.h (ASM_SPEC): Likewise. * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise. * config/rs6000/sysv4.h (LINK_SPEC): Likewise. * config/rs6000/vxworks.h (ASM_SPEC): Likewise. * config/sparc/linux.h (ASM_SPEC): Likewise. * config/sparc/linux64.h (ASM_SPEC): Likewise. * config/sparc/sp-elf.h (ASM_SPEC): Likewise. From-SVN: r169303
* bfin.h (ASM_SPEC): Remove %{Ym,*}.Joseph Myers2011-01-261-1/+1
| | | | | | | | | | | | | | * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}. * config/frv/frv.h (ASM_SPEC): Likewise. * config/m68k/linux.h (ASM_SPEC): Likewise. * config/pa/pa-linux.h (ASM_SPEC): Likewise. * config/rs6000/linux64.h (ASM_SPEC): Likewise. * config/rs6000/vxworks.h (ASM_SPEC): Likewise. * config/sparc/linux.h (ASM_SPEC): Likewise. * config/sparc/linux64.h (ASM_SPEC): Likewise. * config/sparc/sp-elf.h (ASM_SPEC): Likewise. From-SVN: r169302
* bfin.h (LINK_SPEC): Remove %{YP,*}.Joseph Myers2011-01-261-1/+0
| | | | | | | | * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}. * config/frv/frv.h (LINK_SPEC): Likewise. * config/rs6000/sysv4.h (LINK_SPEC): Likewise. From-SVN: r169301
* bfin.h (ASM_SPEC): Remove %{Yd,*}.Joseph Myers2011-01-261-2/+2
| | | | | | | | | | | | | | | | | * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}. * config/frv/frv.h (ASM_SPEC): Likewise. * config/i386/sol2-10.h (ASM_SPEC): Likewise. * config/m68k/linux.h (ASM_SPEC): Likewise. * config/pa/pa-linux.h (ASM_SPEC): Likewise. * config/rs6000/linux64.h (ASM_SPEC32): Likewise. * config/rs6000/vxworks.h (ASM_SPEC): Likewise. * config/sol2.h (ASM_SPEC): Remove comment about -Yd,. * config/sparc/linux.h (ASM_SPEC): Likewise. * config/sparc/linux64.h (ASM_SPEC): Likewise. * config/sparc/sp-elf.h (ASM_SPEC): Likewise. * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}. From-SVN: r169300
* Update Copyright years for files modified in 2010.Jakub Jelinek2011-01-032-2/+2
| | | | From-SVN: r168438
* svr4.h: Remove.Joseph Myers2010-12-221-162/+0
| | | | | | | | | | | | | | | | | * config/svr4.h: Remove. * system.h (USING_SVR4_H, SVR4_ASM_SPEC): Poison. * config.gcc, config/bfin/bfin.h, config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.h, config/i386/openbsdelf.h, config/i386/vx-common.h, config/ia64/elf.h, config/ia64/ia64.h, config/ia64/sysv4.h, config/iq2000/iq2000.h, config/m68k/linux.h, config/m68k/m68kelf.h, config/mips/mips.h, config/mips/vxworks.h, config/moxie/moxie.h, config/netbsd-aout.h, config/openbsd.h, config/rs6000/sysv4.h, config/sh/elf.h, config/sh/sh.h, config/sol2.h, config/sparc/sysv4.h, config/stormy16/stormy16.h, config/v850/v850.h, config/vxworks.h: Remove or update comments referring to svr4.h. From-SVN: r168166
* frv.h (SIZE_TYPE, [...]): Define.Joseph Myers2010-12-091-0/+12
| | | | | | | | * config/frv/frv.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define. * config.gcc (frv-*-elf, frv-*-*linux*): Don't use svr4.h. From-SVN: r167652
* arc.h (ASM_SPEC): Remove %{v}.Joseph Myers2010-12-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/arc/arc.h (ASM_SPEC): Remove %{v}. * config/bfin/bfin.h (ASM_SPEC): Remove %{v}. * config/cris/cris.h (ASM_SPEC): Remove %{v:-v}. * config/fr30/fr30.h (ASM_SPEC): Remove %{v}. * config/frv/frv.h (ASM_SPEC): Remove %{v}. * config/i386/linux.h (ASM_SPEC): Remove %{v}. * config/i386/linux64.h (ASM_SPEC): Remove %{v}. * config/i386/mingw-w64.h (ASM_SPEC): Remove %{v}. * config/i386/sol2-10.h (ASM_SPEC): Remove %{v}. * config/i386/vxworks.h (ASM_SPEC): Remove %{v}. * config/i386/x86-64.h (ASM_SPEC): Remove %{v}. * config/lm32/lm32.h (ASM_SPEC): Remove %{v}. * config/m32r/m32r.h (ASM_SPEC): Remove %{v}. * config/m68k/linux.h (ASM_SPEC): Remove %{v:-V}. * config/microblaze/microblaze.h (ASM_SPEC): Remove %{v}. * config/mips/mips.h (ASM_SPEC): Remove %{v}. * config/mips/vxworks.h (ASM_SPEC): Remove %{v}. * config/pa/pa-linux.h (ASM_SPEC): Remove %{v:-V}. * config/rs6000/freebsd.h (SVR4_ASM_SPEC): Remove %{v}. * config/rs6000/linux64.h (ASM_SPEC): Remove %{v:-V}. * config/rs6000/vxworks.h (ASM_SPEC): Remove %{v:-v}. * config/sparc/openbsd64.h (ASM_SPEC): Remove %{v:-V}. * config/svr4.h (SVR4_ASM_SPEC): Remove %{v:-V}. * config/xtensa/elf.h (ASM_SPEC): Remove %{v}. * config/xtensa/linux.h (ASM_SPEC): Remove %{v}. From-SVN: r167636
* freebsd.h (LINK_SPEC): Don't use %{!dynamic-linker:}.Joseph Myers2010-12-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/alpha/freebsd.h (LINK_SPEC): Don't use %{!dynamic-linker:}. * config/alpha/linux-elf.h (LINK_SPEC): Likewise. * config/arm/freebsd.h (LINK_SPEC): Likewise. * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Likewise. * config/bfin/linux.h (LINK_SPEC): Likewise. * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Likewise. * config/frv/linux.h (LINK_SPEC): Likewise. * config/i386/freebsd.h (LINK_SPEC): Likewise. * config/i386/freebsd64.h (LINK_SPEC): Likewise. * config/i386/linux.h (LINK_SPEC): Likewise. * config/i386/linux64.h (LINK_SPEC): Likewise. * config/i386/openbsdelf.h (LINK_SPEC): Likewise. * config/ia64/freebsd.h (LINK_SPEC): Likewise. * config/ia64/linux.h (LINK_SPEC): Likewise. * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise. * config/m32r/linux.h (LINK_SPEC): Likewise. * config/m68k/linux.h (LINK_SPEC): Likewise. * config/microblaze/linux.h (LINK_SPEC): Likewise. * config/mips/linux.h (LINK_SPEC): Likewise. * config/mips/linux64.h (LINK_SPEC): Likewise. * config/mips/openbsd.h (LINK_SPEC): Likewise. * config/mn10300/linux.h (LINK_SPEC): Likewise. * config/netbsd-elf.h (LINK_SPEC): Likewise. * config/pa/pa-linux.h (LINK_SPEC): Likewise. * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Likewise. * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC, LINK_OS_LINUX_SPEC, LINK_OS_GNU_SPEC, LINK_OS_NETBSD_SPEC): Likewise. * config/s390/linux.h (LINK_SPEC): Likewise. * config/sh/linux.h (SUBTARGET_LINK_SPEC): Likewise. * config/sparc/freebsd.h (LINK_SPEC): Likewise. * config/sparc/linux.h (LINK_SPEC): Likewise. * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC, LINK_SPEC): Likewise. * config/sparc/openbsd64.h (LINK_SPEC): Likewise. * config/vax/linux.h (LINK_SPEC): Likewise. * config/xtensa/linux.h (LINK_SPEC): Likewise. From-SVN: r167634
* bfin.h (ASM_SPEC): Remove %{n} and %{T}.Joseph Myers2010-12-091-1/+1
| | | | | | | | | | | | | | | | | | | * config/bfin/bfin.h (ASM_SPEC): Remove %{n} and %{T}. * config/frv/frv.h (ASM_SPEC): Likewise. * config/i386/sol2-10.h (ASM_SPEC): Likewise. * config/i386/sol2.h (ASM_SPEC): Likewise. * config/m68k/linux.h (ASM_SPEC): Likewise. * config/pa/pa-linux.h (ASM_SPEC): Likewise. * config/rs6000/linux64.h (ASM_SPEC32): Likewise. * config/rs6000/vxworks.h (ASM_SPEC): Likewise. * config/sol2.h (ASM_SPEC): Likewise. * config/sparc/linux.h (ASM_SPEC): Likewise. * config/sparc/linux64.h (ASM_SPEC): Likewise. * config/sparc/sp-elf.h (ASM_SPEC): Likewise. * config/sparc/sysv4.h (ASM_SPEC): Likewise. * config/svr4.h (SVR4_ASM_SPEC): Likewise. From-SVN: r167633
* re PR target/46735 (frv-elf --enable-werror-always build fails for 64 bit host)Joern Rennecke2010-12-064-68/+62
| | | | | | | | | | | | | | | | | | | | | | | | PR target/46735 * config/frv/predicates.md (gpr_or_int12_operand): Use IN_RANGE. (gpr_fpr_or_int12_operand, gpr_or_int10_operand): Likewise. (int12_operand, int_2word_operand, uint16_operand): Likewise. (fpr_or_int6_operand, int6_operand, int5_operand): Likewise. (uint5_operand, uint4_operand): Likewise. * config/frv/frv.h (IN_RANGE_P): Delete. (GPR_P, FPR_P, CC_P, ICC_P, FCC_P, CR_P, ICR_P, FCR_P): Use IN_RANGE. (ACC_P, ACCG_P, SPR_P, CONST_OK_FOR_I, CONST_OK_FOR_J): Likewise. (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise. (CONST_OK_FOR_P): Likewise. * config/frv/frv.md (*movqicc_internal2_int): Likewise. (*movqicc_internal2_float, *movhicc_internal2_int): Likewise. (*movhicc_internal2_float, *movsicc_internal2_int): Likewise. (*movsicc_internal2_float, casesi): Likewise. * config/frv/frv.c (frv_frame_offset_rtx): Likewise. (frv_asm_output_mi_thunk, frv_legitimate_address_p_1): Likewise. (frv_emit_movsi, output_move_single, frv_emit_cond_move): Likewise. (frv_split_cond_move, frv_rtx_costs): Likewise. From-SVN: r167508
* bfin.h (LINK_SPEC): Remove %{b}.Joseph Myers2010-12-021-1/+0
| | | | | | | | | | | | * config/bfin/bfin.h (LINK_SPEC): Remove %{b}. * config/frv/frv.h (LINK_SPEC): Remove %{b}. * config/i386/netware.h (LINK_SPEC): Remove %{b}. * config/i386/nto.h (LINK_SPEC): Remove %{b}. * config/lm32/uclinux-elf.h (LINK_SPEC): Remove %{b}. * config/sol2.h (LINK_SPEC): Remove %{b}. * config/svr4.h (LINK_SPEC): Remove %{b}. From-SVN: r167387
* freebsd.h (LINK_SPEC): Don't handle -Wl,.Joseph Myers2010-12-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | * config/alpha/freebsd.h (LINK_SPEC): Don't handle -Wl,. * config/bfin/bfin.h (ASM_SPEC): Don't handle -Wa,. * config/frv/frv.h (ASM_SPEC): Don't handle -Wa,. * config/lm32/uclinux-elf.h (LINK_SPEC): Don't handle -Wl,. * config/microblaze/microblaze.h (LINK_SPEC): Don't handle -Wl,. * config/mn10300/linux.h (ASM_SPEC): Don't handle -Wa,. * config/pa/pa-linux.h (ASM_SPEC): Don't handle -Wa,. * config/rs6000/freebsd.h (SVR4_ASM_SPEC): Don't handle -Wa,. * config/rs6000/linux64.h (ASM_SPEC_COMMON): Don't handle -Wa,. * config/rs6000/sysv4.h (LINK_SPEC): Don't handle -Wl,. * config/rs6000/vxworks.h (ASM_SPEC): Don't handle -Wa,. * config/sol2.h (ASM_SPEC): Don't handle -Wa,. * config/sparc/linux.h (ASM_SPEC): Don't handle -Wa,. * config/sparc/linux64.h (ASM_SPEC): Don't handle -Wa,. * config/sparc/sp-elf.h (ASM_SPEC): Don't handle -Wa,. * config/sparc/sysv4.h (ASM_SPEC): Don't handle -Wa,. * config/svr4.h (SVR4_ASM_SPEC): Don't handle -Wa,. * config/vxworks.h (VXWORKS_LINK_SPEC): Don't handle -Wl,. From-SVN: r167384
* common.opt (main_input_filename, [...]): New Variable entries.Joseph Myers2010-12-011-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* system.h: Include "safe-ctype.h" instead of <safe-ctype.h>.Joseph Myers2010-11-291-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * system.h: Include "safe-ctype.h" instead of <safe-ctype.h>. Include <signal.h>, <sys/mman.h>, <sys/resource.h> and <sys/times.h>. (O_BINARY, SIGCHLD, MAP_FAILED, MAP_ANONYMOUS, kill): Conditionally define. (GET_ENVIRONMENT): Poison. * configure.ac: Don't test for mincore. * configure: Regenerate. * config.in: Regenerate. * collect2-aix.c: Don't include <sys/mman.h>. * collect2.c: Don't include <signal.h>. (SIGCHLD): Don't define. (prefix_from_env): Use getenv instead of GET_ENVIRONMENT. * config/alpha/alpha.c: Include "splay-tree.h" instead of <splay-tree.h>. * config/arm/arm.c (arm_target_help): Use getenv instead of GET_ENVIRONMENT. * config/avr/driver-avr.c: Don't include <stdlib.h>. * config/frv/frv.c: Don't include <ctype.h>. * config/host-darwin.c: Don't include <sys/mman.h>. * config/host-hpux.c: Don't include <sys/mman.h> or <unistd.h>. (MAP_FAILED): Don't define. * config/host-linux.c: Don't include <sys/mman.h> or <limits.h>. * config/host-solaris.c: Don't include <sys/mman.h>. * config/i386/cygming.h: Don't include <stdio.h>. * config/i386/driver-i386.c: Don't include <stdlib.h>. * config/i386/host-cygwin.c: Don't include <sys/mman.h>. * config/iq2000/iq2000.c: Don't include <signal.h>. * config/m32c/m32c-pragma.c: Don't include <stdio.h>. * config/m68hc11/m68hc11.c: Don't include <stdio.h>. * config/mep/mep-pragma.c: Don't include <stdio.h>. * config/microblaze/microblaze.c: Don't include <signal.h>. * config/mips/mips.c: Don't include <signal.h>. * config/rs6000/host-darwin.c: Don't include <signal.h>. * cppdefault.c (cpp_relocated): Use getenv instead of GET_ENVIRONMENT. * defaults.h (GET_ENVIRONMENT): Don't define. * et-forest.h: Don't include <ansidecl.h> or <stddef.h>. * gcc.c: Don't include <signal.h>, <sys/mman.h> or <sys/types.h>. (SIGCHLD, MAP_FAILED, kill): Don't define. (process_command): Use getenv instead of GET_ENVIRONMENT. * genhooks.c: Don't include <string.h>. * ggc-common.c: Don't include <sys/resource.h>, <sys/mman.h> or <sys/types.h>. (MAP_FAILED): Don't define. * ggc-page.c Don't include <sys/mman.h>. (MAP_ANONYMOUS, MAP_FAILED): Don't define. * ggc-zone.c: Don't include <sys/mman.h>. (MAP_ANONYMOUS, MAP_FAILED): Don't define. * graph.c: Include "config.h" instead of <config.h>. * incpath.c (add_env_var_paths): Use getenv instead of GET_ENVIRONMENT. * lto-wrapper.c: Don't include <errno.h>, <signal.h> or "libiberty.h". (SIGCHLD, kill): Don't define. * mips-tfile.c: Don't include <signal.h>. * opts.c: Don't include <signal.h> or <sys/resource.h>. (print_specific_help): Use getenv instead of GET_ENVIRONMENT. * passes.c: Don't include <signal.h>, <sys/resource.h> or <sys/times.h>. * sparseset.h: Don't include <assert.h>. * timevar.c: Don't include <sys/times.h> or <sys/resource.h>. * tlink.c: Don't include "libiberty.h". * toplev.c: Don't include <signal.h> or <sys/times.h>. * tree-mudflap.c: Include "demangle.h" instead of <demangle.h>. * tree-switch-conversion.c: Don't include <signal.h>. * vmsdbgout.c: Don't include <errno.h> or <string.h>. c-family: * c-opts.c (check_deps_environment_vars): Use getenv instead of GET_ENVIRONMENT. * c-pch.c (O_BINARY): Don't define here. * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>. fortran: * gfortran.h (alloca): Don't include definitions. (NULL): Don't define. java: * boehm.c: Include "config.h" instead of <config.h>. * builtins.c: Don't include <stdarg.h>. * class.c: Don't include "stdio.h". (O_BINARY): Don't define here. * jcf-depend.c: Don't include <assert.h>. (jcf_dependency_set_dep_file, jcf_dependency_init, jcf_dependency_write): Use gcc_assert. * jcf-io.c (O_BINARY): Don't define here. * jcf-path.c: Don't include "tm.h". (jcf_path_init): Use getenv instead of GET_ENVIRONMENT. * resource.c: Don't include "stdio.h". (O_BINARY): Don't define here. * verify-impl.c: Don't include <stdio.h>. lto: * lto-endian.h: Delete. * lto-object.c: Don't include "libiberty.h". (O_BINARY): Don't define. * lto.c: Don't include "libiberty.h" or <sys/mman.h>. (O_BINARY): Don't define. From-SVN: r167241
* target.def (conditional_register_usage): Define.Nathan Froyd2010-11-223-24/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* tm.texi.in (HANDLE_SYSV_PRAGMA, [...]): Remove.Joseph Myers2010-11-211-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/tm.texi.in (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Remove. (HANDLE_PRAGMA_PACK_WITH_EXPANSION): Don't refer to HANDLE_SYSV_PRAGMA. * doc/tm.texi: Regenerate. * system.h (HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_WEAK): Poison. * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Don't define. * config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/alpha/osf5.h (HANDLE_SYSV_PRAGMA): Don't define. * config/alpha/vms.h (HANDLE_SYSV_PRAGMA): Don't define. * config/arm/arm.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define. * config/cris/cris.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/darwin.h (HANDLE_SYSV_PRAGMA): Don't define. (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/elfos.h (HANDLE_SYSV_PRAGMA): Don't define. * config/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Don't define. * config/i386/cygming.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/i386/djgpp.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Don't define. (HANDLE_PRAGMA_WEAK): Don't undefine. * config/i386/netware.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/i386/vxworks.h (HANDLE_SYSV_PRAGMA): Don't define. * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Don't define. * config/interix.h (HANDLE_SYSV_PRAGMA): Don't define. (HANDLE_PRAGMA_WEAK): Don't undefine. * config/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/m32r/linux.h (HANDLE_SYSV_PRAGMA): Don't define. (HANDLE_PRAGMA_PACK): Don't undefine. * config/m32r/m32r.h (HANDLE_SYSV_PRAGMA): Don't undefine. * config/mep/mep.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/mips/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/mips/sde.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Don't define. * config/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define. (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/openbsd.h (HANDLE_SYSV_PRAGMA): Don't define. * config/pa/pa-hpux.h (HANDLE_SYSV_PRAGMA): Don't define. (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Don't define. * config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/rx/rx.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/score/elf.h (HANDLE_SYSV_PRAGMA): Don't define. * config/spu/spu.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Don't define. * config/xtensa/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. c-family: * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK, HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and HANDLE_PRAGMA_VISIBILITY. * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK, HANDLE_PRAGMA_VISIBILITY): Don't define. (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test. cp: * name-lookup.c (handle_namespace_attrs): Don't check HANDLE_PRAGMA_VISIBILITY. * parser.c (cp_parser_namespace_definition): Don't check HANDLE_PRAGMA_VISIBILITY. testsuite: * g++.dg/cpp/_Pragma1.C: Test for all non-Solaris targets. * gcc.dg/cpp/_Pragma6.c: Test for all non-Solaris targets. * gcc.dg/pack-test-1.c: Test for all non-default_packed targets. * gcc.dg/pack-test-2.c: Test for all targets. * gcc.dg/pragma-align.c: Test for all targets. * gcc.dg/pragma-pack-4.c: Do not skip for AVR. * gcc.dg/ucnid-10.c: Test for all targets. From-SVN: r166992
* builtins.c (std_gimplify_va_arg_expr): Use targetm.calls.function_arg_boundary.Nathan Froyd2010-11-163-10/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * builtins.c (std_gimplify_va_arg_expr): Use targetm.calls.function_arg_boundary. * function.c (assign_parms, locate_and_pad_parm): Likewise. * calls.c (struct arg_data): Update comment. * defaults.h (FUNCTION_ARG_BOUNDARY): Delete. * target.def (function_arg_boundary): Define. * targhooks.h (default_function_arg_boundary): Declare. * targhooks.c (default_function_arg_boundary): Define. * doc/tm.texi.in (FUNCTION_ARG_PADDING): Use TARGET_FUNCTION_ARG_BOUNDARY. (FUNCTION_ARG_BOUNDARY): Delete. (TARGET_FUNCTION_ARG_BOUNDARY): New. * doc/tm.texi: Regenerate. * system.h (FUNCTION_ARG_BOUNDARY): Poison. * config/arc/arc.h (FUNCTION_ARG_BOUNDARY): Delete. * config/arc/arc.c (arc_function_arg_boundary): Define. (TARGET_FUNCTION_ARG_BOUNDARY): Define. * config/arm/arm.h (FUNCTION_ARG_BOUNDARY): Delete. * config/arm/arm-protos.h (arm_needs_doubleword_align): Delete. * config/arm/arm.c (arm_needs_doubleword_align): Make static. (arm_function_arg_boundary): Define. (TARGET_FUNCTION_ARG_BOUNDARY): Define. * config/frv/frv.h (FUNCTION_ARG_BOUNDARY): Delete. * config/frv/frv-protos.h (frv_function_arg_boundary): Delete. * config/frv/frv.c (frv_function_arg_boundary): Make static. (TARGET_FUNCTION_ARG_BOUNDARY): Define. * config/i386/i386.h (FUNCTION_ARG_BOUNDARY): Delete. * config/i386/i386-protos.h (ix86_function_arg_boundary): Delete. * config/i386/i386.c (ix86_function_arg_boundary): Make static. (ix86_compat_function_arg_boundary): Take and return unsigned int. (TARGET_FUNCTION_ARG_BOUNDARY): Define. * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Delete. * config/ia64/ia64-protos.h (ia64_function_arg_boundary): Delete. * config/ia64/ia64.c (ia64_function_arg_boundary): Make static. (TARGET_FUNCTION_ARG_BOUNDARY): Define. * config/m32c/m32c.h (FUNCTION_ARG_BOUNDARY): Delete. * config/m32c/m32c.c (m32c_function_arg_boundary): Define. (TARGET_FUNCTION_ARG_BOUNDARY): Define. * config/m32r/m32r.h (FUNCTION_ARG_BOUNDARY): Delete. * config/mcore/mcore.h (FUNCTION_ARG_BOUNDARY): Delete. * config/mcore/mcore.c (mcore_function_arg_boundary): Define. (TARGET_FUNCTION_ARG_BOUNDARY): Define. * config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Delete. * config/mips/mips-protos.h (mips_function_arg_boundary): Delete. * config/mips/mips.c (mips_function_arg_boundary): Make static. (TARGET_FUNCTION_ARG_BOUNDARY): Define. * config/pa/pa.h (FUNCTION_ARG_BOUNDARY): Delete. * config/pa/pa.c (pa_function_arg_boundary): Define. (TARGET_FUNCTION_ARG_BOUNDARY): Define. * config/picochip/picochip.h (FUNCTION_ARG_BOUNDARY): Delete. * config/picochip/picochip-protos.h (picochip_get_function_arg_boundary): Delete. * config/picochip/picochip.c (picochip_get_function_arg_boundary): Rename to... (picochip_function_arg_boundary): ...this. Make static. (picochip_function_arg, picochip_arg_partial_bytes): Adjust. (picochip_arg_advance): Adjust. (TARGET_FUNCTION_ARG_BOUNDARY): Define. * config/rs6000/rs6000.h (FUNCTION_ARG_BOUNDARY): Delete. * config/rs6000/rs6000-protos.h (function_arg_boundary): Delete. * config/rs6000/rs6000.c (function_arg_boundary): Rename to... (rs6000_function_arg_boundary): ...this. Make static. (rs6000_parm_start, rs6000_gimplify_va_arg): Adjust. (TARGET_FUNCTION_ARG_BOUNDARY): Define. * config/rx/rx.h (FUNCTION_ARG_BOUNDARY): Delete. * config/rx/rx.c (rx_function_arg_boundary): Define. (TARGET_FUNCTION_ARG_BOUNDARY): Define. * config/sparc/sparc.h (FUNCTION_ARG_BOUNDARY): Delete. * config/sparc/sparc.c (sparc_function_arg_boundary): Define. (TARGET_FUNCTION_ARG_BOUNDARY): Define. * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Delete. * config/xtensa/xtensa-protos.h (function_arg_boundary): Delete. * config/xtensa/xtensa.c (function_arg_boundary): Rename to... (xtensa_function_arg_boundary): ...this. Make static. (TARGET_FUNCTION_ARG_BOUNDARY): Define. From-SVN: r166803
* frv.md (fmasf4, fmssf4): Rename from *muladdsf4 and *mulsubsf4 respectively.Richard Henderson2010-11-151-8/+8
| | | | | | | * config/frv/frv.md (fmasf4, fmssf4): Rename from *muladdsf4 and *mulsubsf4 respectively. Use fma rtx_code. From-SVN: r166789
* re PR target/44758 (frv.md: incompatible enum comparisons / return)Joern Rennecke2010-11-083-144/+147
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-11-08 Joern Rennecke <amylaar@spamcop.net> Richard Henderson <rth@redhat.com> PR target/44758 * config/frv/frv.md (attribute cpu): Cast value to enum attr_cpu. (attribute acc_group): Cast value to enum attr_acc_group. (*movdi_nodouble+6): Use gen_int_mode. * config/frv/frv-protos.h (frv_trampoline_size): Declare no matter if RTX_CODE is defined or not. * config/frv/frv.c (enum frv_io_type): New enum, broken out of struct frv_io. (frv_handle_option): Mark parameter value with ATTRIBUTE_UNUSED. (frv_frame_access, frv_expand_prologue): Remove unused variables. (frv_expand_block_clear): Likewise. (frv_trampoline_init): Use LCT_NORMAL. (struct frv_packet_group): New struct, broken out of type of frv_packet. (frv_start_packet, frv_reorder_packet): Initialize group to GROUP_I, use cast in loop counter increment. (frv_extract_membar): Cast HOST_WIDE_INT to enum frv_io_type before assigning to io->type. (bdesc_set): Use rtx_code UNKNOWN in initializer. (bdesc_1arg, bdesc_2arg, bdesc_int_void2arg): Likewise. (bdesc_prefetches, bdesc_cut, bdesc_2argimm, bdesc_void2arg): Likewise. (bdesc_void3arg, bdesc_voidacc, bdesc_loads, bdesc_stores): Likewise. (frv_read_argument): Use expand_normal. Co-Authored-By: Richard Henderson <rth@redhat.com> From-SVN: r166447
* common.opt (R, [...]): New.Joseph Myers2010-11-011-27/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * common.opt (R, T, Tbss, Tdata, Ttext, h, z): New. * defaults.h (DEFAULT_SWITCH_TAKES_ARG, SWITCH_TAKES_ARG): Remove. (DEFAULT_WORD_SWITCH_TAKES_ARG): Define to 0. * doc/tm.texi.in (SWITCH_TAKES_ARG): Remove. (WORD_SWITCH_TAKES_ARG): Don't refer to SWITCH_TAKES_ARG. Document that options in .opt files do not need to be included. * doc/tm.texi: Regenerate. * gcc.c (LINK_COMMAND_SPEC): Don't include %{x}. * opts-common.c: Update comment on tm.h include. (decode_cmdline_option): Don't use SWITCH_TAKES_ARG. * system.h (SWITCH_TAKES_ARG): Poison. * config/alpha/alpha.h (SWITCH_TAKES_ARG): Remove. * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove options included in darwin.opt. (LINK_COMMAND_SPEC_A): Don't include %{x}. * config/fr30/fr30.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove. * config/freebsd-spec.h (FBSD_SWITCH_TAKES_ARG): Remove. * config/freebsd.h (SWITCH_TAKES_ARG): Remove. * config/frv/frv.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove. * config/i386/djgpp.h (LINK_COMMAND_SPEC): Don't include %{x}. * config/ia64/ia64.h (SWITCH_TAKES_ARG): Remove. * config/interix.h (WORD_SWITCH_TAKES_ARG): Don't handle -T options. * config/lm32/lm32.h (SWITCH_TAKES_ARG): Remove. * config/m32r/m32r.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove. * config/microblaze/microblaze.h (SWITCH_TAKES_ARG): Remove. * config/mips/mips.h (SWITCH_TAKES_ARG): Remove. * config/mips/netbsd.h (SWITCH_TAKES_ARG): Remove. * config/mips/vxworks.h (SWITCH_TAKES_ARG): Remove. * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove. * config/netbsd-elf.h (SWITCH_TAKES_ARG): Remove. * config/openbsd.h (SWITCH_TAKES_ARG): Remove. * config/rs6000/sysv4.h (SWITCH_TAKES_ARG): Remove. * config/score/score.h (SWITCH_TAKES_ARG): Remove. * config/sol2.h (SWITCH_TAKES_ARG): Remove. * config/sparc/sp-elf.h (SWITCH_TAKES_ARG): Remove. * config/sparc/sp64-elf.h (SWITCH_TAKES_ARG): Remove. * config/sparc/sparc.h (ASM_SPEC): Don't include %{R}. * config/svr4.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove. From-SVN: r166155
* frv-protos.h (frv_function_arg): Delete.Nathan Froyd2010-10-283-44/+33
| | | | | | | | | | | | | | | | * config/frv/frv-protos.h (frv_function_arg): Delete. (frv_function_arg_advance): Delete. * config/frv/frv.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. * config/frv/frv.c (frv_function_arg): Rename to... (frv_function_arg_1): Make static. Take const_tree and bool arguments. (frv_function_arg, frv_function_incoming_arg): New functions. (frv_function_arg_advance): Make static. Take a const_tree and a bool. (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define. (TARGET_FUNCTION_ARG_ADVANCE): Define. From-SVN: r166033