OSDN Git Service

2011-11-03 Martin Jambor <mjambor@suse.cz>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 3b24734..0b95499 100644 (file)
+2011-11-03  Martin Jambor  <mjambor@suse.cz>
+
+       * 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  <rguenther@suse.de>
+
+       PR lto/48217
+       * lto-wrapper.c (get_options_from_collect_gcc_options): Properly
+       decode an encoded literal '.
+
+2011-11-03  Tristan Gingold  <gingold@adacore.com>
+
+       * collect2.c (main): Add support of -f (response file) on AIX.
+
+2011-11-03  Ira Rosen  <ira.rosen@linaro.org>
+
+       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  <bergner@vnet.ibm.com>
+           Iain Sandoe  <iains@gcc.gnu.org>
+
+       * 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  <paolo.carlini@oracle.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/50810
+       * configure.ac: Add -Wno-narrowing to warning options.
+       * doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.
+
+2011-11-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       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  <paolo.carlini@oracle.com>
+
+       PR c++/50956
+       * builtins.c (fold_builtin_memchr): Fix cast.
+
+2011-11-02  Teresa Johnson  <tejohnson@google.com>
+
+       * config/i386/predicates.md (promotable_binary_operator): Add minus
+       to the list of promotable operators.
+
+2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * 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  <ro@CeBiTec.Uni-Bielefeld.DE>
+           Paolo Bonzini  <bonzini@gnu.org>
+
+       * 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  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * 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  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * 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  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * 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  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (bdesc_args) [IX86_BUILTIN_CVTTPD2DQ256]: Use
+       CODE_FOR_fix_truncv4dfv4si2, not CODE_FOR_fix_truncv4sfv4si2.
+
+2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       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  <rguenther@suse.de>
+
+       PR tree-optimization/50902
+       * tree-vect-stmts.c (vectorizable_load): Properly convert
+       an invariant initializer element.
+
+2010-11-02  Richard Guenther  <rguenther@suse.de>
+
+       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  <iant@google.com>
+
+       * 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  <amodra@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_code_end): Declare ATTRIBUTE_UNUSED.
+
+2011-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/44277
+       * doc/invoke.texi: Document -Wzero-as-null-pointer-constant.
+
+2011-11-01  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/arm/bpabi.h (BE8_LINK_SPEC): Recognize generic-armv7 tuning.
+
+2011-11-01  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (splitters for int-float conversion): Use
+       SUBREG_REG on SUBREGs in splitter constraints.
+
+2011-11-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * 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_trunc<mode><sseintvecmodelower>2): Use it.
+       (ssepackfltmode): New mode attr.
+       (vec_pack_ufix_trunc_<mode>): New expander.
+
+2011-11-01  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/50940
+       * config/i386/i386.md (floatsi<mode>2_vector_sse_with_temp splitter):
+       Compare <ssevecmode>mode with V4SFmode, not V4SImode.
+
+2011-11-01  Peter Bergner  <bergner@vnet.ibm.com>
+
+       * 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  <avr@gjlay.de>
+
+       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  <tom@codesourcery.com>
+
+       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  <davem@davemloft.net>
+
+       * 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<mode><mode>): New VIS3 expander.
+       (vconduv8qiv8qi): Likewise.
+
+2011-11-01  Alexandre Oliva  <aoliva@redhat.com>
+
+       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  <jakub@redhat.com>
+
+       * config/i386/sse.md (fixuns_trunc<mode><sseintvecmodelower>2): New
+       expander.
+
+       * config/i386/sse.md (sseintvecmode): Remove duplicate modes.
+       (sseintvecmodelower): New mode iterator.
+       (floatv8siv8sf2, floatunsv4siv4sf2): Macroize into...
+       (float<sseintvecmodelower><mode>2): ... this using VF1 iterator.
+       (floatunsv4siv4sf2): Macroize into...
+       (floatuns<sseintvecmodelower><mode>2): ... this using VF1 iterator.
+
+2011-10-31  David S. Miller  <davem@davemloft.net>
+
+       * 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  <rth@redhat.com>
+
+       * 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  <mjambor@suse.cz>
+
+       * 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  <jakub@redhat.com>
+
+       * 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  <paul@codesourcery.com>
+
+       * cgraphunit.c: Don't mark clones as static constructors.
+
+2011-10-31  David Edelsohn  <dje.gcc@gmail.com>
+
+       * gcc-ar: Do not include stdio.h.
+
+2011-10-31  Diego Novillo  <dnovillo@google.com>
+
+       * 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  <davem@davemloft.net>
+
+       * 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  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (avx2_vec_dup<mode>): 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  <dplotnikov@ispras.ru>
+
+       * 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  <jakub@redhat.com>
+
+       * 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  <davem@davemloft.net>
+
+       * 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  <revital.eres@linaro.org>
+
+       * 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  <dave.anglin@nrc-cnrc.gc.ca>
+
+       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  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (xop_sha<mode>3): Rename from xop_ashl<mode>3.
+       Update all uses.
+       (xop_shl<mode>3): Rename from xop_lshl<mode>3.  Update all uses.
+       * config/i386/i386.c: Update all uses.
+
+2011-10-29  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (lshlv16qi3): Remove expander.
+       (lshrv16qi3): New expander.
+       (<shift_insn>v16qi3): Macroize expander from ashrv16qi3 and lshrv16qi3
+       using any_shiftrt code iterator. Cleanup.
+       (ashlv16qi3): Cleanup.
+       (ashrv2di3): Ditto.
+
+2011-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       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  <avr@gjlay.de>
+
+       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  <ak@linux.intel.com>
+
+       * gcc-ar.c (target_machine): Add.
+
+2011-10-29  Anatoly Sokolov  <aesok@post.ru>
+
+       * 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  <ak@linux.intel.com>
+
+       * 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  <ak@linux.intel.com>
+
+       * 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  <ak@linux.intel.com>
 
        * ggc-page (release_pages): First free large continuous
        * 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.
+       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.