X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=8da2816c831a361c8c409d5dc1728e199d4862cb;hp=9569f1c35f622b17330a1799029a16f3518fd4b4;hb=f22216ac22a0f98a3563ba4e6c02e85c528097ce;hpb=b84346c686e626d417ce8a11fdae2034e672eb6e diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9569f1c35f6..8da2816c831 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,1524 @@ +2011-11-03 Richard Guenther + + * collect2.c (main): Guard object_nbr variable with TARGET_AIX_VERSION. + +2011-11-03 Martin Jambor + + * ipa-prop.c (type_change_info): New fields offset, object, + known_current_type and multiple_types_encountered. + (extr_type_from_vtbl_ptr_store): New function. + (check_stmt_for_type_change): Use it, set multiple_types_encountered if + the result is different from the previous one. + (detect_type_change): Renamed to detect_type_change_1. New parameter + comp_type. Set up new fields in tci, build known type jump + functions if the new type can be identified. + (detect_type_change): New function. + * tree.h (DECL_CONTEXT): Comment new use. + +2011-11-03 Richard Guenther + + PR lto/48217 + * lto-wrapper.c (get_options_from_collect_gcc_options): Properly + decode an encoded literal '. + +2011-11-03 Tristan Gingold + + * collect2.c (main): Add support of -f (response file) on AIX. + +2011-11-03 Ira Rosen + + PR tree-optimization/50912 + * tree-vectorizer.h (slp_void_p): New. + (struct _slp_tree): Replace left and right with children. Update + documentation. + (struct _slp_oprnd_info): New. + (vect_get_vec_defs): Declare. + (vect_get_slp_defs): Update arguments. + * tree-vect-loop.c (vect_create_epilog_for_reduction): Call + vect_get_vec_defs instead of vect_get_slp_defs. + (vectorizable_reduction): Likewise. + * tree-vect-stmts.c (vect_get_vec_defs): Remove static, add argument. + Update call to vect_get_slp_defs. + (vectorizable_conversion): Update call to vect_get_vec_defs. + (vectorizable_assignment, vectorizable_shift, + vectorizable_operation): Likewise. + (vectorizable_type_demotion): Call vect_get_vec_defs instead of + vect_get_slp_defs. + (vectorizable_type_promotion, vectorizable_store): Likewise. + (vect_analyze_stmt): Fix typo. + * tree-vect-slp.c (vect_free_slp_tree): Update SLP tree traversal. + (vect_print_slp_tree, vect_mark_slp_stmts, + vect_mark_slp_stmts_relevant, vect_slp_rearrange_stmts, + vect_detect_hybrid_slp_stmts, vect_slp_analyze_node_operations, + vect_schedule_slp_instance): Likewise. + (vect_create_new_slp_node): New. + (vect_create_oprnd_info, vect_free_oprnd_info): Likewise. + (vect_get_and_check_slp_defs): Pass information about defs using + oprnds_info, allow any number of operands. + (vect_build_slp_tree): Likewise. Update calls to + vect_get_and_check_slp_defs. Fix comments. + (vect_analyze_slp_instance): Move node creation to + vect_create_new_slp_node. + (vect_get_slp_defs): Allow any number of operands. + +2011-11-02 Peter Bergner + Iain Sandoe + + * config/rs6000/rs6000.c (USE_HIDDEN_LINKONCE): New define. + (get_ppc476_thunk_name): Use it. + (rs6000_code_end): Likewise. + (macho_branch_islands): Fix typo. + +2011-11-02 Paolo Carlini + Jason Merrill + + PR c++/50810 + * configure.ac: Add -Wno-narrowing to warning options. + * doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update. + +2011-11-02 Eric Botcazou + + PR target/50945 + * config/sparc/sparc.md (movsf_insn): Reindent constraints. + (movdf_insn_sp32): Likewise. Remove redundant G constraint. + (movdf_insn_sp64): Likewise. + (DFmode splitter): Do not test TARGET_FPU. + (movtf_insn_sp32): Reindent constraints. + (movtf_insn_sp32_no_fpu): Likewise. + (movtf_insn_sp64): Likewise. + (movtf_insn_sp64_hq): Likewise. + (movtf_insn_sp64_no_fpu): Likewise. + +2011-11-02 Paolo Carlini + + PR c++/50956 + * builtins.c (fold_builtin_memchr): Fix cast. + +2011-11-02 Teresa Johnson + + * config/i386/predicates.md (promotable_binary_operator): Add minus + to the list of promotable operators. + +2011-11-02 Rainer Orth + + * gthr-single.h, gthr.h: Move to ../libgcc. + * gthr-aix.h: Move to ../libgcc/config/rs6000. + * gthr-dce.h: Move to ../libgcc/config/pa. + * gthr-lynx.h: Move to ../libgcc/config. + * gthr-mipssde.h: Move to ../libgcc/config/mips. + * gthr-posix.h: Move to ../libgcc/config. + * gthr-rtems.h: Likewise. + * gthr-tpf.h: Move to ../libgcc/config/s390. + * gthr-vxworks.h: Move to ../libgcc/config. + * gthr-win32.h: Move to ../libgcc/config/i386. + * configure.ac (gthread_flags): Remove + (gthr-default.h): Don't create. + (thread_file): Don't substitute. + * configure: Regenerate. + * Makefile.in (GCC_THREAD_FILE): Remove. + (GTHREAD_FLAGS): Remove. + (libgcc.mvars): Remove GTHREAD_FLAGS. + * config/t-vxworks (EXTRA_HEADERS): Remove. + +2011-11-02 Rainer Orth + Paolo Bonzini + + * configure.ac (libgcc_tm_file_list, libgcc_tm_include_list): + Remove. + * configure: Regenerate. + * Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list): Remove. + (TM_H): Remove libgcc_tm.h, $(libgcc_tm_file_list). + (libgcc_tm.h, cs-libgcc_tm.h): Remove. + (clean): Remove libgcc_tm.h + * mkconfig.sh: Don't include libgcc_tm.h in tm.h. + * config.gcc (libgcc_tm_file): Remove. + (arm*-*-linux*): Remove libgcc_tm_file for arm*-*-linux-*eabi. + (arm*-*-uclinux*): Remove libgcc_tm_file for arm*-*-uclinux*eabi. + (arm*-*-eabi*, arm*-*-symbianelf*): Remove libgcc_tm_file. + (avr-*-rtems*): Likewise. + (avr-*-*): Likewise. + (frv-*-elf): Likewise. + (frv-*-*linux*): Likewise. + (h8300-*-rtems*): Likewise. + (h8300-*-elf*): Likewise. + (i[34567]86-*-darwin*): Likewise. + (x86_64-*-darwin*): Likewise. + (rx-*-elf*): Likewise. + (tic6x-*-elf): Likewise. + (tic6x-*-uclinux): Likewise. + (i[34567]86-*-linux*, x86_64-*-linux*): Likewise. + +2011-11-02 Rainer Orth + + * 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. + +2011-11-02 Rainer Orth + + * 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. + +2011-11-02 Rainer Orth + + * 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. + +2011-11-02 Uros Bizjak + + * config/i386/i386.c (bdesc_args) [IX86_BUILTIN_CVTTPD2DQ256]: Use + CODE_FOR_fix_truncv4dfv4si2, not CODE_FOR_fix_truncv4sfv4si2. + +2011-11-02 Rainer Orth + + 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. + +2011-11-02 Richard Guenther + + PR tree-optimization/50902 + * tree-vect-stmts.c (vectorizable_load): Properly convert + an invariant initializer element. + +2010-11-02 Richard Guenther + + PR tree-optimization/50890 + * gimple.h (gimple_fold_call): Remove. + * gimple-fold.c (fold_stmt_1): Move all call related code to ... + (gimple_fold_call): ... here. Make static. Update the + cannot-inline flag on direct calls. + * ipa-inline.c (early_inliner): Copy the cannot-inline flag + from the statements to the edges. + +2011-11-01 Ian Lance Taylor + + * godump.c (struct macro_hash_value): Define. + (macro_hash_hashval): New static function. + (macro_hash_eq, macro_hash_del): New static functions. + (go_define): Use macro_hash_value to store values in macro_hash. + Replace an old value on a redefinition. Don't print anything to + go_dump_file. + (go_undef): Delete the entry from the hash table. + (go_output_typedef): For an enum, use macro_hash_value, and don't + print anything to go_dump_file. + (go_print_macro): New static function. + (go_finish): Traverse macro_hash with go_print_macro. + (dump_go_spec_init): Update macro_hash creation for macro_hash_value. + +2011-11-02 Alan Modra + + * config/rs6000/rs6000.c (rs6000_code_end): Declare ATTRIBUTE_UNUSED. + +2011-11-01 Paolo Carlini + + PR c++/44277 + * doc/invoke.texi: Document -Wzero-as-null-pointer-constant. + +2011-11-01 Andrew Stubbs + + * config/arm/bpabi.h (BE8_LINK_SPEC): Recognize generic-armv7 tuning. + +2011-11-01 Uros Bizjak + + * config/i386/i386.md (splitters for int-float conversion): Use + SUBREG_REG on SUBREGs in splitter constraints. + +2011-11-01 Jakub Jelinek + + * config/i386/i386-protos.h (ix86_expand_adjust_ufix_to_sfix_si): New + prototype. + * config/i386/i386.c (ix86_expand_adjust_ufix_to_sfix_si): New + function. + * config/i386/sse.md (fixuns_trunc2): Use it. + (ssepackfltmode): New mode attr. + (vec_pack_ufix_trunc_): New expander. + +2011-11-01 Uros Bizjak + + PR target/50940 + * config/i386/i386.md (floatsi2_vector_sse_with_temp splitter): + Compare mode with V4SFmode, not V4SImode. + +2011-11-01 Peter Bergner + + * config.gcc (powerpc*-*-linux*): Add powerpc*-*-linux*ppc476* variant. + * config/rs6000/476.h: New file. + * config/rs6000/476.opt: Likewise. + * config/rs6000/rs6000.h (TARGET_LINK_STACK): New define. + (SET_TARGET_LINK_STACK): Likewise. + (TARGET_ASM_CODE_END): Define. + * config/rs6000/rs6000.c (rs6000_option_override_internal): Enable + TARGET_LINK_STACK for -mtune=476 and -mtune=476fp. + (rs6000_legitimize_tls_address): Emit the link stack preserving GOT + code if TARGET_LINK_STACK. + (rs6000_emit_load_toc_table): Likewise. + (output_function_profiler): Likewise + (macho_branch_islands): Likewise + (machopic_output_stub): Likewise + (get_ppc476_thunk_name): New function. + (rs6000_code_end): Likewise. + * config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b): + Convert to a define_expand. + (load_toc_v4_PIC_1_normal): New define_insn. + (load_toc_v4_PIC_1_476): Likewise. + (load_toc_v4_PIC_1b_normal): Likewise. + (load_toc_v4_PIC_1b_476): Likewise. + +2011-11-01 Georg-Johann Lay + + PR target/50910 + * config/avr/avr.opt (-mbranch-cost=): New option. + * config/avr/avr.h (BRANCH_COST): Define to avr_branch_cost. + * config/avr/avr.c (avr_rtx_costs_1): Adjust [U]DIV/[U]MOD costs. + * config/avr/avr.md (*addqi3.lt0, *addhi3.lt0, *addsi3.lt0): New insns. + (*addhi3_zero_extend1): Remove % in constraint of operand 1. + (*addhi3.sign_extend1, *subhi3.sign_extend2): New insns. + +2011-11-01 Tom de Vries + + PR tree-optimization/50908 + * tree-ssa-tail-merge.c (update_vuses): Now that edges are removed + before update_vuses, test for 1 predecessor rather than two. + (delete_block_update_dominator_info): New function, part of it factored + out of ... + (replace_block_by): Use delete_block_update_dominator_info. Call + update_vuses after deleting bb1 and updating dominator info, instead of + before. + +2011-11-01 David S. Miller + + * config/sparc/sparc.c (vector_init_faligndata): New function. + (sparc_expand_vector_init): Use it for V4HImode on VIS1. + + * config/sparc/sparc.c (sparc_expand_vcond): New function. + * config/sparc/sparc-protos.h (sparc_expand_vcond): Declare it. + * config/sparc/sparc.md (vcond): New VIS3 expander. + (vconduv8qiv8qi): Likewise. + +2011-11-01 Alexandre Oliva + + PR debug/50869 + * cselib.c (cfa_base_preserved_regno): Initialize. + (cselib_expand_value_rtx_1): Don't expand it. + * var-tracking.c (vt_expand_var_loc_chain): Initialize depth. + Check it's only zero if result is NULL. + +2011-11-01 Jakub Jelinek + + * config/i386/sse.md (fixuns_trunc2): New + expander. + + * config/i386/sse.md (sseintvecmode): Remove duplicate modes. + (sseintvecmodelower): New mode iterator. + (floatv8siv8sf2, floatunsv4siv4sf2): Macroize into... + (float2): ... this using VF1 iterator. + (floatunsv4siv4sf2): Macroize into... + (floatuns2): ... this using VF1 iterator. + +2011-10-31 David S. Miller + + * config/sparc/sparc.md (cmask patterns): Allow zero operand. + + * dwarf2out.c (cached_next_real_insn): New. + (dwarf2out_end_epilogue): Set it to NULL_RTX. + (dwarf2out_var_location): Remove cached_next_real_insn local static. + +2011-10-31 Richard Henderson + + * config/i386/sse.md (floatv8siv8sf2): Rename from avx_cvtdq2ps256. + (floatv4siv4sf2): Rename from sse2_cvtdq2ps. + (floatunsv4siv4sf2): Rename from sse2_cvtudq2ps. + (fix_truncv8sfv8si2): Rename from avx_cvttps2dq256. + (fix_truncv4sfv4si2): Rename from sse2_cvttps2dq. + (floatv4siv4df2): Rename from avx_cvtdq2pd256. + (fix_truncv4dfv4si2): Rename from avx_cvttpd2dq256. + (vec_unpacku_float_hi_v8si): Update for insn pattern name changes. + * config/i386/i386.md (splitters for int-float conversion): Likewise. + * config/i386/i386.c (ix86_split_convert_uns_si_sse): Likewise. + (bdesc_args): Likewise. + (enum ix86_builtins) [IX86_BUILTIN_CVTUDQ2PS]: Remove. + (ix86_vectorize_builtin_conversion): Remove. + (TARGET_VECTORIZE_BUILTIN_CONVERSION): Remove. + +2011-10-31 Martin Jambor + + * ipa-prop.c (mark_modified): Moved up in the file. + (is_parm_modified_before_call): Renamed to + is_parm_modified_before_stmt, moved up in the file. + (load_from_unmodified_param): New function. + (compute_complex_assign_jump_func): Also attempt to create pass + through jump functions for values loaded from (addressable) + parameters. + +2011-10-31 Jakub Jelinek + + * tree-vect-stmts.c (vectorizable_shift): If op1 is vect_external_def + in a loop and has different type from op0, cast it to op0's type + before the loop first. For slp give up. Don't crash if op1_vectype + is NULL. + +2011-10-31 Paul Brook + + * cgraphunit.c: Don't mark clones as static constructors. + +2011-10-31 David Edelsohn + + * gcc-ar: Do not include stdio.h. + +2011-10-31 Diego Novillo + + * tree-streamer-out.c (pack_ts_base_value_fields): Emit + TYPE_ADDR_SPACE. + * tree-streamer-in.c (unpack_ts_base_value_fields): Read + TYPE_ADDR_SPACE. + +2011-10-30 David S. Miller + + * config/sparc/sparc.c (vector_init_bshuffle): New function. + (vector_init_fpmerge): New function. + (sparc_expand_vector_init): Use them to improve non-const cases. + + * dwarf2out.c (dwarf2out_var_location): When processing several + consecutive location notes, cache the result of next_real_insn(). + +2011-10-30 Uros Bizjak + + * config/i386/i386.md (avx2_vec_dup): Macroize insn from + avx2_vec_dup{v8sf,v4sf} using VF1 mode iterator. + (vec_dupv4sf): Remove expander. + (vec_dupv4sf): Merge from *vec_dupv4sf and *vec_dupv4sf_avx. + (vec_dupv2df): Remove expander. + (vec_dupv2df): Merge from *vec_dupv2df and *vec_dupv2df_sse3. + (*vec_concatv2df): Merge *vec_concatv2df_sse3. + (*vec_dupv4si): Merge *vec_dupv4si_avx. + (*vec_dupv2di): Merge *vec_dupv2di_sse3. + +2011-10-30 Dmitry Plotnikov + + * tree-cfg.c (verify_gimple_assign_unary): Allow vector conversions. + * optabs.c (supportable_convert_operation): New function. + * optabs.h (supportable_convert_operation): New prototype. + * tree-vect-stmts.c (vectorizable_conversion): Change condition and + behavior for NONE modifier case. + * tree.h (VECTOR_INTEGER_TYPE_P): New macro. + +2011-10-30 Jakub Jelinek + + * tree-vectorizer.h (NUM_PATTERNS): Bump to 9. + * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): New + function. + (vect_vect_recog_func_ptrs): Add it. + +2011-10-30 David S. Miller + + * reorg.c (label_before_next_insn): New function. + (relax_delay_slots): Use it instead of prev_label. + * rtl.h (prev_label): Delete declaration. + * emit-rtl.c (prev_label): Remove. + +2011-10-30 Revital Eres + + * modulo-sched.c (generate_prolog_epilog): Mark prolog and epilog + as BB_DISABLE_SCHEDULE. + (mark_loop_unsched): New function. + (sms_schedule): Call it. + +2011-10-29 John David Anglin + + PR target/50617 + * config/pa/protos.h (attr_length_save_restore_dltp): Delete. + (cmpib_comparison_operator): Likewise. + (following_cal, output_and, output_ior, output_move_double, + output_fp_move_double, output_block_move, output_block_clear, + output_cbranch, output_lbranch, output_bb, output_bvb, output_dbra, + output_movb, output_parallel_movb, output_parallel_addb, output_call, + output_indirect_call, output_millicode_call, output_mul_insn, + output_div_insn, output_mod_insn, singlemove_string, + output_arg_descriptor, output_global_address, print_operand, + legitimize_pic_address, hppa_encode_label, symbolic_expression_p, + fmpyaddoperands, fmpysuboperands, emit_bcond_fp, emit_move_sequence, + emit_hpdiv_const, is_function_label_plus_const, jump_in_call_delay, + hppa_fpstore_bypass_p, attr_length_millicode_call, attr_length_call, + attr_length_indirect_call, return_addr_rtx, function_arg_padding, + insn_refs_are_delayed, get_deferred_plabel, ldil_cint_p, zdepi_cint_p, + output_ascii, compute_frame_size, and_mask_p, cint_ok_for_move, + hppa_expand_prologue, hppa_expand_epilogue, ior_mask_p, + compute_zdepdi_operands, output_64bit_and, output_64bit_ior, + reloc_needed, magic_milli, shadd_constant_p): Consistently prefix + exported functions and variables with "pa_". + * config/pa/predicates.md: Likewise. + * config/pa/pa64-hpux.h: likewise. + * config/pa/som.h: Likewise. + * config/pa/elf.h: Likewise. + * config/pa/pa64-linux.h: Likewise. + * config/pa/pa.md: Likewise. + * config/pa/pa.c: Likewise. + * config/pa/pa-linux.h: Likewise. + * config/pa/pa.h: Likewise. + * config/pa/constraints.md: Likewise. + +2011-10-29 Uros Bizjak + + * config/i386/i386.md (xop_sha3): Rename from xop_ashl3. + Update all uses. + (xop_shl3): Rename from xop_lshl3. Update all uses. + * config/i386/i386.c: Update all uses. + +2011-10-29 Uros Bizjak + + * config/i386/i386.md (lshlv16qi3): Remove expander. + (lshrv16qi3): New expander. + (v16qi3): Macroize expander from ashrv16qi3 and lshrv16qi3 + using any_shiftrt code iterator. Cleanup. + (ashlv16qi3): Cleanup. + (ashrv2di3): Ditto. + +2011-10-29 John David Anglin + + PR target/50691 + * config/pa/pa.c (emit_move_sequence): Legitimize TLS symbol + references. + (pa_legitimate_constant_p): Return false for TLS_MODEL_GLOBAL_DYNAMIC + and TLS_MODEL_LOCAL_DYNAMIC symbol references. + +2011-10-29 Georg-Johann Lay + + PR target/50887 + * config/avr/avr.opt (-maccumulate-args): New option. + * config/avr/avr.h (STARTING_FRAME_OFFSET): Redefine to + avr_starting_frame_offset. + (ACCUMULATE_OUTGOING_ARGS): Define to avr_accumulate_outgoing_args. + * config/avr/avr.md (UNSPECV_WRITE_SP_IRQ_ON): Remove. + (UNSPECV_WRITE_SP_IRQ_OFF): Remove. + (UNSPECV_WRITE_SP): New constant. + (*addhi3_sp_R): Rewrite to... + (*addhi3_sp): ...this new insn. + (movhi_sp_r_irq_off, movhi_sp_r_irq_on): Combine to... + (movhi_sp_r): ...this new insn. + * config/avr/avr-protos.h (avr_accumulate_outgoing_args): New. + (avr_starting_frame_offset): New. + * config/avr/avr.c (avr_accumulate_outgoing_args): New function. + (avr_starting_frame_offset): New function. + (avr_outgoing_args_size): New static function. + (avr_initial_elimination_offset): Use it. + (avr_simple_epilogue): Use it. + (avr_asm_function_end_prologue): Use it. + (expand_epilogue): Use it. + (expand_prologue): Use it. Break out code to... + (avr_prologue_setup_frame): ...this new static function. + (avr_can_eliminate): Allow eliminating to frame pointer if there + is one. + (avr_frame_pointer_required_p): Use frame pointer if target has a + nonlocal label. + * config/avr/constraints.md (R): Remove. + (Csp): New constraint. + * config/avr/predicates.md (avr_sp_immediate_operand): Use it. + +2011-10-29 Andi Kleen + + * gcc-ar.c (target_machine): Add. + +2011-10-29 Anatoly Sokolov + + * config/cris/cris.c (reg_ok_for_base_p, reg_ok_for_index_p, + cris_constant_index_p, cris_base_p, cris_index_p, + cris_base_or_autoincr_p, cris_bdap_index_p, cris_biap_index_p, + cris_legitimate_address_p): New functions. + (TARGET_LEGITIMATE_ADDRESS_P): Define. + (cris_pic_symbol_type, cris_valid_pic_const): Change arguments type + from rtx to const_rtx. + (cris_print_operand_address, cris_address_cost, + cris_side_effect_mode_ok): Use + cris_constant_index_p, cris_base_p, cris_base_or_autoincr_p, + cris_biap_index_p and cris_bdap_index_p. + * config/cris/cris.h (CONSTANT_INDEX_P, BASE_P, BASE_OR_AUTOINCR_P, + BDAP_INDEX_P, BIAP_INDEX_P, GO_IF_LEGITIMATE_ADDRESS, + REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P): Remove. + (EXTRA_CONSTRAINT_Q, EXTRA_CONSTRAINT_R, EXTRA_CONSTRAINT_T): Use + cris_constant_index_p, cris_base_p, cris_base_or_autoincr_p, + cris_biap_index_p and cris_bdap_index_p. + * config/cris/cris.md (moversideqi movemsideqi peephole2): Use + cris_base_p. + * config/cris/cris-protos.h (cris_constant_index_p, cris_base_p, + cris_base_or_autoincr_p, cris_bdap_index_p, cris_biap_index_p): New + prototype. + (cris_pic_symbol_type, cris_valid_pic_const): Update prototype. + +2011-10-21 Andi Kleen + + * ggc-page (PAGE_ALIGN): Add. + (alloc_page, ggc_pch_total_size, ggc_pch_this_base, ggc_pch_read): + Replace ROUND_UP with PAGE_ALIGN. + +2011-10-20 Andi Kleen + + * ggc-page (alloc_anon): Add check argument. + (alloc_page): Add fallback to 1 page allocation. + Adjust alloc_anon calls to new argument. + +2011-10-18 Andi Kleen + + * ggc-page (release_pages): First free large continuous + chunks in the madvise path. + +2011-10-18 Andi Kleen + + * ggc-page.c (alloc_pages): Always round up entry_size. + +2011-10-19 Andi Kleen + + * Makefile.in (MOSTLYCLEANFILES): Add gcc-ar/nm/ranlib. + (native): Add gcc-ar, gcc-nm, gcc-ranlib. + (AR_LIBS, gcc-ar, gcc-ar.o, gcc-ranlib, gcc-ranlib.o, + gcc-nm, gcc-nm.o, gcc-ranlib.c, gcc-nm.c): Add. + (install): Depend on install-gcc-ar. + (install-gcc-ar): Add. + (uninstall): Uninstall gcc-ar, gcc-nm, gcc-ranlib. + * gcc-ar.c: Add new file. + +2011-10-28 Pat Haugen + + * config/rs6000/rs6000.md (define_attr "type"): Add vecdouble. + * config/rs6000/vsx.md (VStype_simple, VStype_mul): Use vecdouble + type for V2DF. + (VStype_div): Use vector types for V2DF/V4SF. + (VStype_sqrt): Use *sqrt types. + (VS_spdp_type): Change type to vecdouble. + (*vsx_fmav2df4, *vsx_nfmsv2df4, vsx_xvcvdpsxws, vsx_xvcvdpuxws, + vsx_xvcvuxdsp, vsx_xvcvsxwdp, vsx_xvcvuxwdp, vsx_xvcvspsxds, + vsx_xvcvspuxds): Likewise. + (*vsx_fms4): Set type via . + (*vsx_eq__p, *vsx_gt__p, *vsx_ge__p): Set type via + . + * config/rs6000/power7.md (power7-vecstore): Correct VSU pipe. + (power7-fpcompare, power7-sdiv, power7-ddiv, power7-sqrt, + power7-dsqrt): Correct insn latency. + (power7-vecsimple): Add veccmp type and correct dispatch/VSU values. + (power7-veccmp): Delete. + (power7-vecfloat): Correct latency/dispatch/VSU values. + (define_bypass "power7-vecfloat"): Correct latency and types. + (power7-veccomplex, power7-vecperm): Correct dispatch/VSU values. + (power7-vecdouble, power7-vecfdiv, power7-vecdiv): New. + +2011-10-28 Uros Bizjak + + * config/i386/i386.md (shift_insn): Rename code attribute from + shiftrt_insn. Also handle ashift RTX. + (shift): Rename code attribute from shiftrt. Also handle ashift RTX. + (vshift): New code attribute. + (*): Rename from *. Update asm templates. + (any_lshift): Move and rename code iterator from ... + * config/i386/sse.md (lshift): ... here. + (lshift_insn): Remove code attribute. + (lshift): Remove code attribute. + (vlshr3): Use lshiftrt RTX. + (vashr3, ashrv16qi3, ashrv2di3): Use ashiftrt RTX. + (vashl3, ashlv16qi3): Use ashift RTX. + (avx2_v): Rename from avx2_v. Use + any_lshift code iterator. Update asm template. + (3): Macroize insn from lshr3 and ashl3 + usign any_lshift code iterator. + * config/i386/mmx.md (mmx_3): Macroize insn from + mmx_lshr3 and mmx_ashl3 usign any_lshift code iterator. + * config/i386/i386.c (bdesc_args) <__builtin_ia32_psll>: Update. + +2011-10-28 Georg-Johann Lay + + PR target/49313 + * config/avr/avr.md (parityhi2): Expand allowing pseudos. + (*parityhi2): New pre-reload insn-and-split to map 16-bit parity + to the libgcc insn. + (*parityqihi2): Same for 8-bit parity. + +2011-10-28 Julian Brown + + PR rtl-optimization/47918 + * reload1.c (set_initial_label_offsets): Use initial offsets + for labels on the nonlocal_goto_handler_labels chain. + +2011-10-28 Iain Sandoe + + * config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA): + Move darwin-fpsave.asm from here to ... LIB2FUNCS_EXTRA. + (LIB2FUNCS_EXTRA): Add darwin-gpsave.asm. + (TARGET_LIBGCC2_CFLAGS): Ensure that fPIC and -pipe are inherited from + config/t-darwin. + * config/rs6000/darwin.h (FP_SAVE_INLINE): Adjust to enable. + (GP_SAVE_INLINE): Likewise. + (SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX, + RESTORE_FP_SUFFIX): Set to empty strings. + * config/rs6000/rs6000.c (rs6000_savres_strategy): Implement for Darwin. + (debug_stack_info): Print savres_strategy. + (rs6000_savres_routine_name): Implement for Darwin. + (rs6000_make_savres_rtx): Adjust used register for Darwin. + (rs6000_emit_prologue): Implement out-of-line saves for Darwin. + (rs6000_output_function_prologue): Don't emit .extern for Mach-O. + (rs6000_emit_epilogue): Implement out-of-line saves for Darwin. + * config/rs6000/darwin-gpsave.asm: New file. + +2011-10-28 Jakub Jelinek + + * config/i386/sse.md (VI4SD_AVX2): Removed. + (VI48_AVX2, VI128_128, VI48_128, VI48_256): New mode iterators. + (vashl3): Use VI12_128 iterator instead of VI124_128. + Add another expander using VI48_128 iterator for + TARGET_AVX2 || TARGET_XOP and another using VI48_256 iterator + for TARGET_AVX2. + (vlshr3): Likewise. Change register_operand predicate to + nonimmediate_operand on last operand in the VI12_128 expander. + (vashr3): Use VI128_128 iterator instead of VI124_128. + (vashrv4si3, vashrv8si3): New expanders. + (avx2_ashrvv8si, avx2_ashrvv4si, avx2_vv8si, + avx2_vv2di): Removed. + (avx2_ashrv): New insn with VI4_AVX2 iterator. + (avx2_v): Macroize using VI48_AVX2 + iterator. Simplify pattern. + 2010-10-28 Richard Guenther PR driver/50876 @@ -70,7 +1591,7 @@ 2011-10-27 Uros Bizjak PR target/50875 - * config/i386/sse.md (*avx2_unpcklpd256): Remove extra insn + * config/i386/sse.md (*avx_unpcklpd256): Remove extra insn constraints. Change alternative 1 to "x,m,1". 2011-10-27 Jakub Jelinek