1. 06 Mar, 2017 14 commits
    • Add check_effective_target_gettimeofday and use it in gcc.dg/lto/pr60449_0.c. · 54649631
      gcc/
      	* doc/sourcebuild.texi (Effective-Target Keywords, Environment
      	attributes): Document gettimeofday.
      
      gcc/testsuite/
      
      	* gcc.dg/lto/pr60449_0.c: Add dg-require-effective-target for
      	gettimeofday.  Remove dg-skip-if for AVR.
      	* lib/target-supports.exp (check_effective_target_gettimeofday):
      	New proc.
      
      From-SVN: r245921
      Toma Tabacu committed
    • re PR fortran/79894 (ICE in gfc_add_modify_loc, at fortran/trans.c:159) · 1b31fca7
      2017-03-06  Richard Biener  <rguenther@suse.de>
      
      	PR fortran/79894
      	* trans.c (gfc_add_modify_loc): Weaken assert.
      
      From-SVN: r245919
      Richard Biener committed
    • S/390: Disable vectorization for loops with few iterations · 6cc61b5a
      The following patch defines the PARAM_MIN_VECT_LOOP_BOUND parameter in
      the s390 backend.  It helps with the vectorization epilogue problem
      described here [1].
      I see an overall performance increase of > 1% in SPECfp2006, yet some
      cases like cactusADM regress.  This seems to be caused by the vectorizer
      creating an epilogue guard for one more iteration than before, which, in
      turn, causes e.g. predcom to run on the epilogue that it used to ignore
      before ("Loop iterates only 1 time, nothing to do.").  Subsequent,
      minor, effects cause an eventual slowdown.
      
      Until the reason for the bad epilogue code is understood, this patch
      mitigates the problem.  When investigating the issue, I stumbled across
      an attempt to vectorize the epilogue itself as well as combine it with
      the vectorized loop in addition to vector masking [2].  A similar
      approach might also help here.  My original observation of high register
      pressure within the epilogue still stands.  In this specific case, it
      would most likely suffice to save all registers once, run the epilogue
      and restore the registers.  I'm pretty sure this would be faster than
      the "spill fest" that's currently happening.
      
      Regards
       Robin
      
      [1] https://gcc.gnu.org/ml/gcc/2017-01/msg00234.html
      [2] https://gcc.gnu.org/ml/gcc-patches/2016-05/msg01562.html
      
      gcc/ChangeLog:
      
      2017-03-06  Robin Dapp  <rdapp@linux.vnet.ibm.com>
      
      	* config/s390/s390.c (s390_option_override_internal): Set
      	PARAM_MIN_VECT_LOOP_BOUND
      
      From-SVN: r245918
      Robin Dapp committed
    • S/390: Change 2-byte NOPs · 4bbc8970
      The following patch changes "nopr %r7" to "nopr %r0" which is
      advantageous from a hardware perspective. It will only be emitted for
      hotpatching and should not impact normal code.
      
      gcc/ChangeLog:
      
      2017-03-06  Robin Dapp  <rdapp@linux.vnet.ibm.com>
      
      	* config/s390/s390.c (s390_asm_output_function_label): Use nopr %r0.
      	* config/s390/s390.md: Likewise.
      
      gcc/testsuite/ChangeLog:
      
      2017-03-06  Robin Dapp  <rdapp@linux.vnet.ibm.com>
      
      	* gcc.target/s390/hotpatch-1.c: Check for nopr %r0.
      	* gcc.target/s390/hotpatch-10.c: Likewise.
      	* gcc.target/s390/hotpatch-11.c: Likewise.
      	* gcc.target/s390/hotpatch-12.c: Likewise.
      	* gcc.target/s390/hotpatch-13.c: Likewise.
      	* gcc.target/s390/hotpatch-14.c: Likewise.
      	* gcc.target/s390/hotpatch-15.c: Likewise.
      	* gcc.target/s390/hotpatch-16.c: Likewise.
      	* gcc.target/s390/hotpatch-17.c: Likewise.
      	* gcc.target/s390/hotpatch-18.c: Likewise.
      	* gcc.target/s390/hotpatch-19.c: Likewise.
      	* gcc.target/s390/hotpatch-2.c: Likewise.
      	* gcc.target/s390/hotpatch-26.c: Likewise.
      	* gcc.target/s390/hotpatch-27.c: Likewise.
      	* gcc.target/s390/hotpatch-28.c: Likewise.
      	* gcc.target/s390/hotpatch-3.c: Likewise.
      	* gcc.target/s390/hotpatch-4.c: Likewise.
      	* gcc.target/s390/hotpatch-5.c: Likewise.
      	* gcc.target/s390/hotpatch-6.c: Likewise.
      	* gcc.target/s390/hotpatch-7.c: Likewise.
      	* gcc.target/s390/hotpatch-8.c: Likewise.
      	* gcc.target/s390/hotpatch-9.c: Likewise.
      
      From-SVN: r245917
      Robin Dapp committed
    • re PR c++/64574 (ICE (stack overflow SEGV) with bad template specialization) · 5f215a70
      2017-03-06  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/64574
      	* g++.dg/template/crash125.C: New.
      
      From-SVN: r245916
      Paolo Carlini committed
    • re PR target/79812 (ICE in simplify_binary_operation_1, at simplify-rtx.c:3586) · 296cc393
      	PR target/79812
      	* config/i386/sse.md (VI8F_256_512): Remove mode iterator.
      	(<avx2_avx512>_perm<mode>): Rename to ...
      	(avx2_perm<mode>): ... this.  Use VI8F_256 iterator instead
      	of VI8F_256_512.
      	(<avx512>_perm<mode>_mask): Rename to ...
      	(avx512vl_perm<mode>_mask): ... this.  Use VI8F_256 iterator instead
      	of VI8F_256_512.
      	(<avx2_avx512>_perm<mode>_1<mask_name>): Rename to ...
      	(avx2_perm<mode>_1<mask_name): ... this.  Use VI8F_256 iterator
      	instead of VI8F_256_512.
      	(avx512f_perm<mode>): New define_expand.
      	(avx512f_perm<mode>_mask): Likewise.
      	(avx512f_perm<mode>_1<mask_name>): New define_insn.
      	(<avx512>_vec_dup<mode>_1): Fix up vec_select mode.
      
      	* gcc.target/i386/avx512f-vpermq-imm-3.c: New test.
      
      From-SVN: r245915
      Jakub Jelinek committed
    • MIPS: Force o32 ABI for inline-memcpy-3.c. · ca8942a3
      gcc/testsuite/
      
      	* gcc.target/mips/inline-memcpy-3.c (dg-options): Add -mabi=32.
      
      From-SVN: r245914
      Toma Tabacu committed
    • mips-msa.md (msa_fmax_a_<msafmt>, [...]): Introduce mode interator for if_then_else. · c1b993c0
      gcc/
      	* config/mips/mips-msa.md (msa_fmax_a_<msafmt>, msa_fmin_a_<msafmt>,
      	msa_max_a_<msafmt>, msa_min_a_<msafmt>): Introduce mode interator for
      	if_then_else.
      	(smin<mode>3, smax<mode>3): Change operand print code from 'B' to 'E'.
      
      gcc/testsuite/
      	* gcc.target/mips/msa-minmax.c: New tests.
      
      From-SVN: r245913
      Prachi Godbole committed
    • Fix ICE in use-after-scope w/ -fno-tree-dce (PR sanitize/79783). · a50a32aa
      2017-03-06  Martin Liska  <mliska@suse.cz>
      
      	PR sanitize/79783
      	* asan.c (asan_expand_poison_ifn): Do not expand ASAN_POISON
      	when having a SSA NAME w/o VAR_DECL assigned to it.
      2017-03-06  Martin Liska  <mliska@suse.cz>
      
      	PR sanitize/79783
      	* g++.dg/asan/pr79783.C: New test.
      
      From-SVN: r245912
      Martin Liska committed
    • mips-msa.md (msa_dotp_<su>_d, [...]): Fix MODE for vec_select. · 5ada812c
      gcc/
      	* config/mips/mips-msa.md (msa_dotp_<su>_d, msa_dpadd_<su>_d,
      	msa_dpsub_<su>_d): Fix MODE for vec_select.
      
      gcc/testsuite/
      	* gcc.target/mips/msa-dotp.c: New tests.
      
      From-SVN: r245911
      Prachi Godbole committed
    • mips.c (mips_gen_const_int_vector): Change type of last argument. · 334b3c4b
      gcc/
      	* config/mips/mips.c (mips_gen_const_int_vector): Change type of last
      	argument.
      	* config/mips/mips-protos.h (mips_gen_const_int_vector): Likewise.
      
      gcc/testsuite/
      	* gcc.target/mips/msa-bclri.c: New test.
      
      From-SVN: r245910
      Prachi Godbole committed
    • lto-streamer.c (lto_check_version): Use %qs in diagnostics. · 84671705
      2017-03-06  Richard Biener  <rguenther@suse.de>
      
      	* lto-streamer.c (lto_check_version): Use %qs in diagnostics.
      	* plugin.c (register_plugin_info): Likewise.
      	* tree-chkp.c (chkp_make_static_const_bounds): Likewise.
      
      From-SVN: r245909
      Richard Biener committed
    • * de.po, fr.po: Update. · 4d0da5b4
      From-SVN: r245908
      Joseph Myers committed
    • Daily bump. · 4117f1f8
      From-SVN: r245907
      GCC Administrator committed
  2. 05 Mar, 2017 5 commits
    • sse.md (sse_storehps, [...]): Require in condition that at least one operand is not a MEM. · 661b4dd0
      	* config/i386/sse.md (sse_storehps, sse_storelps,
      	avx_<castmode><avxsizesuffix>_<castmode>,
      	avx512f_<castmode><avxsizesuffix>_<castmode>,
      	avx512f_<castmode><avxsizesuffix>_256<castmode>): Require
      	in condition that at least one operand is not a MEM.
      
      From-SVN: r245904
      Jakub Jelinek committed
    • Add std::scoped_lock for C++17 · f620e1d5
      	* doc/xml/manual/status_cxx2017.xml: Document P0156R2 status.
      	* doc/html/*: Regenerate.
      	* include/std/mutex (scoped_lock): Implement new C++17 template.
      	* testsuite/30_threads/scoped_lock/cons/1.cc: New test.
      	* testsuite/30_threads/scoped_lock/requirements/
      	explicit_instantiation.cc: New test.
      	* testsuite/30_threads/scoped_lock/requirements/typedefs.cc: New test.
      
      From-SVN: r245903
      Jonathan Wakely committed
    • re PR c++/70266 (ICE on invalid code on x86_64-linux-gnu: unexpected expression… · d8b4baeb
      re PR c++/70266 (ICE on invalid code on x86_64-linux-gnu: unexpected expression ‘foo’ of kind overload)
      
      /cp
      2017-03-05  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/70266
      	* except.c (build_must_not_throw_expr): Perform the implicit
      	conversions on the condition.
      
      /testsuite
      2017-03-05  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/70266
      	* g++.dg/tm/pr70266.C: New.
      
      From-SVN: r245901
      Paolo Carlini committed
    • check.c (positive_check): Add new function checking constant for being greater then zero. · ef78bc3c
      gcc/fortran/ChangeLog:
      
      2017-03-05  Andre Vehreschild  <vehre@gcc.gnu.org>
                  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
      
      	* check.c (positive_check): Add new function checking constant for
      	being greater then zero.
      	(gfc_check_image_status): Add checking of image_status arguments.
      	(gfc_check_failed_or_stopped_images): Same but for failed_- and
      	stopped_images function.
      	* dump-parse-tree.c (show_code_node): Added output of FAIL IMAGE.
      	* gfortran.h (enum gfc_statement): Added FAIL_IMAGE_ST.
      	(enum gfc_isym_id): Added new intrinsic symbols.
      	(enum gfc_exec_op): Added EXEC_FAIL_IMAGE.
      	* gfortran.texi: Added description for the new API functions. Updated
      	coverage of gfortran of TS18508.
      	* intrinsic.c (add_functions): Added symbols to resolve new intrinsic
      	functions. 
      	* intrinsic.h: Added prototypes.
      	* iresolve.c (gfc_resolve_failed_images): Resolve the failed_images
      	intrinsic.
      	(gfc_resolve_image_status): Same for image_status.
      	(gfc_resolve_stopped_images): Same for stopped_images.
      	* libgfortran.h: Added prototypes.
      	* match.c (gfc_match_if): Added matching of FAIL IMAGE statement.
      	(gfc_match_fail_image): Match a FAIL IMAGE statement.
      	* match.h: Added prototype.
      	* parse.c (decode_statement): Added matching for FAIL IMAGE.
      	(next_statement): Same.
      	(gfc_ascii_statement): Same.
      	* resolve.c: Same.
      	* simplify.c (gfc_simplify_failed_or_stopped_images): For COARRAY=
      	single a constant result can be returne.d
      	(gfc_simplify_image_status): For COARRAY=single the result is constant.
      	* st.c (gfc_free_statement): Added FAIL_IMAGE handling.
      	* trans-decl.c (gfc_build_builtin_function_decls): Added decls of the
      	new intrinsics.
      	* trans-expr.c (gfc_conv_procedure_call): This is first time all
      	arguments of a function are optional, which is now handled here
      	correctly.
      	* trans-intrinsic.c (conv_intrinsic_image_status): Translate
      	image_status.
      	(gfc_conv_intrinsic_function): Add support for image_status.
      	(gfc_is_intrinsic_libcall): Add support for the remaining new
      	intrinsics.
      	* trans-stmt.c (gfc_trans_fail_image): Trans a fail image.
      	* trans-stmt.h: Add the prototype for the above.
      	* trans.c (trans_code): Dispatch for fail_image.
      	* trans.h: Add the trees for the new intrinsics.
      
      libgfortran/ChangeLog:
      
      2017-03-05  Andre Vehreschild  <vehre@gcc.gnu.org>
                  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
      
      	* caf/libcaf.h: Added prototypes and stat codes for failed and stopped
      	images.
      	* caf/single.c (void _gfortran_caf_fail_image): Add the routine.
      	(int _gfortran_caf_image_status): Same.
      	(_gfortran_caf_failed_images): Same.
      	(_gfortran_caf_stopped_images): Same.
      
      
      gcc/testsuite/ChangeLog:
      
      2017-03-05  Andre Vehreschild  <vehre@gcc.gnu.org>
                  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
      
      	* gfortran.dg/coarray/fail_image_1.f08: New test.
      	* gfortran.dg/coarray/fail_image_2.f08: New test.
      	* gfortran.dg/coarray/failed_images_1.f08: New test.
      	* gfortran.dg/coarray/failed_images_2.f08: New test.
      	* gfortran.dg/coarray/image_status_1.f08: New test.
      	* gfortran.dg/coarray/image_status_2.f08: New test.
      	* gfortran.dg/coarray/stopped_images_1.f08: New test.
      	* gfortran.dg/coarray/stopped_images_2.f08: New test.
      	* gfortran.dg/coarray_fail_st.f90: New test.
      	* gfortran.dg/coarray_failed_images_1.f08: New test.
      	* gfortran.dg/coarray_image_status_1.f08: New test.
      	* gfortran.dg/coarray_stopped_images_1.f08: New test.
      
      From-SVN: r245900
      Andre Vehreschild committed
    • Daily bump. · 55a8bcbb
      From-SVN: r245897
      GCC Administrator committed
  3. 04 Mar, 2017 5 commits
  4. 03 Mar, 2017 16 commits