1. 08 May, 2017 17 commits
    • Bump C++ ABI version. · 49f0c04c
      	* c-opts.c (c_common_post_options): Update defaults for
      	flag_abi_version and flag_abi_compat_version.
      
      From-SVN: r247756
      Jason Merrill committed
    • re PR fortran/79930 (Potentially Missed Optimisation for MATMUL / DOT_PRODUCT) · 0f6ed121
      2017-05-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/79930
      	* frontend-passes.c (matmul_to_var_expr): New function,
      	add prototype.
      	(matmul_to_var_code):  Likewise.
      	(optimize_namespace):  Use them from gfc_code_walker.
      
      2017-05-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/79930
      	* gfortran.dg/inline_transpose_1.f90:  Add
      	-finline-matmul-limit=0 to options.
      	* gfortran.dg/matmul_5.f90:  Likewise.
      	* gfortran.dg/vect/vect-8.f90: Likewise.
      	* gfortran.dg/inline_matmul_14.f90:  New test.
      	* gfortran.dg/inline_matmul_15.f90:  New test.
      
      From-SVN: r247755
      Thomas Koenig committed
    • decl.c (builtin_function_1): Set DCL_ANTICIPATED before pushing. · 507e429b
      	* decl.c (builtin_function_1): Set DCL_ANTICIPATED before pushing.
      	(start_preparsed_function): Do decl pushing before setting
      	current_funciton_decl and announcing it.
      
      From-SVN: r247754
      Nathan Sidwell committed
    • re PR libfortran/80602 (Reduce stack usage for blocked matmul) · fd991039
      2017-05-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/80602
      	* m4/matmul_internal.m4:  'matmul_name`:  Change
      	t1 to a VLA of the required size.
              * generated/matmul_c10.c: Regenerated.
              * generated/matmul_c16.c: Regenerated.
              * generated/matmul_c4.c: Regenerated.
              * generated/matmul_c8.c: Regenerated.
              * generated/matmul_i1.c: Regenerated.
              * generated/matmul_i16.c: Regenerated.
              * generated/matmul_i2.c: Regenerated.
              * generated/matmul_i4.c: Regenerated.
              * generated/matmul_i8.c: Regenerated.
              * generated/matmul_r10.c: Regenerated.
              * generated/matmul_r16.c: Regenerated.
              * generated/matmul_r4.c: Regenerated.
              * generated/matmul_r8.c: Regenerated.
      
      2017-05-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/80602
      	* gfortran.dg/matmul_15.f90:  New test case.
      
      From-SVN: r247753
      Thomas Koenig committed
    • name-lookup.h (pushdecl_with_scope): Replace with ... · d16d5eac
      	* name-lookup.h (pushdecl_with_scope): Replace with ...
      	(pushdecl_outermost_localscope): ... this.
      	* name-lookup.c (pushdecl_with_scope): Replace with ...
      	(pushdecl_outermost_localscope): ... this.
      	(pushdecl_namespace_level): Adjust.
      	* decl.c (cp_make_fname_decl): Use pushdecl_outermost_localscope.
      	* lambda.c (insert_capture_proxy): Likewise.
      
      From-SVN: r247752
      Nathan Sidwell committed
    • target.def (compute_frame_layout): New optional target hook. · 29eb9a44
      2017-05-08  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * target.def (compute_frame_layout): New optional target hook.
              * doc/tm.texi.in (TARGET_COMPUTE_FRAME_LAYOUT): Add hook.
              * doc/tm.texi (TARGET_COMPUTE_FRAME_LAYOUT): Add documentation.
              * lra-eliminations.c (update_reg_eliminate): Call compute_frame_layout
              target hook.
              * reload1.c (verify_initial_elim_offsets): Likewise.
              * config/arm/arm.c (TARGET_COMPUTE_FRAME_LAYOUT): Define.
              (use_simple_return_p): Call arm_compute_frame_layout if needed.
              (arm_get_frame_offsets): Split up into this ...
              (arm_compute_frame_layout): ... and this function.
      
      From-SVN: r247750
      Bernd Edlinger committed
    • Tweak static assertions in std::optional · 9057edd3
      	* include/std/optional: Use a separate static_assert per condition.
      	* testsuite/20_util/optional/cons/value_neg.cc: Update dg-error line
      	numbers.
      
      From-SVN: r247748
      Jonathan Wakely committed
    • class.c (build_vtbl_initializer): Don't shadow outer variable with static var. · 7574e458
      	* class.c (build_vtbl_initializer): Don't shadow outer variable
      	with static var.
      
      From-SVN: r247747
      Nathan Sidwell committed
    • [AArch64] Tighten move constraints for symbolic operands · 564cf83d
      The movsi and movdi constraints allowed the source to be any
      absolute symbolic expression ("S").  That's OK for operands that
      have already been vetted by the aarch64_mov_operand predicate but
      causes problems if the register allocator substitutes an equivalence
      (the usual "the constraints can't accept more than the predicates"
      restriction).
      
      Although all other uses of "S" in the backend are redundant and could
      in principle be removed, "S" itself is a publicly-documented constraint
      and so we'd have to keep its definition.  This patch therefore adds a
      new "Usa" constraint for legitimate absolute address operands.
      
      2017-05-08  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* config/aarch64/constraints.md (Usa): New constraint.
      	* config/aarch64/aarch64.md (*movsi_aarch64, *movdi_aarch64): Use it.
      
      From-SVN: r247746
      Richard Sandiford committed
    • Revert _binding -> _value change. · 06aa5490
      	* name-lookup.h (get_namespace_value, set_global_value): Rename to
      	...
      	(get_namespace_binding, set_global_binding): ... these.
      	* name-lookup.c (get_namespace_value, set_global_value): Rename to
      	...
      	(get_namespace_binding, set_global_binding): ... these.
      	(arg_assoc_namespace, pushdecl_maybe_friend_1)
      	check_for_out_of_scope_variable, push_overloaded_decl_1,
      	lookup_name_innermost_nonclass_level, push_namespace): Adjust.
      	* cp-tree.h (IDENTIFIER_GLOBAL_VALUE)
      	SET_IDENTIFIER_GLOBAL_VALUE): Adjust.
      	* decl.c (poplevel): Adjust.
      	* pt.c (make_constrained_auto): Likewise.
      ((--This line, and those below, will be ignored--
      
      M    cp/cp-tree.h
      M    cp/name-lookup.c
      M    cp/name-lookup.h
      M    cp/decl.c
      M    cp/ChangeLog
      M    cp/pt.c
      
      From-SVN: r247745
      Nathan Sidwell committed
    • * es.po, sv.po: Update. · 1e5c2400
      From-SVN: r247743
      Joseph Myers committed
    • Clarify mt_allocator documentation w.r.t deallocation · 6d430cbd
      	* doc/xml/manual/mt_allocator.xml: Clarify deallocation behaviour.
      	* doc/html/*: Regenerate.
      
      From-SVN: r247742
      Jonathan Wakely committed
    • Define TM_MULTILIB_CONFIG for ARM multilib · c2f46874
      TM_MULTILIB_CONFIG is not set in config.gcc when building with multilib
      for arm targets, leading to config/arm/t-multilib not including any of
      the files (t-aprofile and t-rmprofile) definining the architecture and
      FPU to build multilib for. This patch fixes that by setting
      TM_MULTILIB_CONFIG to with_multilib_list's value after it has been
      checked. It also fix a trailing whitespace issue.
      
      2017-05-08  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/
          * config.gcc (arm*-*-*): Set TM_MULTILIB_CONFIG from
          with_multilib_list after it has been checked.
      
      From-SVN: r247741
      Thomas Preud'homme committed
    • tree-ssa-pre.c (bitmap_set_and): Avoid bitmap copy. · a92464dd
      2017-05-08  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-pre.c (bitmap_set_and): Avoid bitmap copy.
      	(bitmap_set_subtract_values): Likewise.
      
      From-SVN: r247739
      Richard Biener committed
    • tree-vrp.c (gimple_assign_nonzero_warnv_p): Rename to ... · da11a720
      2017-05-08  Richard Biener  <rguenther@suse.de>
      
      	* tree-vrp.c (gimple_assign_nonzero_warnv_p): Rename to ...
      	(gimple_assign_nonzero): ... this and remove strict_overflow_p
      	argument.
      	(gimple_stmt_nonzero_warnv_p): Rename to ...
      	(gimple_stmt_nonzero_p): ... this and remove strict_overflow_p
      	argument.
      	(vrp_stmt_computes_nonzero): Remove strict_overflow_p argument.
      	(extract_range_basic): Adjust, do not disable propagation on
      	strict overflow sensitive simplification.
      	(vrp_visit_cond_stmt): Likewise.
      
      From-SVN: r247738
      Richard Biener committed
    • This fixes a few failures on ARM and AArch64 due to a recent change in... · 18b8c294
      This fixes a few failures on ARM and AArch64 due to a recent change in
      alignment peeling by switching the vector cost model off.
      
      Tested on AArch64, ARM and x64 - committed as obvious.
      
          testsuite/
      	* gcc.dg/vect/vect-44.c: Add -fno-vect-cost-model.
      	* gcc.dg/vect/vect-50.c: Likewise.
      
      From-SVN: r247737
      Wilco Dijkstra committed
    • Daily bump. · 41e97de9
      From-SVN: r247733
      GCC Administrator committed
  2. 07 May, 2017 4 commits
  3. 06 May, 2017 14 commits
    • re PR tree-optimization/78496 (Missed opportunities for jump threading) · 10dfbcba
      	PR tree-optimization/78496
      	* tree-vrp.c (simplify_assert_expr_using_ranges): Remove debugging
      	code.
      
      From-SVN: r247722
      Jeff Law committed
    • re PR tree-optimization/78496 (Missed opportunities for jump threading) · 973dfbb4
      	PR tree-optimization/78496
      	* tree-vrp.c (simplify_assert_expr_using_ranges): New function.
      	(simplify_stmt_using_ranges): Call it.
      	(vrp_dom_walker::before_dom_children): Extract equivalences
      	from an ASSERT_EXPR with an equality comparison against a
      	constant.
      
      	PR tree-optimization/78496
      	* gcc.dg/tree-ssa/ssa-thread-16.c: New test.
      	* gcc.dg/tree-ssa/ssa-thread-17.c: New test.
      
      From-SVN: r247721
      Jeff Law committed
    • Record equivalences for spill registers · 8ffa3150
      If we decide to allocate a call-clobbered register R to a value that
      is live across a call, LRA will create a new spill register TMPR,
      insert:
      
         TMPR <- R
      
      before the call and
      
         R <- TMPR
      
      after it.  But if we then failed to allocate a register to TMPR, we would
      always spill it to the stack, even if R was known to be equivalent to
      a constant or to some existing memory location.  And on AArch64, we'd
      always fail to allocate such a register for 128-bit Advanced SIMD modes,
      since no registers of those modes are call-preserved.
      
      This patch avoids the problem by copying the equivalence information
      from the original pseudo to the spill register.  It means that the
      code for the testcase is as good with -O2 as it is with -O,
      whereas previously the -O code was better.
      
      [Based on the code ARM contributed in branches/ARM/sve-branch@247248]
      
      2017-05-06  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	* lra-constraints.c (lra_copy_reg_equiv): New function.
      	(split_reg): Use it to copy equivalence information from the
      	original register to the spill register.
      
      gcc/testsuite/
      	* gcc.target/aarch64/spill_1.c: New test.
      
      From-SVN: r247720
      Richard Sandiford committed
    • PR 75964: Invalid integer ABS handling in simplify-rtx.c · 2a3f7997
      RTL has no distinction between signed and unsigned values, so it
      doesn't make sense to test for signed overflow.
      
      2017-05-06  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	PR rtl-optimization/75964
      	* simplify-rtx.c (simplify_const_relational_operation): Remove
      	invalid handling of comparisons of integer ABS.
      
      gcc/testsuite/
      	PR rtl-optimization/75964
      	* gcc.dg/torture/pr75964.c: New test.
      
      From-SVN: r247719
      Richard Sandiford committed
    • Remove default_packed lines from i386/avx-vtestp{d,s}* · d554bf23
      2017-05-06  Tom de Vries  <tom@codesourcery.com>
      
      	PR testsuite/80606
      	* gcc.target/i386/avx-vtestpd-1.c: Remove default_packed lines.
      	* gcc.target/i386/avx-vtestpd-2.c: Same.
      	* gcc.target/i386/avx-vtestpd-256-1.c: Same.
      	* gcc.target/i386/avx-vtestpd-256-2.c: Same.
      	* gcc.target/i386/avx-vtestpd-256-3.c: Same.
      	* gcc.target/i386/avx-vtestpd-3.c: Same.
      	* gcc.target/i386/avx-vtestps-1.c: Same.
      	* gcc.target/i386/avx-vtestps-2.c: Same.
      	* gcc.target/i386/avx-vtestps-256-1.c: Same.
      	* gcc.target/i386/avx-vtestps-256-2.c: Same.
      	* gcc.target/i386/avx-vtestps-256-3.c: Same.
      	* gcc.target/i386/avx-vtestps-3.c: Same.
      
      From-SVN: r247718
      Tom de Vries committed
    • Add absolute line number comment in gcc.target/avr/progmem-error-1.cpp · 7a976fe7
      2017-05-06  Tom de Vries  <tom@codesourcery.com>
      
      	* gcc.target/avr/progmem-error-1.cpp: Add abolute line number comment.
      
      From-SVN: r247717
      Tom de Vries committed
    • Replace absolute line numbers in gcc.target/powerpc · 0e852c66
      2017-05-06  Tom de Vries  <tom@codesourcery.com>
      
      	PR testsuite/80557
      	* gcc.target/powerpc/altivec-macros.c: Replace absolute line numbers.
      	* gcc.target/powerpc/altivec-types-1.c: Same.
      
      From-SVN: r247716
      Tom de Vries committed
    • Replace absolute line numbers in gcc.target/spu · 63c40d92
      2017-05-06  Tom de Vries  <tom@codesourcery.com>
      
      	PR testsuite/80557
      	* gcc.target/spu/Wmain.c: Replace absolute line numbers.
      	* gcc.target/spu/intrinsics-1.c: Same.
      
      From-SVN: r247715
      Tom de Vries committed
    • Replace absolute line numbers in gcc.target/arm · b25b8f91
      2017-05-06  Tom de Vries  <tom@codesourcery.com>
      
      	PR testsuite/80557
      	* gcc.target/arm/pr69180.c: Replace absolute line numbers.
      
      From-SVN: r247714
      Tom de Vries committed
    • Replace absolute line numbers in gcc.target/aarch64 · 6df13491
      2017-05-06  Tom de Vries  <tom@codesourcery.com>
      
      	PR testsuite/80557
      	* gcc.target/aarch64/spellcheck_1.c: Replace absolute line numbers.
      	* gcc.target/aarch64/spellcheck_2.c: Same.
      	* gcc.target/aarch64/spellcheck_3.c: Same.
      
      From-SVN: r247713
      Tom de Vries committed
    • Replace absolute line numbers in g++.dg/{debug,goacc} · e01261fe
      2017-05-06  Tom de Vries  <tom@codesourcery.com>
      
      	PR testsuite/80557
      	* g++.dg/debug/dwarf2/dwarf2-1.C: Replace absolute line numbers.
      	* g++.dg/debug/dwarf2/dwarf2-2.C: Same.
      	* g++.dg/debug/dwarf2/pr46123-2.C: Same.
      	* g++.dg/debug/dwarf2/typedef5.C: Same.
      	* g++.dg/goacc/data-1.C: Same.
      
      From-SVN: r247712
      Tom de Vries committed
    • i386.c (ext_80387_constant_init): Do not explicitly initialize to zero. · 9f36390d
      	* config/i386/i386.c (ext_80387_constant_init): Do not explicitly
      	initialize to zero.
      	(init_regs): Remove declaration.
      	(function_arg_advance_32): Initialize error_p as boolean variable.
      
      From-SVN: r247711
      Uros Bizjak committed
    • Add fuchsia support to libgcc · 7ab8766a
      	* config/arm/unwind-arm.h (_Unwind_decode_typeinfo_ptr): Use
      	pc-relative indirect handling for fuchsia.
      	* config/t-slibgcc-fuchsia: New file.
      	* config.host (*-*-fuchsia*, aarch64*-*-fuchsia*, arm*-*-fuchsia*,
      	x86_64-*-fuchsia*): Add definitions.
      
      From-SVN: r247710
      Joshua Conner committed
    • Daily bump. · 08dd548e
      From-SVN: r247709
      GCC Administrator committed
  4. 05 May, 2017 5 commits