1. 03 Nov, 2014 14 commits
    • Implement TARGET_ATOMIC_ASSIGN_EXPAND_FENV for powerpc*-*-linux* soft-float and e500. · 2f73a6c7
      This patch implements support for TARGET_ATOMIC_ASSIGN_EXPAND_FENV for
      powerpc*-*-linux* soft-float and e500, provided GCC is configured for
      glibc 2.19 or later on the target.
      
      New functions __atomic_feholdexcept, __atomic_feclearexcept and
      __atomic_feupdateenv were added (to libc) in that glibc version (for
      powerpc soft-float / e500 only) in order to support this part of C11.
      For soft-float, libc functions are needed because the floating-point
      exception state is in TLS variables in libc that aren't directly
      accessible outside of glibc.  For e500, they are also needed because
      of the prctl syscalls involved in controlling trapping for exceptions
      and informing the kernel when certain exception flags have been
      cleared.  The actual implementation in GCC is a straightforward matter
      of calling those functions.
      
      Tested with no regressions for cross to powerpc-linux-gnu
      (soft-float); the c11-atomic-exec-5.c results go from FAIL to PASS.
      
      	* configure.ac (TARGET_GLIBC_MAJOR, TARGET_GLIBC_MINOR): Define
      	macros.
      	* configure, config.h.in: Regenerate.
      	* config/rs6000/linux.h [TARGET_GLIBC_MAJOR > 2 ||
      	(TARGET_GLIBC_MAJOR == 2 && TARGET_GLIBC_MINOR >= 19)]
      	(RS6000_GLIBC_ATOMIC_FENV): New macro.
      	* config/rs6000/linux64.h [TARGET_GLIBC_MAJOR > 2 ||
      	(TARGET_GLIBC_MAJOR == 2 && TARGET_GLIBC_MINOR >= 19)]
      	(RS6000_GLIBC_ATOMIC_FENV): New macro.
      	* config/rs6000/rs6000.c (atomic_hold_decl, atomic_clear_decl)
      	(atomic_update_decl): New static variables.
      	(rs6000_atomic_assign_expand_fenv) [RS6000_GLIBC_ATOMIC_FENV]:
      	Generate calls to __atomic_feholdexcept, __atomic_feclearexcept
      	and __atomic_feupdateenv for soft-float and no-FPRs.
      
      From-SVN: r217040
      Joseph Myers committed
    • match.pd: Add two abs patterns. · f3582e54
      2014-11-03  Richard Biener  <rguenther@suse.de>
      
      	* match.pd: Add two abs patterns.  Announce tree_expr_nonnegative_p.
      	Also drop bogus FLOAT_EXPR and FIX_TRUNC_EXPR.
      	* fold-const.c (fold_unary_loc): Remove them here.
      	(tree_unary_nonnegative_warnv_p): Use CASE_CONVERT.
      	* gimple-fold.c (fold_gimple_assign): Remove now obsolete
      	GIMPLE_UNARY_RHS case.
      	(gimple_fold_stmt_to_constant_1): Likewise.
      	(replace_stmt_with_simplification): Fix inverted comparison.
      
      From-SVN: r217039
      Richard Biener committed
    • re PR c/52769 (Unspecified designated initializer might not set to zero in some cases) · 9929321a
      	PR c/52769
      	* gcc.dg/pr52769.c: New test.
      
      From-SVN: r217036
      Marek Polacek committed
    • re PR c++/57820 ([DR 253] NSDMI and const objects) · 3e449f80
      2014-11-03  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/57820
      	* g++.dg/cpp0x/constexpr-ctor16.C: New.
      	* g++.dg/cpp0x/constexpr-ctor17.C: Likewise.
      
      From-SVN: r217035
      Paolo Carlini committed
    • re PR tree-optimization/60770 (disappearing clobbers) · 956623c1
      2014-11-03  Marc Glisse  <marc.glisse@inria.fr>
      
      	PR tree-optimization/60770
      gcc/
      	* tree-into-ssa.c (rewrite_update_stmt): Return whether the
      	statement should be removed.
      	(maybe_register_def): Likewise. Replace clobbers with default
      	definitions.
      	(rewrite_dom_walker::before_dom_children): Remove statement if
      	rewrite_update_stmt says so.
      	* tree-ssa-live.c: Include tree-ssa.h.
      	(set_var_live_on_entry): Do not mark undefined variables as live.
      	(verify_live_on_entry): Do not check undefined variables.
      	* tree-ssa.h (ssa_undefined_value_p): New parameter for the case
      	of partially undefined variables.
      	* tree-ssa.c (ssa_undefined_value_p): Likewise.
      	(execute_update_addresses_taken): Do not drop clobbers.
      
      gcc/testsuite/
      	* gcc.dg/tree-ssa/pr60770-1.c: New file.
      
      From-SVN: r217034
      Marc Glisse committed
    • re PR tree-optimization/63666 (FAIL: gcc.dg/vect/pr45752.c (internal compiler error)) · b25b35c4
      2014-11-03  Marc Glisse  <marc.glisse@inria.fr>
      
      	PR tree-optimization/63666
      	* fold-const.c: Include "optabs.h".
      	(fold_ternary_loc) <VEC_PERM_EXPR>: Avoid canonicalizing a
      	can_vec_perm_p permutation to one that is not.
      
      From-SVN: r217033
      Marc Glisse committed
    • x86: extend vect-args testcase to AVX flavors · 7629320a
      gcc/testsuite:
      2014-11-03  Jan Beulich  <jbeulich@suse.com>
      
      	* gcc.target/i386/i386.exp: Extend option set to test
      	vect-args.c with to include -mavx, -mavx2, and -mavx512f.
      	* gcc.target/i386/vect-args.c: Add AVX* modes and tests.
      
      From-SVN: r217032
      Jan Beulich committed
    • 20010129-1.c: Compile with -mtune=i686 for ia32 targets only. · b1c94de0
      	* gcc.c-torture/execute/20010129-1.c: Compile with -mtune=i686
      	for ia32 targets only.
      	* g++.dg/ext/attrib42.C: Compile for ia32 targets only.
      	* g++.dg/tree-ssa/pr29902.C: Ditto.
      	* g++.dg/cpp0x/gen-attrs-42.C: Ditto.
      
      From-SVN: r217030
      Uros Bizjak committed
    • ifcvt.c (noce_try_store_flag_mask): Check rtx cost. · b5a4533b
      ChangeLog:
      2014-11-03  Zhenqiang Chen  <zhenqiang.chen@arm.com>
      
      	* ifcvt.c (noce_try_store_flag_mask): Check rtx cost.
      
      testsuite/ChangeLog:
      2014-11-03  Zhenqiang Chen  <zhenqiang.chen@arm.com>
      
      	* gcc.target/arm/ifcvt-size-check.c: New test.
      
      From-SVN: r217029
      Zhenqiang Chen committed
    • [multiple changes] · ed60a04b
      2014-10-31  Andrew Pinski  <apinski@cavium.com>
      
      	* config/mips/mips-cpus.def (octeon3): New cpu.
      	* config/mips/mips.c (mips_rtx_cost_data): Add octeon3.
      	(mips_print_operand <case 'T', case 't'>): Fix a bug as the mode
      	of the comparison no longer matches mode of the operands.
      	(mips_issue_rate): Handle PROCESSOR_OCTEON3.
      	* config/mips/mips.h (TARGET_OCTEON):  Add Octeon3.
      	(TARGET_OCTEON2): Likewise.
      	(TUNE_OCTEON): Add Octeon3.
      	* config/mips/mips.md (processor): Add octeon3.
      	* config/mips/octeon.md (octeon_fpu): New automaton and cpu_unit.
      	(octeon_arith): Add octeon3.
      	(octeon_condmove): Remove.
      	(octeon_condmove_o1): New reservation.
      	(octeon_condmove_o2): New reservation.
      	(octeon_condmove_o3_int_on_cc): New reservation.
      	(octeon_load_o2): Add octeon3.
      	(octeon_cop_o2): Likewise.
      	(octeon_store): Likewise.
      	(octeon_brj_o2): Likewise.
      	(octeon_imul3_o2): Likewise.
      	(octeon_imul_o2): Likewise.
      	(octeon_mfhilo_o2): Likewise.
      	(octeon_imadd_o2): Likewise.
      	(octeon_idiv_o2_si): Likewise.
      	(octeon_idiv_o2_di): Likewise.
      	(octeon_fpu): Add to the automaton.
      	(octeon_fpu): New cpu unit.
      	(octeon_condmove_o2): Check for non floating point modes.
      	(octeon_load_o2): Add prefetchx.
      	(octeon_cop_o2): Don't check for octeon3.
      	(octeon3_faddsubcvt): New reservation.
      	(octeon3_fmul): Likewise.
      	(octeon3_fmadd): Likewise.
      	(octeon3_div_sf): Likewise.
      	(octeon3_div_df): Likewise.
      	(octeon3_sqrt_sf): Likewise.
      	(octeon3_sqrt_df): Likewise.
      	(octeon3_rsqrt_sf): Likewise.
      	(octeon3_rsqrt_df): Likewise.
      	(octeon3_fabsnegmov): Likewise.
      	(octeon_fcond): Likewise.
      	(octeon_fcondmov): Likewise.
      	(octeon_fpmtc1): Likewise.
      	(octeon_fpmfc1): Likewise.
      	(octeon_fpload): Likewise.
      	(octeon_fpstore): Likewise.
      	* config/mips/mips-tables.opt: Regenerate.
      	* doc/invoke.texi (-march=@var{arch}): Add octeon3.
      
      2014-10-31  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
      
      	* gcc.target/mips/octeon3-pipe-1.c: New test.
      
      From-SVN: r217028
      Naveen H.S committed
    • ifcvt.c (noce_emit_cmove, [...]): Allow CC mode if HAVE_cbranchcc4. · 81a55f55
      2014-11-03  Zhenqiang Chen  <zhenqiang.chen@arm.com>
      
      	* ifcvt.c (noce_emit_cmove, noce_get_alt_condition, noce_get_condition):
      	Allow CC mode if HAVE_cbranchcc4.
      
      From-SVN: r217026
      Zhenqiang Chen committed
    • Check number of arguments in bind expressions. · afc449e8
      	* include/std/functional (_Mem_fn_traits_base::__arity): New typedef.
      	(_Mem_fn_base::_Arity): New typedef.
      	(_Bind_check_arity): New class template.
      	(_Bind_helper, _Bindres_helper, _Bind_simple_helper): Check arity.
      	* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error.
      
      From-SVN: r217025
      Jonathan Wakely committed
    • Add support for ref-qualified functions to std::mem_fn · 8d907696
      	PR libstdc++/57898
      	* include/std/functional (_Mem_fn_traits_base): New class template.
      	(_Mem_fn_traits): New class template with specializations for every
      	combination of cv-qualified and ref-qualified member function.
      	(_Mem_fn_base): New class template for all pointer to member function
      	types and partial specialization for pointer to member object types.
      	(_Mem_fn): Inherit from _Mem_fn_base.
      	* testsuite/20_util/function_objects/mem_fn/refqual.cc: New.
      
      From-SVN: r217024
      Jonathan Wakely committed
    • Daily bump. · 2ba89c14
      From-SVN: r217023
      GCC Administrator committed
  2. 02 Nov, 2014 10 commits
    • gen-attrs-42.C: Add x86_64-*-* target. · ff0562b7
      	* g++.dg/cpp0x/gen-attrs-42.C: Add x86_64-*-* target.
      	* g++.dg/ext/attrib42.C: Ditto.
      	* g++.dg/torture/pr51344.C: Ditto.
      	* g++.dg/tree-ssa/pr29902.C: Ditto.
      	* gcc.c-torture/execute/20010129-1.c: Ditto.
      	* gcc.dg/combine_ashiftrt_2.c: Ditto.
      	* gcc.dg/march-generic.c: Ditto.
      	* gcc.dg/torture/pr17526.c: Ditto.
      	* gcc.dg/union-4.c: Ditto.
      
      From-SVN: r217020
      Uros Bizjak committed
    • arc.c (write_ext_corereg_1): Delete. · 24dbe738
      gcc/
      	* config/arc/arc.c (write_ext_corereg_1): Delete.
      	(arc_write_ext_corereg): Use FOR_EACH_SUBRTX.
      
      From-SVN: r217019
      Richard Sandiford committed
    • arc.c (arc600_corereg_hazard_1): Delete. · 36cc6254
      gcc/
      	* config/arc/arc.c (arc600_corereg_hazard_1): Delete.
      	(arc600_corereg_hazard): Use FOR_EACH_SUBRTX.
      
      From-SVN: r217018
      Richard Sandiford committed
    • arc.c (arc_rewrite_small_data_p): Constify argument. · 752ae22f
      gcc/
      	* config/arc/arc.c (arc_rewrite_small_data_p): Constify argument.
      	(small_data_pattern_1): Delete.
      	(small_data_pattern): Use FOR_EACH_SUBRTX.
      
      From-SVN: r217017
      Richard Sandiford committed
    • arc.c: Include rtl-iter.h. · 6733978e
      gcc/
      	* config/arc/arc.c: Include rtl-iter.h.
      	(arc_rewrite_small_data_1): Delete.
      	(arc_rewrite_small_data): Use FOR_EACH_SUBRTX_PTR.
      
      From-SVN: r217016
      Richard Sandiford committed
    • re PR target/24188 (WRITE(6,*) causes an ICE with -mcmodel=medium) · 100a5180
      	* c-c++-common/ubsan/float-cast-overflow-6.c: Add i?86-*-* target.
      	* g++.dg/abi/no-weak1.C: Ditto.
      	* g++.dg/opt/pr44919.C: Ditto.
      	* g++.dg/opt/pr46640.C: Ditto.
      	* g++.dg/opt/pr46649.C: Ditto.
      	* g++.dg/opt/pr47036.C: Ditto.
      	* g++.dg/opt/pr48273.C: Ditto.
      	* g++.dg/opt/pr48302.C: Ditto.
      	* g++.dg/opt/pr45788.C: Ditto.
      	* g++.dg/opt/pr57662.C: Ditto.
      	* gcc.dg/20031102-1.c: Ditto.
      	* gcc.dg/builtin-bswap-7.c: Ditto.
      	* gcc.dg/builtin-bswap-7a.c: Ditto.
      	* gcc.dg/builtin-bswap-9.c: Ditto.
      	* gcc.dg/combine_ashiftrt_1.c: Ditto.
      	* gcc.dg/guality/bswaptest.c: Ditto.
      	* gcc.dg/guality/clztest.c: Ditto.
      	* gcc.dg/guality/ctztest.c: Ditto.
      	* gcc.dg/guality/pr45003-1.c: Ditto.
      	* gcc.dg/guality/pr45003-2.c: Ditto.
      	* gcc.dg/guality/pr45003-3.c: Ditto.
      	* gcc.dg/guality/pr58791-4.c: Ditto.
      	* gcc.dg/guality/rotatetest.c:Ditto.
      	* gcc.dg/ifcvt-fabs-1.c: Ditto.
      	* gcc.dg/ira-loop-pressure.c: Ditto.
      	* gcc.dg/ira-shrinkwrap-prep-1.c: Ditto.
      	* gcc.dg/ira-shrinkwrap-prep-2.c: Ditto.
      	* gcc.dg/lto/pr47259_0.c: Ditto.
      	* gcc.dg/memcpy-5.c: Ditto.
      	* gcc.dg/pr10474.c: Ditto.
      	* gcc.dg/pr37438.c: Ditto.
      	* gcc.dg/pr39453.c: Ditto.
      	* gcc.dg/pr40501.c: Ditto.
      	* gcc.dg/pr42245-2.c: Ditto.
      	* gcc.dg/pr42245.c: Ditto.
      	* gcc.dg/pr42246.c: Ditto.
      	* gcc.dg/pr42249.c: Ditto.
      	* gcc.dg/pr42388.c: Ditto.
      	* gcc.dg/pr42389.c: Ditto.
      	* gcc.dg/pr45352-1.c: Ditto.
      	* gcc.dg/pr45352-2.c: Ditto.
      	* gcc.dg/pr45352-3.c: Ditto.
      	* gcc.dg/pr45352.c: Ditto.
      	* gcc.dg/pr45472.c: Ditto.
      	* gcc.dg/pr45652.c: Ditto.
      	* gcc.dg/pr46212.c: Ditto.
      	* gcc.dg/pr46521.c: Ditto.
      	* gcc.dg/pr46522.c: Ditto.
      	* gcc.dg/pr46875.c: Ditto.
      	* gcc.dg/pr48374.c: Ditto.
      	* gcc.dg/pr50251.c: Ditto.
      	* gcc.dg/pr54472.c: Ditto.
      	* gcc.dg/pr55702.c: Ditto.
      	* gcc.dg/pr56990.c: Ditto.
      	* gcc.dg/pr57104.c: Ditto.
      	* gcc.dg/pr57662.c: Ditto.
      	* gcc.dg/pr60866.c: Ditto.
      	* gcc.dg/shrink-wrap-loop.c: Ditto.
      	* gcc.dg/tm/memopt-15.c: Ditto.
      	* gcc.dg/torture/pr52720.c: Ditto.
      	* gcc.dg/torture/pr56778.c: Ditto.
      	* gcc.dg/tree-prof/pr45354.c: Ditto.
      	* gcc.dg/tree-prof/pr50907.c: Ditto.
      	* gcc.dg/tree-ssa/loop-16.c: Ditto.
      	* gcc.dg/tree-ssa/loop-18.c: Ditto.
      	* gcc.dg/tree-ssa/pr44423.c: Ditto.
      	* gcc.dg/misc-tests/godump-1.c: Ditto.
      	* gfortran.dg/PR24188.f: Ditto.
      	* gfortran.dg/errnocheck_1.f90: Ditto.
      	* gfortran.dg/g77/20010216-1.f: Ditto.
      	* gfortran.dg/pr42246-2.f: Ditto.
      	* gfortran.dg/pr42294.f: Ditto.
      	* gfortran.dg/pr44691.f: Ditto.
      	* gfortran.dg/vect/pr45714-a.f: Ditto.
      	* gcc.c-torture/execute/ieee/ieee.exp: Ditto.
      	* gcc.misc-tests/linkage.exp: Ditto.
      	* lib/target-supports.exp: Reformat x86 tagets.
      	(check_effective_target_whole_vector_shift): Add i?86-*-* target.
      
      From-SVN: r217015
      Uros Bizjak committed
    • [ARM] Fix CLZ_DEFINED_VALUE_AT_ZERO for vector modes · 9b227e35
      2014-11-02  Michael Collison  <michael.collison@linaro.org>
      
      	* config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO) : Update
      	to support vector modes.
      	(CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
      
      From-SVN: r217014
      Michael Collison committed
    • re PR c++/57694 ([c++11] constexpr constructor does not work with const address of own member) · e82d71d9
      2014-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/57694
      	* g++.dg/cpp0x/constexpr-ctor15.C: New.
      
      From-SVN: r217013
      Paolo Carlini committed
    • feat-cxx11.C: Commentary and rearrangement of tests. · 26f0e1d6
      testsuite/
      
      2014-11-01  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	* g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
      	* g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
      	Commentary and rearrangement of tests.
      	* g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
      	Commentary and rearrangement of tests.
      	* g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
      	* g++.dg/cpp1y/feat-cxx98.C: Commentary.
      
      c-family/
      
      2014-11-01  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	* c-cppbuiltin.c: Define __cpp_aggregate_nsdmi.
      
      From-SVN: r217012
      Edward Smith-Rowland committed
    • Daily bump. · 38083ac2
      From-SVN: r217010
      GCC Administrator committed
  3. 01 Nov, 2014 9 commits
    • 2014-11-01 Andrew MacLeod <amacleod@redhat,com> · b0710fe1
      	* optabs.h: Flatten insn-codes.h to source files.  Move some prototypes
      	and structs to genopinit.c.  Adjust protyoptypes to match optabs.c.
      	* genopinit.c (main): Emit prototypes and structs into insn-opinit.h.
      	* optabs.c: (gen_move_insn): Move to expr.c.
      	* expr.h: Move protypes and enums to optabs.h.
      	* expr.c: (gen_move_insn): Relocate from optabs.c.
      	* genemit.c (main): Include insn-codes.h.
      	* gengtype.c (open_base_files): Include insn-codes.h.
      	* asan.c: Include insn-codes.h.
      	* bb-reorder.c: Ditto.
      	* builtins.c: Ditto.
      	* calls.c: Ditto.
      	* cfgexpand.c: Ditto.
      	* cilk-common.c: Ditto.
      	* combine.c: Ditto.
      	* dojump.c: Ditto.
      	* dse.c: Ditto.
      	* except.c: Ditto.
      	* explow.c: Ditto.
      	* expmed.c: Ditto.
      	* function.c: Ditto.
      	* ifcvt.c: Ditto.
      	* internal-fn.c: Ditto.
      	* loop-unroll.c: Ditto.
      	* lra.c: Ditto.
      	* modulo-sched.c: Ditto.
      	* omp-low.c: Ditto.
      	* postreload.c: Ditto.
      	* ree.c: Ditto.
      	* reload.c: Ditto.
      	* reload1.c: Ditto.
      	* shrink-wrap.c: Ditto.
      	* simplify-rtx.c: Ditto.
      	* stmt.c: Ditto.
      	* target-globals.c: Ditto.
      	* targhooks.c: Ditto.
      	* toplev.c: Ditto.
      	* tree-if-conv.c: Ditto.
      	* tree-ssa-forwprop.c: Ditto.
      	* tree-ssa-loop-prefetch.c: Ditto.
      	* tree-ssa-math-opts.c: Ditto.
      	* tree-ssa-phiopt.c: Ditto.
      	* tree-ssa-reassoc.c: Ditto.
      	* tree-switch-conversion.c: Ditto.
      	* tree-vect-data-refs.c: Ditto.
      	* tree-vect-generic.c: Ditto.
      	* tree-vect-loop.c: Ditto.
      	* tree-vect-patterns.c: Ditto.
      	* tree-vect-slp.c: Ditto.
      	* tree-vect-stmts.c: Ditto.
      	* tree-vrp.c: Ditto.
      	* value-prof.c: Ditto.
      	* config/aarch64/aarch64-builtins.c: Ditto.
      	* config/alpha/alpha.c: Ditto.
      	* config/arm/arm.c: Ditto.
      	* config/cris/cris.c: Ditto.
      	* config/epiphany/epiphany.c: Ditto.
      	* config/frv/frv.c: Ditto.
      	* config/h8300/h8300.c: Ditto.
      	* config/ia64/ia64.c: Ditto.
      	* config/iq2000/iq2000.c: Ditto.
      	* config/m32c/m32c.c: Ditto.
      	* config/mep/mep.c: Ditto.
      	* config/microblaze/microblaze.c: Ditto.
      	* config/mips/mips.c: Ditto.
      	* config/mn10300/mn10300.c: Ditto.
      	* config/moxie/moxie.c: Ditto.
      	* config/msp430/msp430.c: Ditto.
      	* config/nios2/nios2.c: Ditto.
      	* config/pa/pa.c: Ditto.
      	* config/rl78/rl78.c: Ditto.
      	* config/rs6000/rs6000.c: Ditto.
      	* config/rx/rx.c: Ditto.
      	* config/s390/s390.c: Ditto.
      	* config/sh/sh.c: Ditto.
      	* config/sh/sh_treg_combine.cc: Ditto.
      	* config/spu/spu.c: Ditto.
      	* config/stormy16/stormy16.c: Ditto.
      	* config/tilegx/mul-tables.c: Ditto.
      	* config/tilegx/tilegx.c: Ditto.
      	* config/tilepro/mul-tables.c: Ditto.
      	* config/tilepro/tilepro.c: Ditto.
      	* config/vax/vax.c: Ditto.
      
      From-SVN: r217005
      Andrew MacLeod committed
    • [Patch 7/7] Remove *_BY_PIECES_P · a5474c4c
      gcc/
      
      	* doc/tm.texi.in (MOVE_BY_PIECES_P): Remove.
      	(CLEAR_BY_PIECES_P): Likewise.
      	(SET_BY_PIECES_P): Likewise.
      	(STORE_BY_PIECES_P): Likewise.
      	* doc/tm.texi: Regenerate.
      	* system.h: Poison MOVE_BY_PIECES_P, CLEAR_BY_PIECES_P,
      	SET_BY_PIECES_P, STORE_BY_PIECES_P.
      	* expr.c (MOVE_BY_PIECES_P): Remove.
      	(CLEAR_BY_PIECES_P): Likewise.
      	(SET_BY_PIECES_P): Likewise.
      	(STORE_BY_PIECES_P): Likewise.
      	(can_move_by_pieces): Rewrite in terms of
      	targetm.use_by_pieces_infrastructure_p.
      	(emit_block_move_hints): Likewise.
      	(can_store_by_pieces): Likewise.
      	(store_by_pieces): Likewise.
      	(clear_storage_hints): Likewise.
      	(emit_push_insn): Likewise.
      	(expand_constructor): Likewise.
      
      From-SVN: r217004
      James Greenhalgh committed
    • [Patch 6/7 AArch64] Deprecate *_BY_PIECES_P, move to hookized version · d3006da6
      gcc/
      
      	* config/aarch64/aarch64.c
      	(aarch64_use_by_pieces_infrastructre_p): New.
      	(TARGET_USE_BY_PIECES_INFRASTRUCTURE): Likewise.
      	* config/aarch64/aarch64.h (STORE_BY_PIECES_P): Delete.
      
      From-SVN: r217003
      James Greenhalgh committed
    • [Patch 5/7 mips] Deprecate *_BY_PIECES_P, move to hookized version · a10ce561
      gcc/
      
      	* config/mips/mips.h (MOVE_BY_PIECES_P): Remove.
      	(STORE_BY_PIECES_P): Likewise.
      	* config/mips/mips.c (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): New.
      	(mips_move_by_pieces_p): Rename to...
      	(mips_use_by_pieces_infrastructure_p): ...this, use new hook
      	parameters, use the default hook implementation as a
      	fall-back.
      
      From-SVN: r217002
      James Greenhalgh committed
    • [Patch 4/7 sh] Deprecate *_BY_PIECES_P, move to hookized version · ae59bd31
      gcc/
      
      	* config/sh/sh.c (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): New.
      	(sh_use_by_pieces_infrastructure_p): Likewise.
      	* config/sh/sh.h (MOVE_BY_PIECES_P): Remove.
      	(STORE_BY_PIECES_P): Likewise.
      	(SET_BY_PIECES_P): Likewise.
      
      From-SVN: r217001
      James Greenhalgh committed
    • [Patch 3/7 arc] Deprecate *_BY_PIECES_P, move to hookized version · ad23f5d4
      gcc/
      
      	* config/arc/arc.c (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): New.
      	(arc_use_by_pieces_infrastructure_p): Likewise.
      	* confir/arc/arc.h (MOVE_BY_PIECES_P): Delete.
      	(CAN_MOVE_BY_PIECES): Likewise.
      
      From-SVN: r216999
      James Greenhalgh committed
    • [Patch 2/7 s390] Deprecate *_BY_PIECES_P, move to hookized version · b5e3200c
      gcc/
      
      	* config/s390/s390.c (s390_use_by_pieces_infrastructure_p): New.
      	(TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Likewise.
      	* config/s390/s390.h (MOVE_BY_PIECES_P): Remove.
      	(CLEAR_BY_PIECES): Likewise.
      	(SET_BY_PIECES): Likewise.
      	(STORE_BY_PIECES): Likewise.
      
      From-SVN: r216998
      James Greenhalgh committed
    • [Patch 1/7] Hookize *_BY_PIECES_P · 7cbed008
      gcc/
      
      	* target.def (use_by_pieces_infrastructure_p): New.
      	* doc/tm.texi.in (MOVE_BY_PIECES_P): Describe that this macro
      	is deprecated.
      	(STORE_BY_PIECES_P): Likewise.
      	(CLEAR_BY_PIECES_P): Likewise.
      	(SET_BY_PIECES_P): Likewise.
      	(TARGET_MOVE_BY_PIECES_PROFITABLE_P): Add hook.
      	* doc/tm.texi: Regenerate.
      	* expr.c (MOVE_BY_PIECES_P): Rewrite in terms of
      	TARGET_USE_BY_PIECES_INFRASTRUCTURE_P.
      	(STORE_BY_PIECES_P): Likewise.
      	(CLEAR_BY_PIECES_P): Likewise.
      	(SET_BY_PIECES_P): Likewise.
      	(STORE_MAX_PIECES): Move to...
      	* defaults.h (STORE_MAX_PIECES): ...here.
      	* targhooks.c (get_move_ratio): New.
      	(default_use_by_pieces_infrastructure_p): Likewise.
      	* targhooks.h (default_use_by_pieces_infrastructure_p): New.
      	* target.h (by_pieces_operation): New.
      
      From-SVN: r216996
      James Greenhalgh committed
    • Daily bump. · 240decf7
      From-SVN: r216994
      GCC Administrator committed
  4. 31 Oct, 2014 7 commits
    • re PR target/63702 (i386.c:36276: possible missing break ?) · 4988bf65
      	PR target/63702
      	* config/i386/i386.c (ix86_expand_args_builtin): Remove extra
      	assignment to 'nargs' variable.
      
      From-SVN: r216991
      Uros Bizjak committed
    • re PR rtl-optimization/63620 (RELOAD lost SET_GOT dependency on Darwin) · 8e454d55
      	PR target/63620
      	* config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): Declare.
      	* config/i386/i386.c (ix86_use_pseudo_pic_reg): Export.
      	* config/i386/i386.md (*pushtf): Allow only CONST_DOUBLEs that won't
      	be reloaded through memory.
      	(*pushxf): Ditto.
      	(*pushdf): Ditto.
      
      From-SVN: r216990
      Uros Bizjak committed
    • Make std::vector<bool> meet C++11 allocator requirements. · ccd615e3
      	* include/bits/stl_bvector.h (_Bvector_base): Use allocator_traits.
      	(_Bvector_base::_Bvector_impl): Use allocator's pointer type.
      	(_Bvector_base::_M_end_addr()): Convert to raw pointer.
      	(vector<bool>): Use allocator_traits and _M_end_addr. Add allocator
      	extended constructors.
      	* include/bits/vector.tcc (vector<bool>): Use allocator_traits and
      	_M_end_addr.
      	* testsuite/23_containers/vector/bool/allocator/copy.cc: New.
      	* testsuite/23_containers/vector/bool/allocator/minimal.cc: New.
      	* testsuite/23_containers/vector/bool/allocator/noexcept.cc: New.
      	* testsuite/23_containers/vector/bool/allocator/copy_assign.cc: New.
      	* testsuite/23_containers/vector/bool/allocator/move.cc: New.
      	* testsuite/23_containers/vector/bool/allocator/swap.cc: New.
      	* testsuite/23_containers/vector/bool/allocator/ext_ptr.cc: New.
      	* testsuite/23_containers/vector/bool/allocator/move_assign.cc: New.
      
      From-SVN: r216988
      Jonathan Wakely committed
    • re PR rtl-optimization/63620 (RELOAD lost SET_GOT dependency on Darwin) · 9ccb17b4
      	PR target/63620
      	* config/i386/i386.md (*pushtf): Allow only CONST_DOUBLES that won't
      	be reloaded through memory.
      	(*pushxf): Ditto.
      	(*pushdf): Ditto.
      
      From-SVN: r216987
      Uros Bizjak committed
    • re PR rtl-optimization/63659 (wrong code at -O2 and -O3 on x86_64-linux-gnu) · 73c49bf5
      	PR rtl-optimization/63659
      	* ree.c (update_reg_equal_equiv_notes): New function.
      	(combine_set_extension, transform_ifelse): Use it.
      
      	* gcc.c-torture/execute/pr63659.c: New test.
      
      From-SVN: r216985
      Jakub Jelinek committed
    • contrib.texi: Add contribution notes for Balaji Iyer (Cilk+) and Jonny Grant (collect2). · 62871ba2
             * doc/contrib.texi: Add contribution notes for Balaji Iyer (Cilk+)
              and Jonny Grant (collect2).
      
      From-SVN: r216984
      Jeff Law committed
    • builtins.c (fold_builtin_atomic_always_lock_free): Use CONVERT_EXPR_P,… · 625a9766
      builtins.c (fold_builtin_atomic_always_lock_free): Use CONVERT_EXPR_P, CONVERT_EXPR_CODE_P and CASE_CONVERT where approprate.
      
      2014-10-31  Richard Biener  <rguenther@suse.de>
      
      	* builtins.c (fold_builtin_atomic_always_lock_free): Use
      	CONVERT_EXPR_P, CONVERT_EXPR_CODE_P and CASE_CONVERT where
      	approprate.
      	(fold_builtin_expect): Likewise.
      	(integer_valued_real_p): Likewise.
      	* cfgexpand.c (expand_debug_expr): Likewise.
      	* ipa-inline-analysis.c (eliminated_by_inlining_prob): Likewise.
      	(find_foldable_builtin_expect): Likewise.
      	* trans-mem.c (thread_private_new_memory): Likewise.
      	* tree-affine.c (aff_combination_expand): Likewise.
      	* tree-data-ref.c (initialize_matrix_A): Likewise.
      	* tree-inline.c (copy_bb): Likewise.
      	* tree-pretty-print.c (dump_function_name): Likewise.
      	(print_call_name): Likewise.
      	* tree-ssa-forwprop.c (constant_pointer_difference): Likewise.
      	* tree-ssa-math-opts.c (find_bswap_or_nop_1): Likewise.
      	* tree-vect-generic.c (expand_vector_operations_1): Likewise.
      	* tree-vect-patterns.c (vect_handle_widen_op_by_const): Likewise.
      	(vect_recog_widen_mult_pattern): Likewise.
      	(vect_operation_fits_smaller_type): Likewise.
      	* tree-vrp.c (find_assert_locations_1): Likewise.
      	* tree-ssa-dom.c (initialize_hash_element): Canonicalize
      	converts to NOP_EXPR.
      
      From-SVN: r216982
      Richard Biener committed