1. 17 Aug, 2017 18 commits
    • altivec.md (VParity): Remove TARGET_VSX_TIMODE. · 4a89b7e7
      gcc/
      	* config/rs6000/altivec.md (VParity): Remove TARGET_VSX_TIMODE.
      	* config/rs6000/rs6000-cpus.def: Remove comment.
      	(ISA_2_7_MASKS_SERVER): Delete OPTION_MASK_VSX_TIMODE;
      	(POWERPC_MASKS): Likewise.
      	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Remove unneeded
      	use of TARGET_VSX_TIMODE.
      	(rs6000_setup_reg_addr_masks): Change TARGET_VSX_TIMODE to TARGET_VSX.
      	(rs6000_init_hard_regno_mode_ok): Remove unneeded uses of
      	TARGET_VSX_TIMODE.  Change use of TARGET_VSX_TIMODE to TARGET_VSX.
      	(rs6000_option_override_internal): Remove dead code.
      	(rs6000_legitimize_address): Change TARGET_VSX_TIMODE to TARGET_VSX.
      	(rs6000_legitimize_reload_address): Likewise.
      	(rs6000_legitimate_address_p): Likewise.
      	(rs6000_opt_masks): Delete "vsx-timode".
      	(rs6000_disable_incompatible_switches): Remove mention of -mvsx-timode
      	from function comment.
      	* config/rs6000/rs6000.h (MASK_VSX_TIMODE): Delete.
      	* config/rs6000/rs6000.md (FMOVE128_GPR): Remove TARGET_VSX_TIMODE.
      	(V16QI, V8HI, V4SI, V4SF, V2DI, V2DF, V1TI): Remove useless empty
      	condition.
      	* config/rs6000/rs6000.opt (mvsx-timode): Replace with stub.
      	* config/rs6000/vector.md (VEC_IP): Remove TARGET_VSX_TIMODE.
      	* config/rs6000/vsx.md (VSX_LE_128): Likewise.
      	(VSX_TI): Likewise.
      	(VSX_M): Likewise.
      	(define_peephole2): Likewise.
      
      gcc/testsuite/
      	* gcc.target/powerpc/p8vector-int128-1.c: Remove use of -mvsx-timode.
      	* gcc.target/powerpc/p9-vparity.c: Likewise.
      	* gcc.target/powerpc/pr68805.c: Likewise.
      	* gcc.target/powerpc/pr80098-4.c: Remove useless test case.
      
      From-SVN: r251158
      Peter Bergner committed
    • PR c/81859 - [8 Regression] valgrind error from warn_about_normalization · 86ef85d3
      gcc/ChangeLog:
      
      	PR c/81859
      	* pretty-print.c (pp_format): Use strnlen in %.*s to avoid reading
      	past the end of an array.
      	(test_pp_format): Add test cases.
      
      From-SVN: r251157
      Martin Sebor committed
    • Add missing ECF_NOTHROW flags to internal.def · f8c770dd
      This patch adds missing ECF_NOTHROW flags to the vectorisable
      integer internal functions.
      
      2017-08-17  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	* internal-fn.def (CLRSB, CLZ, CTZ, FFS, PARITY, POPCOUNT): Add
      	missing ECF_NOTHROW flags.
      
      From-SVN: r251155
      Richard Sandiford committed
    • lex.c (maybe_add_lang_type_raw): BOUND_TEMPLATE_TEMPLATE_PARMs don't need lang_type. · 776ff3ef
      	* lex.c (maybe_add_lang_type_raw): BOUND_TEMPLATE_TEMPLATE_PARMs
      	don't need lang_type.
      	(cxx_make_type): Use maybe_add_lang_type_raw return value.
      	* mangle.c (CLASSTYPE_TEMPLATE_ID_P): Don't rely on
      	TYPE_LANG_SPECIFIC.
      
      From-SVN: r251154
      Nathan Sidwell committed
    • re PR target/72804 (Poor code gen with -mvsx-timode) · d00fdf85
      gcc/
      	PR target/72804
      	* config/rs6000/vsx.md (*vsx_le_permute_<mode>): Add support for
      	operands residing in integer registers.
      	(*vsx_le_perm_load_<mode>): Likewise.
      	(*vsx_le_perm_store_<mode>): Likewise.
      	(define_peephole2): Add peepholes to optimize the above.
      
      gcc/testsuite/
      	PR target/72804
      	* gcc.target/powerpc/pr72804.c: New test.
      
      From-SVN: r251153
      Peter Bergner committed
    • re PR middle-end/81814 (Incorrect behaviour at -O0 (conditional operator)) · e67bbd5d
      	PR middle-end/81814
      	* fold-const.c (operand_equal_for_comparison_p): Remove code that used
      	to mimic what shorten_compare did.  Change the return type to bool.
      	(fold_cond_expr_with_comparison): Update call to
      	operand_equal_for_comparison_p.
      	(fold_ternary_loc): Likewise.
      
      	* gcc.dg/torture/pr81814.c: New test.
      
      From-SVN: r251152
      Marek Polacek committed
    • re PR ada/81878 (--disable-bootstrap --enable-languages=ada fails) · 909e448f
      2017-08-17  Richard Biener  <rguenther@suse.de>
      
      	PR ada/81878
      	* Makefile.in (CXX_LFLAGS): Remove.
      	(TOOLS_FLAGS_TO_PASS_NATIVE): Pass $(CXX) as CXX.
      	(TOOLS_FLAGS_TO_PASS_RE): Likewise.
      
      From-SVN: r251150
      Richard Biener committed
    • [AArch64] Improve SIMD store of zero. · ea58eb88
      This patch changes patterns in aarch64-simd.md to replace
      
          movi    v0.4s, 0
          str    q0, [x0, 16]
      
      With:
      
          stp xzr, xzr, [x0, 16]
      
      When we are storing zeros to vectors like this:
      
          void f(uint32x4_t *p) {
            uint32x4_t x = { 0, 0, 0, 0};
            p[1] = x;
          }
      
      gcc/
      2017-08-17  Jackson Woodruff  <jackson.woodruff@arm.com>
      
      	* aarch64-simd.md (mov<mode>): No longer force zero immediate into
      	register.
      	(*aarch64_simd_mov<mode>): Add new case for stp	using zero immediate.
      
      gcc/testsuite/
      2017-08-17  Jackson Woodruff  <jackson.woodruff@arm.com>
      
      	* gcc.target/aarch64/simd/vect_str_zero.c: New testcase.
      
      From-SVN: r251149
      Jackson Woodruff committed
    • cp-tree.h (struct lang_type): Remove template_info field. · 0fc81d78
      	* cp-tree.h (struct lang_type): Remove template_info field.
      	(CLASSTYPE_TEMPLATE_INFO): Use TYPE_LANG_SLOT_1.
      	(TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO): Likewise.
      
      From-SVN: r251148
      Nathan Sidwell committed
    • Add the missing ChangeLog for r251076 · 157d38ba
      From-SVN: r251147
      H.J. Lu committed
    • tree-ssa-structalias.c (solve_graph): When propagating to successors update the… · d506d6ca
      tree-ssa-structalias.c (solve_graph): When propagating to successors update the graphs succ edges and avoid duplicate...
      
      2017-08-17  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-structalias.c (solve_graph): When propagating
      	to successors update the graphs succ edges and avoid duplicate work.
      
      From-SVN: r251146
      Richard Biener committed
    • re PR target/81861 (ASan pr64820.c testcase segfaults with LTO and -fstack-protector-strong) · b8d8d3ff
      2017-08-17  Maxim Ostapenko  <m.ostapenko@samsung.com>
      
      	PR target/81861
      	* config/i386/i386.c (ix86_option_override_internal): Save target
      	specific options after ix86_stack_protector_guard_reg was changed.
      
      From-SVN: r251145
      Maxim Ostapenko committed
    • Require effective target nonlocal_goto for ipa/pr81696.c · ab4b719a
      2017-08-17  Tom de Vries  <tom@codesourcery.com>
      
      	* gcc.dg/ipa/pr81696.c: Require effective target nonlocal_goto.
      
      From-SVN: r251144
      Tom de Vries committed
    • re PR fortran/81827 (Large compile time with derived-type rrays) · afdb85f9
      2017-08-17  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/81827
      	* tree-ssa-structalias.c (struct variable_info): Add is_reg_var
      	flag.
      	(new_var_info): Initialize it conservatively.
      	(get_call_vi): Mark register vars.
      	(new_scalar_tmp_constraint_exp): Likewise.
      	(handle_rhs_call): Likewise.
      	(handle_const_call): Likewise.
      	(create_function_info_for): Likewise.
      	(solve_constraints): Sort varinfos to separate register from
      	non-register vars to pack points-to solution bitmaps during
      	iteration.
      
      From-SVN: r251143
      Richard Biener committed
    • gimplify.c (gimplify_adjust_omp_clauses): Compare with 0 instead of 1. · cca6b724
      	* gimplify.c (gimplify_adjust_omp_clauses): Compare with 0 instead of
      	1.
      
      From-SVN: r251142
      Marek Polacek committed
    • tree-vrp.c (vrp_int_const_binop): Do not set *overflow_p to true when overflow… · 344be1fd
      tree-vrp.c (vrp_int_const_binop): Do not set *overflow_p to true when overflow is undefined and we saturated the...
      
      2017-08-17  Richard Biener  <rguenther@suse.de>
      
      	* tree-vrp.c (vrp_int_const_binop): Do not set *overflow_p
      	to true when overflow is undefined and we saturated the
      	result.
      
      	* gcc.dg/tree-ssa/vrp117.c: New testcase.
      
      From-SVN: r251141
      Richard Biener committed
    • [RS6000] PR 80938, Don't emit frame info for regs that don't need saving · b263d657
      It is possible when using out-of-line register saves or store multiple
      to save some registers unnecessarily, for example one reg in the block
      saved might be unused.  We don't need to emit frame info for those
      registers as that just bloats the info, and also can result in an ICE
      when shrink-wrap gives multiple paths through the function saving
      different sets of registers.  Join points need to have identical frame
      register save state regardless of the path taken.
      
      This patch reverts the previous fix for PR80939 "Use SAVE_MULTIPLE
      only if we restore what it saves (PR80938)" and instead fixes the PR
      by correcting the frame info.  The change to rs6000_savres_strategy
      is an optimization, but note that it hides the underlying problem in
      the PR testcase.
      
      	PR target/80938
      	* config/rs6000/rs6000.c (rs6000_savres_strategy): Revert 2017-08-09.
      	Don't use store multiple if only one reg needs saving.
      	(interesting_frame_related_regno): New function.
      	(rs6000_frame_related): Don't emit frame info for regs that
      	don't need saving.
      	(rs6000_emit_epilogue): Likewise.
      
      From-SVN: r251140
      Alan Modra committed
    • Daily bump. · 706028a5
      From-SVN: r251139
      GCC Administrator committed
  2. 16 Aug, 2017 16 commits
  3. 15 Aug, 2017 4 commits
    • Limit SH strncmp inline expansion (PR target/78460). · aaf46c35
      GCC mainline built for sh4-linux-gnu runs out of memory building a
      glibc test, which calls strncmp with very large constant size
      argument, resulting in the SH inline strncmp expansion trying to
      inline a fully unrolled expansion of strncmp for that size.
      
      This patch limits that fully unrolled expansion to the case of less
      than 32 bytes.  This is explicitly *not* trying to be optimal in any
      way (very likely a lower threshold makes sense), just to limit enough
      to avoid the out-of-memory issue in the glibc testsuite.
      
      I have *not* run the GCC testsuite for SH.  I have verified that this
      allows the glibc testsuite to build OK, with both GCC mainline and GCC
      7 branch (and that the included test builds quickly with patched GCC,
      runs out of memory with unpatched GCC).
      
      	PR target/78460
      	PR target/67712
      gcc:
      	* config/sh/sh-mem.cc (sh_expand_cmpnstr): Only unroll for
      	constant count if that count is less than 32.
      
      gcc/testsuite:
      	* gcc.c-torture/compile/string-large-1.c: New test.
      
      From-SVN: r251108
      Joseph Myers committed
    • Update .po files. · 6b789c7f
      	* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
      	ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po,
      	zh_TW.po: Update.
      
      From-SVN: r251106
      Joseph Myers committed
    • gcc.c (execute): Emit friendlier message if inferior is killed by an external cause. · 466e6e8d
      	* gcc.c (execute): Emit friendlier message if inferior is killed
      	by an external cause.
      
      From-SVN: r251104
      Nathan Sidwell committed
    • re PR tree-optimization/81790 (ICE in vn_nary_build_or_lookup_1, at tree-ssa-sccvn.c:1738) · 204b99cd
      2017-08-15  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/81790
      	* tree-ssa-sccvn.c (vn_lookup_simplify_result): Handle both
      	CONSTRUCTORs from simplifying and VN.
      
      	* gcc.dg/torture/pr81790.c: New testcase.
      
      From-SVN: r251103
      Richard Biener committed
  4. 14 Aug, 2017 2 commits