X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=14bc18945794a13b97d01fe7c9aed50e1ceb19a7;hp=e07de320d7fe95385b78c1ad1d0be4e57aca7464;hb=f22216ac22a0f98a3563ba4e6c02e85c528097ce;hpb=eb78a89239c6d2881bc6e820b993088af7666c52 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e07de320d7f..8da2816c831 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,2480 @@ +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 + * lto-wrapper.c (get_options_from_collect_gcc_options): + Properly count arguments. + (run_gcc): Use an obstack to collect argv, properly separate + switches and their arguments. + +2011-10-28 Jakub Jelinek + + * tree-vect-stmts.c (vectorizable_shift): Give up if op1 has different + vector mode from vectype's mode. + +2011-10-28 Chung-Lin Tang + + PR rtl-optimization/49720 + * simplify-rtx.c (simplify_relational_operation_1): Detect + infinite recursion condition in "(eq/ne (plus x cst1) cst2) + simplifies to (eq/ne x (cst2 - cst1))" case. + +2011-10-27 David S. Miller + + * config/sparc/sparc.md (snedi_special): Only match when not VIS3. + (*snedi_zero): Likewise. + (*snedi_zero_trunc): Likewise. + (snedi_special_vis3): New expander. + (*snedi_zero_vis3): New insn. + (*snedi_zero_trunc_vis3): Likewise. + (*sltu_insn_vis3): Likewise. + (*sltu_insn_vis3_trunc): Likewise. + (addxc): Likewise. + (*addxc_trunc_sp64_vis3): Likewise. + * config/sparc/sparc.c (emit_scc_insn): When VIS3 use the + gen_snedi_special_vis3 expander, and try GTU/LTU addx based + sequences on DImode values. + + * config/sparc/sparc.md (64-bit vector moves): Use 'e' not 'f' + constraint. + + * regcprop.c (copyprop_hardreg_forward_1): Reject the + transformation when we narrow the mode on big endian. + +2011-10-27 Jakub Jelinek + + * config/i386/sse.md (avx_cvtpd2dq256_2, avx_cvttpd2dq256_2, + vec_pack_sfix_trunc_v4df, vec_pack_sfix_v4df): New expanders. + (*avx_cvtpd2dq256_2, *avx_cvttpd2dq256_2): New insns. + + * config/i386/i386.c (ix86_print_operand): Handle 'q' and 'x' + overrides for -masm=intel memory. + * config/i386/sse.md (sse2_cvtdq2pd, sse2_cvtps2pd, + sse4_1_v8qiv8hi2, avx2_v8qiv8si2, + sse4_1_v4hiv4si2, avx2_v4hiv4di2, + sse4_1_v2siv2di2): Use %q1 instead of %1 for -masm=intel. + (sse4_1_v4qiv4si2, avx2_v4qiv4di2, + sse4_1_v2hiv2di2): Use %k1 instead of %1 for -masm=intel. + (sse4_1_v2qiv2di2): Use %w1 instead of %1 for -masm=intel. + +2011-10-27 Martin Jambor + + * ipa-prop.c (compute_pass_through_member_ptrs): Rename parm_info + to parm_ainfo. + (ipa_compute_jump_functions_for_edge): Likewise. + (ipa_compute_jump_functions): Likewise. + (ipa_analyze_indirect_call_uses): Likewise. + (ipa_analyze_call_uses): Likewise. + (ipa_analyze_params_uses): Likewise. + (ipa_analyze_node): Likewise. + +2011-10-27 Uros Bizjak + + PR target/50875 + * config/i386/sse.md (*avx_unpcklpd256): Remove extra insn + constraints. Change alternative 1 to "x,m,1". + +2011-10-27 Jakub Jelinek + + * Makefile.in (build/gencheck.o): Depend on tree.def and + c-family/c-common.def. + + * tree-ssa-strlen.c: Include expr.h. + (get_stridx): Don't use c_strlen, instead use string_constant + and compute string length from it. + * Makefile.in (tree-ssa-strlen.o): Depend on $(EXPR_H). + +2011-10-27 Eric Botcazou + + PR rtl-optimization/46603 + PR bootstrap/50879 + * reload.c (push_reload): In the out case, restore previous behavior + for subregs that don't have word mode. + +2011-10-27 Ian Lance Taylor + + * cppdefault.c: Undef NATIVE_SYSTEM_HEADER_DIR if + CROSS_DIRECTORY_STRUCTURE is defined and TARGET_SYSTEM_ROOT is not. + (cpp_include_defaults): Only use NATIVE_SYSTEM_HEADER_DIR if it is + defined. + +2011-10-27 Richard Henderson + + * optabs.c (expand_vec_perm): Use the correct mode for scaling the + selector. Save the qimode constant selector for later use by the + qimode vec_perm pattern. + +2011-10-27 Bernd Schmidt + + * config/c6x/c6x.c (unit_req_imbalance, res_mii): Cast the first arg + to unit_req_factor to the right enum type. + (get_unit_operand_masks, reshuffle_units, try_rename_operands, + hwloop_optimize): Remove unused variables. + +2010-10-27 Richard Guenther + + PR middle-end/50731 + * tree-vect-generic.c (do_binop): Handle scalar operands. + +2011-08-27 Uros Bizjak + + PR target/37191 + * config/i386/sse.md (*vec_extract_v4sf_mem): Avoid combining registers + from different units in a single alternative. + +2011-10-26 David S. Miller + + * config/sparc/sparc.c (emit_scc_insn): Force attempt of v9 sequences + if we're comparing DImode and comparison is other than EQ or NE. + + * config/sparc/sparc.c (emit_scc_insn): Do not try v9 sequences until + LEU/LTU/GEU/GTU is attempted. + * config/sparc/sparc.md (*neg_snesi_sign_extend): New 64-bit insn + and split. + (*neg_seqsi_sign_extend): Likewise. + (*sltu_extend_sp64, *neg_sltu_extend_sp64, *sgeu_extend_sp64, + *neg_sgeu_extend_sp64): New insns. + + * config/sparc/sparc-protos.h (sparc_expand_conditional_move): Declare. + * config/sparc/sparc.md (movcc, movcc): Call it. + (*mov_cc_v9): Normalize to expect operand 0 always in operand 4. + (*mov_cc_reg_sp64): Likewise. + (*movsf_cc_v9): Likewise. + (*movsf_cc_reg_sp64): Likewise. + (*movdf_cc_v9): Likewise. + (*movdf_cc_reg_sp64): Likewise. + (*movtf_cc_hq_v9): Likewise. + (*movtf_cc_reg_hq_sp64): Likewise. + (*movtf_cc_v9): Likewise. + (*movtf_cc_reg_sp64): Likewise. + * config/sparc/sparc.c (sparc_expand_conditional_move): New function. + (sparc_print_operand): Delete 'c' and 'd' handling, no longer used. + +2011-10-26 Eric Botcazou + + * reload.c (reload_inner_reg_of_subreg): Change type of return value + and type of OUTPUT parameter to bool and adjust. Document MODE and + OUTPUT parameters. Use HARD_REGISTER_P. Reorder final condition + and improve associated comment. + (push_reload): Clarify and update comments about reloading of subregs. + Adjust calls to reload_inner_reg_of_subreg. Compute the class upfront + for the reloading of subregs in the out case as well. + +2011-10-26 Alexandre Oliva + + PR debug/50826 + * var-tracking.c (rtx_debug_expr_p): New. + (use_type): Don't use debug exprs to track non-VTA variables. + +2011-10-26 Jeff Law + + * doc/invoke.texi (sink-frequency-threshold): Document. + * tree-ssa-sink.c: Include params.h. + (select_best_block): New function. + (statement_sink_location): Use it. + * params.def (SINK_FREQUENCY_THRESHOLD): New PARAM. + +2011-10-26 Iain Sandoe + + PR target/48108 + * config/darwin.c (top level): Amend comments concerning LTO output. + (lto_section_num): New variable. (darwin_lto_section_e): New GTY. + (LTO_SECTS_SECTION, LTO_INDEX_SECTION): New. + (LTO_NAMES_SECTION): Rename. + (darwin_asm_named_section): Record LTO section counts and switches + in a vec of darwin_lto_section_e. + (darwin_file_start): Remove unused code. + (darwin_file_end): Put an LTO section termination label. Handle + output of the wrapped LTO sections, index and names table. + +2011-10-26 Alan Modra + + * config/rs6000/rs6000.c (rs6000_make_savres_rtx): Delete unneeded + declaration. + (rs6000_emit_stack_reset): Only return insn emitted when it adjusts sp. + (rs6000_make_savres_rtx): Rename to rs6000_emit_savres_rtx. Use + simple_return in pattern, emit instruction, and set jump_label. + (rs6000_emit_prologue): Update for rs6000_emit_savres_rtx. Use + simple_return rather than return. + (emit_cfa_restores): New function. + (rs6000_emit_epilogue): Emit cfa_restores when flag_shrink_wrap. + Add missing cfa_restores for SAVE_WORLD. Add missing LR cfa_restore + when using out-of-line gpr restore. Add missing LR and FP regs + cfa_restores for out-of-line fpr restore. Consolidate code setting + up cfa_restores. Formatting. Use LR_REGNO define. + (rs6000_output_mi_thunk): Use simple_return rather than return. + * config/rs6000/rs6000.md (sibcall*, sibcall_value*): Likewise. + (return_internal*): Likewise. + (any_return, return_pred, return_str): New iterators. + (return, conditional return insns): Provide both return and + simple_return variants. + * config/rs6000/rs6000.h (EARLY_R12, LATE_R12): Define. + (REG_ALLOC_ORDER): Move r12 before call-saved regs when FIXED_R13. + Move r11 and r0 later to suit shrink-wrapping. + +2011-10-26 Richard Guenther + + * lto-wrapper.c (run_gcc): Properly init/free obstack. + +2011-10-26 Jakub Jelinek + + * config/i386/i386.md (UNSPEC_VSIBADDR): New. + * config/i386/predicates.md (vsib_address_operand, + vsib_mem_operator): New predicates. + * config/i386/i386.c (ix86_print_operand_address): Handle + UNSPEC_VSIBADDR addresses. + * config/i386/sse.md (avx2_gathersi, avx2_gatherdi, + avx2_gatherdi256): Adjust expanders to use MEM with + UNSPEC_VSIBADDR address. + (*avx2_gathersi, *avx2_gatherdi, *avx2_gatherdi256): + Adjust insns to use MEM with UNSPEC_VSIBADDR address. + +2011-10-26 Tom de Vries + + PR tree-optimization/50763 + * tree-ssa-tail-merge.c (replace_block_by): Update vops if phi_vuse1 or + phi_vuse2 is NULL_TREE only if bb1 dominates or is dominated by bb2. + +2011-10-26 Richard Guenther + + PR lto/41844 + * Makefile.in (lto-wrapper): Depend on and link against opts-common.o. + (lto-wrapper.o): Depend on $(OPTS_H) and $(OPTIONS_H). + * lto-wrapper.c (get_options_from_collect_gcc_options): New function. + (run_gcc): Use it. Filter out language specific options. + +2011-10-26 Andreas Tobler + + * config/i386/freebsd64.h (LINK_SPEC): Emit the same warning as the + 32-bit target does. + +2011-10-25 Paolo Carlini + + PR driver/46617 + * gcc.c (main): Fix fatal_error string for translation. + +2011-10-25 Ian Lance Taylor + + * tree-eh.c (do_return_redirection): Remove return_value_p + parameter. Change all callers. + (lower_try_finally_nofallthru): Remove local return_val. + (lower_try_finally_onedest): Likewise. + (lower_try_finally_copy): Likewise. + (lower_try_finally_switch): Likewise. + +2011-10-25 H.J. Lu + + * config/i386/mmx.md (*mmx_maskmovq): Replace :SI with :P and + remove "&& !TARGET_64BIT" + (*mmx_maskmovq_rex): Removed. + +2011-10-25 Eric Botcazou + + PR rtl-optimization/46603 + * reload.c (push_reload): In the out case, reload the subreg as well + as the reg if it has word mode. + +2011-10-25 Eric Botcazou + + * dwarf2out.c (add_gnat_descriptive_type_attribute): Temporarily + suppress debug info for the parent type. + +2011-10-25 Eric Botcazou + + * config/ia64/ia64.c (ia64_profile_hook): Fix thinko. + +2011-10-25 Richard Henderson + + * config/i386/sse.md (VEC_EXTRACT_EVENODD_MODE): Remove. + (vec_extract_even, vec_extract_odd): Remove. + + * config/rs6000/altivec.md (vec_extract_evenv8hi, + vec_extract_evenv16qi, vec_extract_oddv4si, + vec_extract_oddv4sf): Remove. + + * config/spu/spu.md (vec_extract_evenv4si, vec_extract_evenv4sf, + vec_extract_evenv8hi, vec_extract_evenv16qi, vec_extract_oddv4si, + vec_extract_oddv4sf, vec_extract_oddv8hi, vec_extract_oddv16qi, + vec_interleave_highv4sf, vec_interleave_lowv4sf, + vec_interleave_highv4si, vec_interleave_lowv4si, + vec_interleave_highv8hi, vec_interleave_lowv8hi, + vec_interleave_highv16qi, vec_interleave_lowv16qi): Remove. + + * expr.c (expand_expr_real_2) [VEC_EXTRACT_EVEN_EXPR]: Use binop. + [VEC_EXTRACT_ODD_EXPR, VEC_INTERLEAVE_HIGH_EXPR]: Likewise. + [VEC_INTERLEAVE_LOW_EXPR]: Likewise. + * optabs.c (expand_binop): Implement vec_interleave_high_optab, + vec_interleave_low_optab, vec_extract_even_optab, + vec_extract_odd_optab with expand_vec_perm. + (can_vec_perm_for_code_p): New. + * optabs.h: Update. + * tree-vect-data-refs.c (vect_strided_store_supported): Allow for + fallback via can_vec_perm_for_code_p. + (vect_strided_load_supported): Likewise. + * tree-vect-generic.c (expand_vector_operations_1): Never lower + VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR, + VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR. + + * target.def (vec_perm_const_ok): Change parameters to mode and + array of indicies. + * doc/tm.texi: Rebuild. + * config/i386/i386.c (ix86_vectorize_vec_perm_const_ok): Change + parameters to mode and array of indicies. + * expr.c (expand_expr_real_2) [VEC_PERM_EXPR]: Expand operands here. + * optabs.c (can_vec_perm_p): Rename from can_vec_perm_expr_p. + Change parameters to mode and array of indicies. + (expand_vec_perm_1): Rename from expand_vec_perm_expr_1. + (expand_vec_perm): Rename from expand_vec_perm_expr. Change + parameters to mode and rtx inputs. Try lowering to QImode + vec_perm_const before trying fully variable permutation. + * optabs.h: Update decls. + * tree-vect-generic.c (lower_vec_perm): Extract array of indices from + VECTOR_CST to pass to can_vec_perm_p. + * tree-vect-slp.c (vect_get_mask_element): Change mask parameter type + from int pointer to unsigned char pointer. + (vect_transform_slp_perm_load): Update for change to can_vec_perm_p. + * tree-vect-stmts.c (perm_mask_for_reverse): Likewise. + + * tree.def (VEC_EXTRACT_EVEN_EXPR): Fix typo in text name. + (VEC_EXTRACT_ODD_EXPR, VEC_INTERLEAVE_HIGH_EXPR, + VEC_INTERLEAVE_LOW_EXPR): Likewise. + +2011-10-25 Mike Stump + + * reload.c (regno_clobbered_p): Fix typo. + +2011-10-25 Dodji Seketeli + + * input.c (expand_location): Rewrite using linemap_resolve_location + and linemap_expand_location. Add a comment. + +2011-10-25 Jakub Jelinek + + PR tree-optimization/50596 + * tree-vect-stmts.c (vect_mark_relevant): Only use + FOR_EACH_IMM_USE_FAST if lhs is SSA_NAME. + (vectorizable_store): If is_pattern_stmt_p look through + VIEW_CONVERT_EXPR on lhs. + * tree-vect-patterns.c (check_bool_pattern, adjust_bool_pattern): + Use unsigned type instead of signed. + (vect_recog_bool_pattern): Optimize also stores into bool memory in + addition to casts from bool to integral types. + (vect_mark_pattern_stmts): If pattern_stmt already has vinfo + created, don't create it again. + +2011-10-25 Kai Tietz + + * config/i386/i386.c (ix86_frame_pointer_required): Require + frame-pointer, if setjmp is used for 32-bit ms-abi. + +2011-10-24 Michael Meissner + + * builtins.c (set_builtin_user_assembler_name): Remove extra + newline added in October 11th, 2011 change. + +2011-10-24 David S. Miller + + * config/sparc/little-endian.opt: Delete. + * config.gcc: Remove references to config/sparc/little-endian.opt + * doc/invoke.texi: Remove documentation of -mlittl-endian on sparc. + * config/sparc/linux64.h: Delete references to -mlittle-endian. + * config/sparc/netbsd-elf.h: Likewise. + * config/sparc/openbsd64.h: Likewise. + * config/sparc/sparc.h: Likewise. + * config/sparc/sp64-elf.h: Likewise and delete overrides for + BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN. + * config/sparc/sparc.c (dump_target_flag_bits): Remove reference + to MASK_LITTLE_ENDIAN. + * config/sparc/sparc.opt (Mask(LITTLE_ENDIAN)): Delete. + + * config/sparc/sparc.md: Only use F, G, and C constraints in FP insns. + Only use D, Y, and Z constraints in vector insns. + + * config/sparc/sparc.md (cpu_feature, enabled): New attributes. + (*movsi_insn_novis3, *movsi_insn_vis3): Consolidate into one pattern + called *movsi_insn. + (*movdi_insn_sp32_v9_novis3, *movdi_insn_sp32_v9_vis3): Consolidate + into *movdi_insn_sp32. + (*movdi_insn_sp64_novis3, *movdi_insn_sp64_vis3): Consolidate into + one pattern called *movdi_insn_sp64. + (*movsf_insn_novis3, *movsf_insn_vis3, *movsf_insn_no_fpu): + Consolidate into one pattern called *movsf_insn. + (*movdf_insn_sp32_no_fpu, *movdf_insn_sp32_v9_novis3, + *movdf_insn_sp32_v9_vis3, *movdf_insn_sp32_v9_no_fpu): Consolidate + into *movdf_insn_sp32. + (*movdf_insn_sp64_novis3, *movdf_insn_sp64_vis3, + *movdf_insn_sp64_no_fpu): Consolidate into one pattern called + *movdf_insn_sp64. + (*zero_extendsidi2_insn_sp64_novis3, + *zero_extendsidi2_insn_sp64_vis3): Consolidate into one pattern + called *zero_extendsidi2_insn_sp64. + (*sign_extendsidi2_insn_novis3, *sign_extendsidi2_insn_vis3): + Consolidate into one pattern named *sign_extendsidi2_insn. + (*mov_insn_novis3, *mov_insn_vis3): + Consolidate into one pattern named *mov_insn. + (*mov_insn_sp64_novis3, + *mov_insn_sp64_novis3): Consolidate into one pattern + named *mov_insn_sp64. + (*mov_insn_sp32_novis3, + *mov_insn_sp32_vis3): Consolidate into one pattern + named *mov_insn_sp32. + +2011-10-24 Andreas Krebbel + + * tree-ssa-strlen.c (get_string_length): Change assertion to STPCPY. + (zero_length_string): Change assertion to accept strinfo without + length but with stmt instead. + Set the endptr pointer also if starting a new chain. + (adjust_related_strinfos): Ignore strinfos marked for delayed + length computation. + (handle_builtin_strcpy): Mark earlier strinfo elements also for + delayed length computation. + +2011-10-24 Georg-Johann Lay + + PR target/50820 + Port from 4.6 branch r180379 + * doc/invoke.texi (AVR Options): New subsubsection to explain EIND + handling and indirect jump/calls on devices > 128k. + +2011-10-24 Anatoly Sokolov + Georg-Johann Lay + + PR target/49824 + * doc/extend.texi (Declaring Attributes of Functions): + Document OS_main and OS_task attributes. + (Specifying Attributes of Variables): Move up + subsection "AVR Variable Attributes" as of alphabetical order. + +2011-10-24 Richard Guenther + + * tree-vect-stmts.c (vect_get_vec_def_for_operand): Convert constants + to vector element type. + (vectorizable_assignment): Bail out for non-mode-precision operations. + (vectorizable_shift): Likewise. + (vectorizable_operation): Likewise. + (vectorizable_type_demotion): Likewise. + (vectorizable_type_promotion): Likewise. + (vectorizable_store): Handle non-mode-precision stores. + (vectorizable_load): Handle non-mode-precision loads. + (get_vectype_for_scalar_type_and_size): Return a vector type + for non-mode-precision integers. + * tree-vect-loop.c (vectorizable_reduction): Bail out for + non-mode-precision reductions. + +2011-10-24 Julian Brown + + * config/m68k/m68k.c (notice_update_cc): Tighten condition for + setting CC_REVERSED for FP comparisons. + +2011-10-24 Richard Guenther + + PR tree-optimization/50838 + * tree-data-ref.c (dr_analyze_indices): Properly canonicalize + a MEM_REF base if we change it. + +2011-10-24 Bernd Schmidt + + PR bootstrap/50836 + * rtlanal.c: Swap includes of "hard-reg-set.h" and "rtl.h". + + PR rtl-optimization/50833 + * function.c (thread_prologue_and_epilogue_insns): Expect the + return insn optimization only if optimize. + +2011-10-24 Georg-Johann Lay + + * config/avr/avr.c: Break long lines. + Define target hooks on the fly if applicable. + (TARGET_ASM_FUNCTION_RODATA_SECTION): Remove first definition + overridden later. + (targetm): Move definition to end of file. + (avr_can_eliminate): Make static on the fly. + (avr_frame_pointer_required_p): Ditto. + (avr_hard_regno_scratch_ok): Ditto. + (avr_builtin_setjmp_frame_value): Make static on the fly. + Indent according to coding rules. + (avr_case_values_threshold): Ditto. + (avr_attribute_table): Move down. + +2011-10-24 Ira Rosen + + PR tree-optimization/50730 + * tree-vect-data-refs.c (vect_analyze_data_refs): Stop basic block + analysis if encountered unsupported data-ref. + +2011-10-23 David S. Miller + + * config/sparc/sparc.c (sparc_option_override): Remove -mv8plus + cpu adjustment. + * config/sparc/linux64.h (CC1_SPEC): When defaulting to 64-bit, + append -mcpu=v9 when -mv8plus is given. + + * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): We can move + between float and non-float regs when VIS3. + * config/sparc/sparc.c (eligible_for_restore_insn): We can't + use a restore when the source is a float register. + (sparc_split_regreg_legitimate): When VIS3 allow moves between + float and integer regs. + (sparc_register_move_cost): Adjust to account for VIS3 moves. + (sparc_preferred_reload_class): On 32-bit with VIS3 when moving an + integer reg to a class containing EXTRA_FP_REGS, constrain to FP_REGS. + (sparc_secondary_reload): On 32-bit with VIS3 when moving between + float and integer regs we sometimes need a FP_REGS class + intermediate move to satisfy the reload. When this happens + specify an extra cost of 2. + (*movsi_insn): Rename to have "_novis3" suffix and add !VIS3 guard. + (*movdi_insn_sp32_v9): Likewise. + (*movdi_insn_sp64): Likewise. + (*movsf_insn): Likewise. + (*movdf_insn_sp32_v9): Likewise. + (*movdf_insn_sp64): Likewise. + (*zero_extendsidi2_insn_sp64): Likewise. + (*sign_extendsidi2_insn): Likewise. + (*movsi_insn_vis3): New insn. + (*movdi_insn_sp32_v9_vis3): New insn. + (*movdi_insn_sp64_vis3): New insn. + (*movsf_insn_vis3): New insn. + (*movdf_insn_sp32_v9_vis3): New insn. + (*movdf_insn_sp64_vis3): New insn. + (*zero_extendsidi2_insn_sp64_vis3): New insn. + (*sign_extendsidi2_insn_vis3): New insn. + (TFmode reg/reg split): Make sure both REG operands are float. + (*mov_insn): Add "_novis3" suffix and !VIS3 guard. Remove + easy constant to integer reg alternatives. + (*mov_insn_sp64): Likewise. + (*mov_insn_sp32_novis3): Likewise. + (*mov_insn_vis3): New insn. + (*mov_insn_sp64_vis3): New insn. + (*mov_insn_sp32_vis3): New insn. + (VM64 reg<-->reg split): New splitter for 32-bit. + + * config/sparc/sparc.c (sparc_split_regreg_legitimate): New function. + * config/sparc/sparc-protos.h (sparc_split_regreg_legitimate): + Declare it. + * config/sparc/sparc.md (DImode reg/reg split): Use it. + (DFmode reg/reg split): Likewise. + + * config/sparc/sparc.md (*movdi_insn_sp32_v9): Add alternatives for + generating fzero and fone instructions. + (DImode const_int --> reg splitter): Only trigger for integer regs. + + * config/sparc/predicates.md (input_operand): Disallow vector + constants other than 0 and -1. + * config/sparc/sparc.c (sparc_preferred_reload_class): Return + NO_REGS for vector constants other than 0 and -1. + + * config/sparc/sparc.h (SPARC_FIRST_INT_REG, SPARC_LAST_INT_REG, + SPARC_INT_REG_P): Define. + (HARD_REGNO_NREGS): Use SPARC_INT_REG_P. + (REGNO_OK_FOR_INDEX_P): Likewise. + * config/sparc/sparc.c (gen_df_reg): Likewise. + (eligible_for_return_delay): Likewise. + (eligible_for_sibcall_delay): Likewise. + (sparc_legitimate_address_p): Likewise. + (emit_save_or_restore_regs): Likewise. + (registers_ok_for_ldd_peep): Likewise. + * config/spac/sparc.md (DI mode splitters): Likewise. + (SF mode const splitters): Likewise. + (DF mode splitters): Likewise. + (32-bit DI mode logical op splitters): Likewise. + +2011-10-23 Paolo Carlini + + PR c++/50841 + Revert: + 2011-10-23 Paolo Carlini + + PR c++/50810 + * doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update. + +2011-10-23 Uros Bizjak + + * config/i386/sse.md (avx2_lshl3): Remove insn pattern. + (VI248_256): Remove mode iterator. + * config/i386/i386.c (ix86_expand_vec_perm): Use gen_ashlv4di3 + instead of gen_avx2_lshlv4di3. + (bdesc_args): Use CODE_FOR_ashl{v16hi,v8si,v4di}3 instead of + CODE_FOR_avx2_lshl{v16hi,v8si,v4di}3. + +2011-10-23 Uros Bizjak + + * config/i386/sse.md (sseintprefix): Rename from gthrfirstp. + (_maskload): Delete expander. + (_maskload) Merge insn + pattern from *avx2_maskload and + *avx_maskload using V48_AVX mode + iterator. Use sseintprefix mode attribute. + (_maskstore): Delete expander. + (_maskstore) Merge insn + pattern from *avx2_maskstore and + *avx_maskstore using V48_AVX mode + iterator. Use sseintprefix mode attribute. + (*avx2_gathersi) Use sseintprefix and ssemodesuffix mode + attributes. + (*avx2_gatherdi): Ditto. + (*avx2_gatherdi256): Ditto. + (VI48_AVX2): Remove mode iterator. + (gthrlastfp): Remove mode attribute. + +2011-10-23 Paolo Carlini + + PR c++/50810 + * doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update. + +2011-10-23 Tom de Vries + + PR tree-optimization/50763 + * tree-ssa-tail-merge.c (same_succ_flush_bb): New function, factored + out of ... + (same_succ_flush_bbs): Use same_succ_flush_bb. + (purge_bbs): Remove argument. Remove calls to same_succ_flush_bbs, + release_last_vdef and delete_basic_block. + (unlink_virtual_phi): New function. + (update_vuses): Add and use vuse1_phi_args argument. Set var to + SSA_NAME_VAR of vuse1 or vuse2, and use var. Handle case that + def_stmt2 is NULL. Use phi result as phi arg in case vuse1 or vuse2 + is NULL_TREE. Replace uses of vuse1 if vuse2 is NULL_TREE. Fix code + to limit replacement of uses. Propagate phi argument for phis with a + single argument. + (replace_block_by): Update vops if phi_vuse1 or phi_vuse2 is NULL_TREE. + Set vuse1_phi_args if vuse1 is a phi defined in bb1. Add + vuse1_phi_args as argument to call to update_vuses. Call + release_last_vdef, same_succ_flush_bb, delete_basic_block. Update + CDI_DOMINATORS info. + (tail_merge_optimize): Remove argument in call to purge_bbs. Remove + call to free_dominance_info. Only call calculate_dominance_info once. + +2011-10-23 Eric Botcazou + + * fold-const.c (invert_tree_comparison): Always invert EQ_EXPR/NE_EXPR. + + PR tree-optimization/44683 + * tree-ssa-dom.c (record_edge_info): Record simple equivalences only if + we can be sure that there are no signed zeros involved. + +2011-10-23 Jan Hubicka + + * ipa-inline.c (estimate_badness): Scale up and handle overflows. + +2011-10-23 Uros Bizjak + + PR target/50788 + * config/i386/sse.md (_maskload): + Remove (match_dup 0). + (*avx2_maskload): New insn pattern. + (*avx_maskload): Ditto. + (*avx2_maskstore): Ditto. + (*avx_maskstore): Ditto. + (*avx2_maskmov): Remove insn pattern. + (*avx_maskmov): Ditto. + +2011-10-23 Ira Rosen + + PR tree-optimization/50819 + * tree-vectorizer.h (vect_analyze_data_ref_dependences): Remove + the last argument. + * tree-vect-loop.c (vect_analyze_loop_2): Update call to + vect_analyze_data_ref_dependences. + * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Remove + the last argument. Check load-after-store dependence for unknown + dependencies in basic blocks. + (vect_analyze_data_ref_dependences): Update call to + vect_analyze_data_ref_dependences. + * tree-vect-patterns.c (vect_recog_widen_shift_pattern): Fix typo. + * tree-vect-slp.c (vect_bb_vectorizable_with_dependencies): Remove. + (vect_slp_analyze_bb_1): Update call to + vect_analyze_data_ref_dependences. Don't call + vect_bb_vectorizable_with_dependencies. + +2011-10-22 David S. Miller + + * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS, + SECONDARY_OUTPUT_RELOAD_CLASS): Delete. + * config/sparc/sparc.c (TARGET_SECONDARY_RELOAD): Redefine. + (sparc_secondary_reload): New function. + + * config/sparc/sparc.h (sparc_costs): Remove extern decl. + (struct processor_costs): Move from here.. + * config/sparc/sparc.c (struct processor_costs): To here. + (sparc_costs): Mark static. + + * config/sparc/sparc.c (short_branch, reg_unused_after): Delete. + * config/sparc/sparc-protos.h (short_branch, reg_unused_after): + Get rid of declarations. + +2011-10-21 Paul Brook + + * config/c6x/c6x.c (c6x_asm_emit_except_personality, + c6x_asm_init_sections): New functions. + (TARGET_ASM_EMIT_EXCEPT_PERSONALITY, TARGET_ASM_INIT_SECTIONS): Define. + +2011-10-21 Jakub Jelinek + + PR target/50813 + * config/i386/i386.c (expand_vec_perm_even_odd_1): Handle + V4DImode and V8SImode for !TARGET_AVX2. + +2011-10-21 Bernd Schmidt + + PR bootstrap/50825 + * sched-deps.c (add_dependence): If not doing predication, promote + REG_DEP_CONTROL to REG_DEP_ANTI. + +2011-10-21 Georg-Johann Lay + + * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Pass address of X + instead of X to avr_legitimize_reload_address. + * config/avr/avr-protos.h (avr_legitimize_reload_address): Change + first argument's type from rtx to rtx*. + * config/avr/avr.c (avr_legitimize_reload_address): Ditto. + Pass PX to push_reload instead of &X. Change log messages for + better distinction. + +2011-10-21 Roland Stigge + + PR translation/47064 + * params.def: Fix typo "compilatoin" -> "compilation". + +2011-10-21 H.J. Lu + Kirill Yukhin + + PR target/50740 + * config/i386/driver-i386.c (host_detect_local_cpu): Do cpuid 7 only + if max_level allows that. + +2011-10-21 Bernd Schmidt + + * reg-notes.def (DEP_CONTROL): New. + * sched-ebb.c (add_deps_for_risky_insns): Add a REG_DEP_CONTROL when + not doing speculation. + * rtlanal.c (record_hard_reg_sets, find_all_hard_reg_sets, + record_hard_reg_uses_1, record_hard_reg_uses): New functions. + * function.c (record_hard_reg_sets, record_hard_reg_uses, + record_hard_reg_uses_1): Remove; move to rtlanal.c. + * lists.c (copy_INSN_LIST, concat_INSN_LIST): New functions. + * haifa-sched.c: Swap includes of "rtl.h" and "hard-reg-set.h". + (MUST_RECOMPUTE_SPEC_P): New macro. + (real_insn_for_shadow): New function. + (cond_clobbered_p, recompute_todo_spec, check_clobbered_conditions, + toggle_cancelled_flags): New static functions. + (schedule_insn): Relax an assert to only check for empty hard back + dependencies. Skip cancelled dependencies. Call + check_clobbered_conditions. + (copy_insn_list): Remove function, renamed moved to lists.c. + (save_backtrack_point): Use new spelling copy_INSN_LIST. + (unschedule_insns_until): Ensure TODO_SPEC is reset properly. + (restore_last_backtrack_point): Likewise. Call toggle_cancelled_flags. + (estimate_insn_tick): Ignore cancelled dependencies. + (haifa_speculate_insn): Move declaration. + (try_ready): Move code into recompute_todo_spec and call it. Tweak + some asserts. Ensure predicated patterns are restored if necessary. + Dump DEP_CONTROL flag. + (haifa_change_pattern): Merge with sched_change_pattern. + (sched_change_pattern): Remove function. + * sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP): Remove. All + uses changed to simply not test NON_FLUSH_JUMP_P. + (ds_to_dk, dk_to_ds, dump_dep, ds_to_dt, dump_ds, check_dep): Handle + REG_DEP_CONTROL. + (dep_spec_p): If DO_PREDICATION, REG_DEP_CONTROL is speculative. + (reg_pending_control_uses, control_dependency_cache): New static + variables. + (sched_get_reverse_condition_uncached): New function. + (sd_find_dep_between): Remove pointless assert. Look in + control_dependency_cache. + (ask_dependency_caches, set_dependency_caches, sd_delete_dep, + extend_dependency_caches, sched_deps_finish): Handle REG_DEP_CONTROL + and control_dependency_cache. + (sd_unresolve_dep): Use dep_spec_p. + (add_dependence): Now a wrapper around add_dependence_1, handling + REG_DEP_CONTROL specially. + (flush_pending_lists): Clear pending_jump_insns. + (sched_analyze_1): Handle pending_jump_insns like a memory flush. + (sched_analyze_2): Unconditionally add to pending memory flushes, + keep previous behaviour but apply it to pending_jump_insns instead. + (sched_analyze_insn): Defer adding jump reg dependencies using + reg_pending_control_uses; add them to the control_uses list. Handle + pending_jump_insns and control_uses when adding dependence lists. + (deps_analyze_insn): Update INSN_COND_DEPS. + (deps_analyze_insn): Add jumps to pending_jump_insns rather than + last_pending_memory_flush. + (init_deps): Initialize pending_jump_insns. + (free_deps): Free control_uses. + (remove_from_deps): Remove from pending_jump_insns. + (init_deps_global): Allocate reg_pending_control_uses). + (finish_deps_global): Free it. + (add_dependence_1): Renamed from add_dependence. Handle + REG_DEP_CONTROL. + * rtl.h (record_hard_reg_uses, find_all_hard_reg_sets): Declare. + (copy_INSN_LIST, concat_INSN_LIST): Declare. + * sched-int.h (struct deps_reg): Add control_uses. + (struct deps_desc): Add pending_jump_insns. + (struct _haifa_deps_insn_data): Add cond_deps. + (struct _haifa_insn_data): Add must_recompute_spec and predicated_pat. + (INSN_COND_DEPS, PREDICATED_PAT): New macros. + (BITS_PER_DEP_WEAK): Adjust for two extra bits in the word. + (DEP_CONTROL): New macro. + (DEP_TYPES): Include it. + (HARD_DEP): Adjust definition. + (DEP_CANCELLED): New macro. + (enum SCHED_FLAGS): Add DO_PREDICATION. + (sched_get_reverse_condition_uncached, real_insn_for_shadow): Declare. + * sched-rgn.c (concat_INSN_LIST): Remove function. + (deps_join): Handle pending_jump_insns. + (free_pending_lists): Likewise. + * config/c6x/c6x.c (c6x_set_sched_flags): Set DO_PREDICATION for final + schedule. + +2011-10-21 Georg-Johann Lay + + PR target/50820 + * config/avr/libgcc.S (__EIND__): New define to 0x3C. + (__tablejump__): Consistently use EIND for indirect jump/call. + (__tablejump_elpm__): Ditto. + +2011-10-21 Bernd Schmidt + + * config/c6x/c6x.md (attr "op_pattern"): New. + (load_sdata_pic, mov_insn for QIHIM and SISFVM): Set it. + * config/c6x/c6x-mult.md.in (mulhi3_VARIANT_, mulhisi3_insn_VARIANT_): + Likewise. + * config/c6x/c6x-mult.md: Regenerate. + * config/c6x/c6x.c: Include "regrename.h". + (unit_req_table): New typedef. + (unit_reqs): Use it for the declaration. + (unit_req_factor, get_unit_reqs, merge_unit_reqs, unit_req_imbalance, + get_unit_operand_masks, try_rename_operands, reshuffle_units): New + static functions. + (count_unit_reqs): New arg reqs. All callers changed. Use + get_unit_reqs, and don't merge here. + (res_mii): New arg reqs. All callers changed. Rewrite to use a loop + using unit_req_factor. + (hwloop_optimize): Call reshuffle_units. Call merge_unit_reqs after + count_unit_reqs. + (c6x_reorg): Add reg notes problem, and call df_analyze. + * Makefile.in ($(out_object_file)): Depend on regrename.h. + +2011-10-21 Kai Tietz + + * fold-const.c (simple_operand_p_2): Handle integral + casts from boolean-operands. + +2011-10-21 Jan Hubicka + + * cgraph.c (dump_cgraph_node): Dump alias flag. + * cgraphunit.c (handle_alias_pairs): Handle weakrefs with + no destination. + (get_alias_symbol): New function. + (output_weakrefs): Output also weakrefs with no destinatoin. + (lto_output_node): Output weakref alias flag when at function boundary. + +2011-10-21 Andrew Stubbs + + PR target/50809 + * config/arm/driver-arm.c (vendors): Make static. + +2011-10-21 Uros Bizjak + + * config/i386/i386.c (ix86_emit_swdivsf): Force b into register. + (ix86_emit_swsqrtsf): Force a into register. + +2011-10-20 Mike Stump + + * regcprop.c (copyprop_hardreg_forward_1): Update recog_data + after validate_change wipes it out. + +2011-10-20 Ulrich Weigand + + * config/spu/spu.md ("vec_permv16qi"): Reduce selector modulo 32 + before using the shufb instruction. + +2011-10-20 Kirill Yukhin + + PR target/50766 + * config/i386/i386.md (bmi_bextr_): Update register/ + memory operand order. + (bmi2_bzhi_3): Ditto. + (bmi2_pdep_3): Ditto. + (bmi2_pext_3): Ditto. + +2011-10-20 Richard Henderson + + * target.def (vec_perm_const_ok): Rename from builtin_vec_perm_ok. + * optabs.c (can_vec_perm_expr_p): Update to match. + (expand_vec_perm_expr): Likewise. + * config/i386/i386.c (TARGET_VECTORIZE_VEC_PERM_CONST_OK): Rename + from TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK. + * doc/tm.texi.in: Likewise. + +2011-10-20 Sergey Ostanevich + + PR target/50572 + * config/i386/i386.c (processor_target_table): Change Atom + align_loops_max_skip to 15. + +2011-10-20 Richard Henderson + + * target.def (builtin_vec_perm): Remove. + * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Remove. + + * config/i386/i386.c (ix86_expand_vec_perm_builtin): Remove. + (IX86_BUILTIN_VEC_PERM_*): Remove. + (bdesc_args): Remove vec_perm builtins + (ix86_expand_builtin): Likewise. + (ix86_expand_vec_perm_const_1): Rename from + ix86_expand_vec_perm_builtin_1. + (extract_vec_perm_cst): Merge into... + (ix86_vectorize_vec_perm_const_ok): ... here. Rename from + ix86_vectorize_builtin_vec_perm_ok. + (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Remove. + + * config/rs6000/rs6000.c (rs6000_builtin_vec_perm): Remove. + (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Remove. + + * config/spu/spu.c (spu_builtin_vec_perm): Remove. + (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Remove. + +2011-10-20 Uros Bizjak + + PR target/47989 + * config/i386/i386.h (RECIP_MASK_DEFAULT): New define. + * config/i386/i386.op (recip_mask): Initialize with RECIP_MASK_DEFAULT. + * doc/invoke.texi (ix86 Options, -mrecip): Document that GCC + implements vectorized single float division and vectorized sqrtf(x) + with reciprocal sequence with additional Newton-Raphson step with + -ffast-math. + +2011-10-20 Dodji Seketeli + + * ggc-zone.c (ggc_internal_alloc_zone_stat): Rename + ggc_alloced_size_order_for_request into ggc_round_alloc_size like + it was done in ggc-page.c. + + PR other/50659 + * doc/cppopts.texi: Use @smallexample/@end smallexample in + documentation for -fdebug-cpp instead of @quotation/@end quotation + that is not supported by contrib/texi2pod.pl. + 2011-10-19 Jan Hubicka * ipa-inline.c (inline_small_functions): Always update all calles after @@ -15,8 +2492,8 @@ 2011-10-20 Ramana Radhakrishnan - PR target/50106 - * config/arm/arm.c (thumb_unexpanded_epilogue): Handle return + PR target/50106 + * config/arm/arm.c (thumb_unexpanded_epilogue): Handle return reg size from 1-3. 2011-10-20 Richard Guenther @@ -26,8 +2503,7 @@ 2011-10-19 David S. Miller - * config/sparc/sparc.c (sparc_expand_move): Use - can_create_pseudo_p. + * config/sparc/sparc.c (sparc_expand_move): Use can_create_pseudo_p. (sparc_emit_set_const32): Likewise. (sparc_emit_set_const64_longway): Likewise. (sparc_emit_set_const64): Likewise. @@ -272,8 +2748,8 @@ 2011-10-19 Jan Hubicka - * cgraphunit.c (handle_alias_pairs): Also handle wekref with destination - declared. + * cgraphunit.c (handle_alias_pairs): Also handle wekref with + destination declared. (output_weakrefs): New function. * varpool.c (varpool_create_variable_alias): Handle external aliases. @@ -312,7 +2788,6 @@ 2011-10-18 Andrew Stubbs PR tree-optimization/50717 - * tree-ssa-math-opts.c (is_widening_mult_p): Remove the 'type' parameter. Calculate 'type' from stmt. (convert_mult_to_widen): Update call the is_widening_mult_p. @@ -661,8 +3136,7 @@ 2011-10-17 Sergio Durigan Junior - * configure.ac: Display `yes' if the SystemTap header has been - found. + * configure.ac: Display `yes' if the SystemTap header has been found. * configure: Regenerate. 2011-10-08 Andi Kleen @@ -678,8 +3152,7 @@ 2011-10-17 Richard Guenther PR tree-optimization/50729 - * tree-vrp.c (extract_range_from_unary_expr_1): Remove - redundant test. + * tree-vrp.c (extract_range_from_unary_expr_1): Remove redundant test. (simplify_conversion_using_ranges): Properly test the intermediate result. @@ -702,8 +3175,7 @@ 2011-10-15 Tom Tromey Dodji Seketeli - * input.c (ONE_K, ONE_M, SCALE, STAT_LABEL, FORMAT_AMOUNT): New - macros. + * input.c (ONE_K, ONE_M, SCALE, STAT_LABEL, FORMAT_AMOUNT): New macros. (num_expanded_macros_counter, num_macro_tokens_counter): Declare new counters. (dump_line_table_statistics): Define new function. @@ -714,8 +3186,7 @@ Dodji Seketeli * doc/cppopts.texi: Document -fdebug-cpp. - * doc/invoke.texi: Add -fdebug-cpp to the list of preprocessor - options. + * doc/invoke.texi: Add -fdebug-cpp to the list of preprocessor options. 2011-10-15 Tom Tromey Dodji Seketeli @@ -752,8 +3223,7 @@ (LOCATION_COLUMN): New accessor (in_system_header_at): Use linemap_location_in_system_header_p. * diagnostic.c (diagnostic_report_current_module): Adjust to avoid - touching the internals of struct line_map. Use the public API. - instead. + touching the internals of struct line_map. Use the public API instead. (diagnostic_report_diagnostic): Don't use relational operator '<' on virtual locations. Use linemap_location_before_p instead. * input.c (expand_location): Adjust to expand to the tokens' @@ -1273,9 +3743,8 @@ 2011-10-12 Bernd Schmidt * function.c (prepare_shrink_wrap, bb_active_p): New function. - (thread_prologue_and_epilogue_insns): Use bb_active_p. - Call prepare_shrink_wrap, then recompute bb_active_p for the - last block. + (thread_prologue_and_epilogue_insns): Use bb_active_p. Call + prepare_shrink_wrap, then recompute bb_active_p for the last block. 2011-10-12 Joseph Myers @@ -1519,8 +3988,8 @@ 2011-10-10 Georg-Johann Lay - * config/avr/avr.c (avr_option_override): Set - flag_omit_frame_pointer to 0 if frame pointer is needed for unwinding. + * config/avr/avr.c (avr_option_override): Set flag_omit_frame_pointer + to 0 if frame pointer is needed for unwinding. 2011-10-10 Uros Bizjak