1. 26 Jun, 2018 12 commits
  2. 25 Jun, 2018 27 commits
    • predicates.md (const_float_1_operand): Fix match_code test. · 446514af
      	* config/v850/predicates.md (const_float_1_operand): Fix match_code
      	test.
      	(const_float_0_operand): Remove unused predicate.
      	* config/v850/v850.md (define_constants): Remove UNSPEC_LOOP.
      	(define_c_enum unspec): Add LOOP, RCP and RSQRT constants.
      	(recipsf2): New expander.  Original pattern now called
      	(recipsf2_insn).
      	(recipdf2, recipdf2_insn): Similarly.
      	(rsqrtsf2, rsqrtsf2_insn): Similarly
      	(rsqrtdf2, rsqrtdf2_insn): Similarly
      
      From-SVN: r262123
      Jeff Law committed
    • stddef.h: Remove an obsolete comment on FreeBSD 5. · 0402566f
      	* ginclude/stddef.h: Remove an obsolete comment on FreeBSD 5.
      	Simplify logic for FreeBSD (twice).
      
      From-SVN: r262121
      Gerald Pfeifer committed
    • compiler: improve escape analysis · 787732cd
          
          This CL ports recent enhancements of the escape analysis in the
          gc compiler to gofrontend.
          
          - CL 99335: unnamed receiver should not escape.
          
          - CL 105257: propagate loop depth to field. This prevents it
            from escaping when a field's address is taken inside a loop
            (but not otherwise escape).
          
          - CL 107597: use element type for "indirection" of slice/string.
            This prevents the slice/string from escaping when only the
            element, in case that it is pointerless, flows to outer scope.
          
          Reviewed-on: https://go-review.googlesource.com/120760
      
      From-SVN: r262120
      Ian Lance Taylor committed
    • PR libstdc++/86112 fix printers for Python 2.6 · 4fdb6fb6
      Dict comprehensions are only supported since Python 2.7, so use an
      alternative syntax that is backwards compatible.
      
      	PR libstdc++/86112
      	* python/libstdcxx/v6/printers.py (add_one_template_type_printer):
      	Replace dict comprehension.
      
      From-SVN: r262115
      Jonathan Wakely committed
    • PR tree-optimization/86204 - wrong strlen result after prior strnlen · b36bc89e
      gcc/ChangeLog:
      
      	PR tree-optimization/86204
      	* tree-ssa-strlen.c (handle_builtin_strlen): Avoid storing
      	a strnlen result if it's less than the length of the string.
      
      gcc/testsuite/ChangeLog:
      
      	PR tree-optimization/86204
      	* gcc.dg/strlenopt-46.c: New test.
      
      From-SVN: r262114
      Martin Sebor committed
    • Update powerpc64-linux-gnu/baseline_symbols.txt · 03cd7d3f
      	PR libstdc++/81092
      	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
      
      From-SVN: r262112
      Jonathan Wakely committed
    • PR tree-optimization/85700 - Spurious -Wstringop-truncation warning with strncat · eec5f615
      gcc/ChangeLog:
      
      	PR tree-optimization/85700
      	* gimple-fold.c (gimple_fold_builtin_strncat): Adjust comment.
      	* tree-ssa-strlen.c (is_strlen_related_p): Handle integer subtraction.
      	(maybe_diag_stxncpy_trunc): Distinguish strncat from strncpy.
      
      gcc/testsuite/ChangeLog:
      
      	PR tree-optimization/85700
      	* gcc.dg/Wstringop-truncation-4.c: New test.
      
      From-SVN: r262110
      Martin Sebor committed
    • extend.texi (Zero-length arrays): Update and clarify. · 2bcd87a7
      
      gcc/ChangeLog:
      
      	* doc/extend.texi (Zero-length arrays): Update and clarify.
      
      From-SVN: r262109
      Martin Sebor committed
    • config.gcc (powerpc64le*): Revert January 16th... · 214486eb
      2018-06-25  Michael Meissner  <meissner@linux.ibm.com>
      
      	* config.gcc (powerpc64le*): Revert January 16th, 2018 patch that
      	added IEEE/IBM long double multilib support on PowerPC little
      	endian Linux systems.
      	* config/rs6000/linux64.h (MULTILIB_DEFAULTS_IEEE): Likewise.
      	(MULTILIB_DEFAULTS): Likewise.
      	* config/rs6000/rs6000.c (rs6000_option_override_internal):
      	Likewise.
      	* config/rs6000/rs6000.h (TARGET_IEEEQUAD_MULTILIB): Likewise.
      	* config/rs6000/t-ldouble-linux64le-ibm: Delete, no longer used.
      	* config/rs6000/t-ldouble-linux64le-ieee: Delete, no longer used.
      
      From-SVN: r262105
      Michael Meissner committed
    • Fix -finit-derived for c_ptr and c_funptr in programs which use · d66a58d3
          iso_c_binding.
      
          gcc/fortran/ChangeLog:
      
          2018-06-25  Fritz Reese  <fritzoreese@gmail.com>
      
      	PR fortran/82972
              PR fortran/83088
              PR fortran/85851
      	* expr.c (component_initializer): Assign init expr to c->initializer.
      	(generate_isocbinding_initializer): New.
      	(gfc_generate_initializer): Call generate_isocbinding_initializer to
      	generate initializers for c_ptr and c_funptr with -finit-derived.
      
          gcc/testsuite/ChangeLog:
      
          2018-06-25  Fritz Reese  <fritzoreese@gmail.com>
      
      	PR fortran/82972
              PR fortran/83088
              PR fortran/85851
      	* gfortran.dg/init_flag_17.f90: New testcase.
      
      From-SVN: r262104
      Fritz Reese committed
    • gcc_qsort: avoid overlapping memcpy (PR 86311) · 21925ac1
      	PR middle-end/86311
      	* sort.cc (REORDER_23): Avoid memcpy with same destination and source.
      	(REORDER_45): Likewise.
      
      From-SVN: r262092
      Alexander Monakov committed
    • PR libstdc++/86292 fix exception safety of std::vector<InputIterator> constructor · 3685dcd7
      	PR libstdc++/86292
      	* include/bits/stl_vector.h (vector::_M_range_initialize<InputIter>):
      	Add try-catch block.
      	* testsuite/23_containers/vector/cons/86292.cc: New.
      
      From-SVN: r262029
      Jonathan Wakely committed
    • Add experimental::sample and experimental::shuffle from N4531 · 37cb7887
      The additions to <experimental/random> were added in 2015 but the new
      algorithms in <experimental/algorithm> were not. This adds them.
      
      	* include/experimental/algorithm (sample, shuffle): Add new overloads
      	using per-thread random number engine.
      	* testsuite/experimental/algorithm/sample.cc: Simpify and reduce
      	dependencies by using __gnu_test::test_container.
      	* testsuite/experimental/algorithm/sample-2.cc: New.
      	* testsuite/experimental/algorithm/shuffle.cc: New.
      
      From-SVN: r262024
      Jonathan Wakely committed
    • p9-extract-1.c: Make second argument of vec_extract a signed int. · 10e68fe4
      gcc/testsuite/ChangeLog:
      
      2018-06-25  Carl Love  <cel@us.ibm.com>
      
      	* gcc.target/powerpc/p9-extract-1.c: Make second argument of
       	vec_extract a signed int. Add vec_extract tests for bool char
      	and bool int.
      	* gcc.target/powerpc/p9-extract-4.c:  New test file for long long
      	vec_extract tests.
      
      From-SVN: r262023
      Carl Love committed
    • v850.md (divmodhi4): Make sure to sign extend the dividend to 32 bits. · ad111b8e
      	* config/v850/v850.md (divmodhi4): Make sure to sign extend the
      	dividend to 32 bits.  Adjust length.
      	(udivmodhi4): Cleanup output template.  Fix length.
      
      From-SVN: r262022
      Jeff Law committed
    • [testsuite/guality] Fix tcl error on gdb -v failure · 3e85d885
      2018-06-25  Tom de Vries  <tdevries@suse.de>
      
      	* lib/gcc-gdb-test.exp (report_gdb): Handle gdb -v failure.
      
      From-SVN: r262021
      Tom de Vries committed
    • vsx.md: Change word selector to prefered location. · f74fc01d
      
      gcc/ChangeLog:
      
      2018-06-25  Carl Love  <cel@us.ibm.com>
      
      	* config/rs6000/vsx.md: Change word selector to prefered location.
      
      Signed-off-by: Carl Love <cel@us.ibm.com>
      ---
       gcc/config/rs6000/vsx.md | 2 +-
       1 file changed, 1 insertion(+), 1 deletion(-)
      
      diff --git a/gcc/config/rs6000/vsx.md b/gcc/config/rs6000/vsx.md
      index a528ef2e8..6e7a4277f 100644
      --- a/gcc/config/rs6000/vsx.md
      +++ b/gcc/config/rs6000/vsx.md
      @@ -3934,7 +3934,7 @@
       
         operands[5] = gen_rtx_REG (V4SFmode, tmp_regno);
         operands[6] = gen_rtx_REG (V4SImode, tmp_regno);
      -  operands[7] = GEN_INT (BYTES_BIG_ENDIAN ? 1 : 2);
      +  operands[7] = GEN_INT (BYTES_BIG_ENDIAN ? 0 : 3);
         operands[8] = gen_rtx_REG (V4SImode, reg_or_subregno (operands[0]));
       }
         [(set_attr "type" "vecperm")
      -- 
      2.17.1
      
      From-SVN: r262020
      Carl Love committed
    • re PR regression/86304 ([MIPS] FAIL: gcc.dg/vect/pr79887.c -mmsa (internal… · 2817a2b6
      re PR regression/86304 ([MIPS] FAIL: gcc.dg/vect/pr79887.c  -mmsa (internal compiler error) starting with r261740)
      
      2018-06-25  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/86304
      	* tree-vectorizer.c (vectorize_loops): Walk over new possibly
      	epilogue-if-converted loops as well.
      
      From-SVN: r262017
      Richard Biener committed
    • re PR target/84786 ([miscompilation] vunpcklpd accessing xmm16-22 targeting KNL) · af62adb9
      	PR target/84786
      	* config/i386/sse.md (vshift_count): New mode attr.
      	(<shift_insn><mode>3<mask_name>): Use <vshift_count>N instead of vN
      	as last operand's constraint for VI2_AVX2_AVX512BW shifts.  Use YvN
      	instead of vN as last operand's constraint for VI48_AVX2 shifts.
      
      	* gcc.target/i386/avx512f-pr84786-3.c: New test.
      
      From-SVN: r262015
      Jakub Jelinek committed
    • lto-section-out.c (lto_begin_section): Do not print section name for noaddr and unnumbered dumps. · aa7c78ca
      
      	* lto-section-out.c (lto_begin_section): Do not print section
      	name for noaddr and unnumbered dumps.
      
      From-SVN: r262013
      Jan Hubicka committed
    • tree-vectorizer.h (struct vec_info_shared): New structure with parts split out… · ca823c85
      tree-vectorizer.h (struct vec_info_shared): New structure with parts split out from struct vec_info and loop_nest from...
      
      2018-06-25  Richard Biener  <rguenther@suse.de>
      
      	* tree-vectorizer.h (struct vec_info_shared): New structure
      	with parts split out from struct vec_info and loop_nest from
      	struct _loop_vec_info.
      	(struct vec_info): Adjust accordingly.
      	(struct _loop_vec_info): Likewise.
      	(LOOP_VINFO_LOOP_NEST): Adjust.
      	(LOOP_VINFO_DATAREFS): Likewise.
      	(LOOP_VINFO_DDRS): Likewise.
      	(struct _bb_vec_info): Likewise.
      	(BB_VINFO_DATAREFS): Likewise.
      	(BB_VINFO_DDRS): Likewise.
      	(struct _stmt_vec_info): Add dr_aux member.
      	(DR_VECT_AUX): Adjust to refer to member of DR_STMTs vinfo.
      	(DR_MISALIGNMENT_UNINITIALIZED): New.
      	(set_dr_misalignment): Adjust.
      	(dr_misalignment): Assert misalign isn't DR_MISALIGNMENT_UNINITIALIZED.
      	(vect_analyze_loop): Adjust prototype.
      	(vect_analyze_loop_form): Likewise.
      	* tree-vect-data-refs.c (vect_analyze_data_ref_dependences):
      	Compute dependences lazily.
      	(vect_record_base_alignments): Use shared datarefs/ddrs.
      	(vect_verify_datarefs_alignment): Likewise.
      	(vect_analyze_data_refs_alignment): Likewise.
      	(vect_analyze_data_ref_accesses): Likewise.
      	(vect_analyze_data_refs): Likewise.
      	* tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Add
      	constructor parameter for shared part.
      	(vect_analyze_loop_form): Pass in shared part and adjust.
      	(vect_analyze_loop_2): Pass in storage for the number of
      	stmts.  Move loop nest finding to the caller.  Compute
      	datarefs lazily.
      	(vect_analyze_loop): Pass in shared part.
      	(vect_transform_loop): Verify shared datarefs are unchanged.
      	* tree-vect-slp.c (_bb_vec_info::_bb_vec_info): Add
      	constructor parameter for shared part.
      	(vect_slp_analyze_bb_1): Pass in shared part and adjust.
      	(vect_slp_bb): Verify shared datarefs are unchanged before
      	transform.
      	* tree-vect-stmts.c (ensure_base_align): Adjust for DR_AUX
      	change.
      	(new_stmt_vec_info): Initialize DR_AUX misalignment to
      	DR_MISALIGNMENT_UNINITIALIZED.
      	* tree-vectorizer.c (vec_info::vec_info): Add constructor
      	parameter for shared part.
      	(vec_info::~vec_info): Adjust.
      	(vec_info_shared::vec_info_shared): New.
      	(vec_info_shared::~vec_info_shared): Likewise.
      	(vec_info_shared::save_datarefs): Likewise.
      	(vec_info_shared::check_datarefs): Likewise.
      	(try_vectorize_loop_1): Construct shared part live for analyses
      	of a single loop for multiple vector sizes.
      	* tree-parloops.c (gather_scalar_reductions): Adjust.
      
      From-SVN: r262009
      Richard Biener committed
    • tree-vect-data-refs.c (vect_find_stmt_data_reference): Modify DR for SIMD lane… · f2227a66
      tree-vect-data-refs.c (vect_find_stmt_data_reference): Modify DR for SIMD lane accesses here and mark DR with (void *)-1 aux.
      
      2018-06-25  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-data-refs.c (vect_find_stmt_data_reference): Modify
      	DR for SIMD lane accesses here and mark DR with (void *)-1 aux.
      	(vect_analyze_data_refs): Remove similar code from here and
      	simplify accordingly.
      
      From-SVN: r262008
      Richard Biener committed
    • tree-vect-data-refs.c (vect_check_gather_scatter): Fail for reverse storage… · 8c963290
      tree-vect-data-refs.c (vect_check_gather_scatter): Fail for reverse storage order accesses rather than asserting they cannot...
      
      2018-06-25  Richard Biener  <rguenther@suse.de>
              Eric Botcazou  <ebotcazou@libertysurf.fr>
      
      	* tree-vect-data-refs.c (vect_check_gather_scatter): Fail
      	for reverse storage order accesses rather than asserting
      	they cannot happen here.
      
      	* gnat.dg/sso9.adb: New testcase.
      	* gnat.dg/sso9_pkg.ads: Likewise.
      
      From-SVN: r262007
      Richard Biener committed
    • [i386/debug] Fix insn prefix in tls_global_dynamic_64_<mode> · fd082a66
      2018-06-25  Tom de Vries  <tdevries@suse.de>
      
      	PR debug/86257
      	* config/i386/i386.md (define_insn "*tls_global_dynamic_64_<mode>"):
      	Use data16 instead of .byte for insn prefix.
      
      	* gcc.target/i386/pr86257.c: New test.
      
      From-SVN: r262006
      Tom de Vries committed
    • C++: Fix PR86082 · 4f1c88ae
      When turning a user-defined numerical literal into an operator
      invocation the literal needs to be translated to the execution
      character set.
      
      gcc/cp/ChangeLog:
      
      2018-06-25  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	PR C++/86082
      	* parser.c (make_char_string_pack): Pass this literal chars
      	through cpp_interpret_string.
      	(cp_parser_userdef_numeric_literal): Check the result of
      	make_char_string_pack.
      
      gcc/testsuite/ChangeLog:
      
      2018-06-25  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	PR C++/86082
      	* g++.dg/pr86082.C: New test.
      
      From-SVN: r262003
      Andreas Krebbel committed
    • Daily bump. · c5ce6638
      From-SVN: r262002
      GCC Administrator committed
  3. 24 Jun, 2018 1 commit