Commit Graph

163950 Commits

Author SHA1 Message Date
Thomas Koenig
5986c254bf re PR fortran/87397 (Clobbering intent(out) variables caused regression in OpenCoarrays testsuite)
2018-09-23  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/87397
	* gfc_conv_procedure_call: Do not add clobber on INTENT(OUT)
	for variables having the dimension attribute.

2018-09-23  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/87395
	* gfortran.dg/intent_out_11.f90: New test.

From-SVN: r264518
2018-09-23 20:17:25 +00:00
Uros Bizjak
d18cbbf677 i386.h (enum reg_class): Rename MASK_REGS to ALL_MASK_REGS and MASK_EVEX_REGS to MASK_REGS.
* config/i386/i386.h (enum reg_class): Rename MASK_REGS to
	ALL_MASK_REGS and MASK_EVEX_REGS to MASK_REGS.
	(MASK_CLASS_P): Update for rename.
	(MAYBE_MASK_CLASS_P): Ditto.
	(REG_CLASS_NAMES): Update.
	(REG_CLASS_CONTENT): Update.
	* config/i386/i386.c (regclass_map): Update for MASK_REG
	and ALL_MASK_REGS rename.
	* config/i386/constraints.md (Yk): Update for rename.
	(k): Ditto.

	* config/i386/i386.h (enum reg_class): Remove
	EVEX_SSE_REGS and MOD4_SSE_REGS.
	(REG_CLASS_NAMES): Update.
	(REG_CLASS_CONTENT): Update.
	* config/i386/i386.c (regclass_map): Declare AVX-512 SSE
	registers as ALL_SSE_REGS.
	(ix86_additional_allocno_class_p): Remove.
	(TARGET_ADDITIONAL_ALLOCNO_CLASS_P): Remove.
	(ix86_register_priority): Lower priority of EVEX SSE registers.
	Use IN_RANGE macro where appropriate.
	(ix86_hard_regno_mode_ok): Merge AVX-5124FMAPS and
	AVX-5124VNNIW checks.
	(ix86_modes_tieable_p): Tie 512-bit SSE modes.
	* config/i386/sse.md (avx5124fmaddps_4fmaddps)
	(avx5124fmaddps_4fmaddps_mask, avx5124fmaddps_4fmaddps_maskz)
	(avx5124fmaddps_4fmaddss, avx5124fmaddps_4fmaddss_mask)
	(avx5124fmaddps_4fmaddss_maskz, avx5124fmaddps_4fnmaddps)
	(avx5124fmaddps_4fnmaddps_mask, avx5124fmaddps_4fnmaddps_maskz)
	(avx5124fmaddps_4fnmaddss, avx5124fmaddps_4fnmaddss_mask)
	(avx5124fmaddps_4fnmaddss_maskz, avx5124vnniw_vp4dpwssd)
	(avx5124vnniw_vp4dpwssd_mask, avx5124vnniw_vp4dpwssd_maskz)
	(avx5124vnniw_vp4dpwssds, avx5124vnniw_vp4dpwssds_mask)
	(avx5124vnniw_vp4dpwssds_maskz): Use "v" instead of "Yh" constraint.
	* config/i386/constraints.md (Yh): Remove.

	* config/i386/i386.c (regclass_map): Declare integer REX registers
        as GENERAL_REGS.

From-SVN: r264516
2018-09-23 17:37:30 +02:00
Gerald Pfeifer
839837b036 using_exceptions.xml: Move boost.orgs link to https.
* doc/xml/manual/using_exceptions.xml: Move boost.orgs link to
	https.

From-SVN: r264515
2018-09-23 14:57:25 +00:00
Gerald Pfeifer
86ca01ad46 * doc/service.texi (Service): Switch the fsf.org link to https.
From-SVN: r264514
2018-09-23 14:41:54 +00:00
Janne Blomqvist
0f97b81b03 Do array index calculations in gfc_array_index_type
It was recently noticed that for a few of the coarray intrinsics array
index calculations were done in integer_type_node instead of
gfc_array_index_type.  This patch fixes this.

Regtested on x86_64-pc-linux-gnu.

gcc/fortran/ChangeLog:

2018-09-23  Janne Blomqvist  <jb@gcc.gnu.org>

	* trans-expr.c (gfc_caf_get_image_index): Do array index
	calculations in gfc_array_index_type.
	* trans-intrinsic.c (conv_intrinsic_event_query): Likewise.
	* trans-stmt.c (gfc_trans_lock_unlock): Likewise.
	(gfc_trans_event_post_wait): Likewise.

gcc/testsuite/ChangeLog:

2018-09-23  Janne Blomqvist  <jb@gcc.gnu.org>

	* gfortran.dg/coarray_lib_alloc_4.f90: Fix scan patterns.
	* gfortran.dg/coarray_lock_7.f90: Likewise.

From-SVN: r264513
2018-09-23 14:03:38 +03:00
Thomas Koenig
ee7fb0588c re PR fortran/87395 (ICE in in lookup_field_for_decl with whizard)
2018-09-23  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/87395
	* gfc_conv_procedure_call: Reformat comments slightly. Do not add
	clobber on INTENT(OUT) for saved variables.

2018-09-23  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/87395
	* gfortran.dg/intent_out_10.f90: New test.

From-SVN: r264512
2018-09-23 10:52:27 +00:00
GCC Administrator
5cdf09b069 Daily bump.
From-SVN: r264510
2018-09-23 00:16:19 +00:00
Thomas Koenig
056e6860b3 re PR middle-end/41453 (use INTENT(out) for optimization)
2018-09-22  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/41453
	* trans.h (gfc_conv_expr_reference): Add optional argument
	add_clobber to prototype.
	(gfc_conv_procedure_call):  Set add_clobber argument to
	gfc_conv_procedure_reference to true for scalar, INTENT(OUT),
	non-pointer, non-allocatable, non-dummy variables whose type
	is neither BT_CHARACTER, BT_DERIVED or BT_CLASS, but only if
	the procedure is not elemental.
	* trans-expr.c (gfc_conv_procedure_reference): Add clobber
	statement before call if add_clobber is set.

2018-09-22  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/41453
	* gfortran.dg/intent_optimize_2.f90: New test.

From-SVN: r264506
2018-09-22 18:44:01 +00:00
Jerry DeLisle
73a958c67e re PR fortran/87318 (gfortran.dg/dtio_1.f90 is invalid)
2018-09-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/87318
	* gfortran.dg/dtio_1.f90: Update test to valid code.

From-SVN: r264505
2018-09-22 17:49:19 +00:00
Chung-Ju Wu
091a8640be re PR target/86798 (nds32 port needs updating for CVE-2017-5753)
PR target/86798
	* config/nds32/nds32.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
	Define to speculation_safe_value_not_needed.

From-SVN: r264503
2018-09-22 12:30:50 +00:00
Paul Thomas
204d463084 re PR fortran/85603 (ICE with character array substring assignment)
2018-09-22  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/85603
	* trans-array.c (gfc_alloc_allocatable_for_assignment): Test
	the charlen backend_decl before using the VAR_P macro.

2018-09-22  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/85603
	* gfortran.dg/deferred_character_23.f90 : New test.

From-SVN: r264502
2018-09-22 10:21:25 +00:00
GCC Administrator
0e569a3c7e Daily bump.
From-SVN: r264500
2018-09-22 00:16:49 +00:00
François Dumont
9b29794962 re PR libstdc++/87135 ([C++17] unordered containers violate iterator validity requirements)
2018-09-21  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/87135
	* src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
	Use __builtin_floor to compute _M_next_resize.
	* testsuite/23_containers/unordered_set/hash_policy/71181.cc: Adapt.
	* testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc:
	Adapt.

From-SVN: r264494
2018-09-21 20:39:07 +00:00
Jeff Law
35b66f3043 gimple-ssa-evrp.c (evrp_dom_walker::cleanup): Call vr_values::cleanup_edges_and_switches.
* gimple-ssa-evrp.c (evrp_dom_walker::cleanup): Call
	vr_values::cleanup_edges_and_switches.
	* tree-vrp.c (to_remove_edges, to_update_switch_stmts): Moved into
	vr_values class.
	(identify_jump_threads): Remove EDGE_IGNORE handling.
	(execute_vrp): Move handling of to_remove_edges and
	to_update_switch_stmts into vr_values class member functions.
	* tree-vrp.h (switch_update, to_remove_edges): Remove declarations.
	(to_update_switch_stmts): Likewise.
	* vr-values.c: Include cfghooks.h.
	(vr_values::vr_values): Initialize to_remove_edges and
	to_update_switch_stmts.
	(vr_values::~vr_values): Verify to_remove_edges and
	to_update_switch_stmts are empty.
	(vr_values::simplify_switch_using_ranges): Set EDGE_IGNORE as needed.
	(vr_values::cleanup_edges_and_switches): New member function.
	* vr-values.h (vr_values): Add cleanup_edges_and_switches member
	function.  Add new data members.

	* gcc.dg/tree-ssa/vrp113.c: Disable EVRP.
	* gcc.dg/tree-ssa/vrp120.c: New test.

From-SVN: r264491
2018-09-21 14:00:23 -06:00
Florian Weimer
2e3f6531bf Document that attribute noreturn inhibits tail call optimization
PR middle-end/81035
	* doc/extend.texi (Common Function Attributes): Mention that
	noreturn suppresses tail call optimization.

From-SVN: r264490
2018-09-21 21:49:36 +02:00
Marek Polacek
382955736e PR c++/87372 - __func__ constexpr evaluation.
* constexpr.c (maybe_constant_init_1): Pass false for strict down to
	cxx_eval_outermost_constant_expr.

	* g++.dg/cpp1y/func_constexpr2.C: New test.

From-SVN: r264489
2018-09-21 18:45:59 +00:00
Janne Blomqvist
edaaef601d Use vectored writes when reporting errors and warnings.
When producing error and warning messages, libgfortran writes a
message by using many system calls.  By using vectored writes (the
POSIX writev function) when available and feasible to use without
major surgery, we reduce the chance that output gets intermingled with
other output to stderr.

In practice, this is done by introducing a new function estr_writev in
addition to the existing estr_write.  In order to use this, the old
st_vprintf is removed, replaced by direct calls of vsnprintf, allowing
more message batching.

Regtested on x86_64-pc-linux-gnu.

libgfortran/ChangeLog:

2018-09-21  Janne Blomqvist  <jb@gcc.gnu.org>

	* config.h.in: Regenerated.
	* configure: Regenerated.
	* configure.ac: Check for writev and sys/uio.h.
	* libgfortran.h: Include sys/uio.h.
	(st_vprintf): Remove prototype.
	(struct iovec): Define if not available.
	(estr_writev): New prototype.
	* runtime/backtrace.c (error_callback): Use estr_writev.
	* runtime/error.c (ST_VPRINTF_SIZE): Remove.
	(estr_writev): New function.
	(st_vprintf): Remove.
	(gf_vsnprintf): New function.
	(ST_ERRBUF_SIZE): New macro.
	(st_printf): Use vsnprintf.
	(os_error): Use estr_writev.
	(runtime_error): Use vsnprintf and estr_writev.
	(runtime_error_at): Likewise.
	(runtime_warning_at): Likewise.
	(internal_error): Use estr_writev.
	(generate_error_common): Likewise.
	(generate_warning): Likewise.
	(notify_std): Likewise.
	* runtime/pause.c (pause_string): Likewise.
	* runtime/stop.c (report_exception): Likewise.
	(stop_string): Likewise.
	(error_stop_string): Likewise.

From-SVN: r264487
2018-09-21 21:12:59 +03:00
Paul Thomas
5b4dd01583 re PR fortran/77325 (ICE in gimplify_var_or_parm_decl, at gimplify.c:1933)
2018-09-21  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/77325
	* trans-array.c (gfc_alloc_allocatable_for_assignment): If the
	rhs has a charlen expression, convert that and use it.
	* trans-expr.c (gfc_trans_assignment_1): The rse.pre for the
	assignment of deferred character array vars to a realocatable
	lhs should not be added to the exterior block since vector
	indices, for example, generate temporaries indexed within the
	loop.

2018-09-21  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/77325
	* gfortran.dg/deferred_character_22.f90 : New test.

From-SVN: r264486
2018-09-21 17:33:29 +00:00
Paul Thomas
fd876246ee re PR fortran/87359 (pointer being freed was not allocated)
2018-09-21  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/87359
	* trans-stmt.c (gfc_trans_allocate): Don't deallocate alloc
	components if must_finalize is set for expr3.

2018-09-21  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/87359
	* gfortran.dg/finalize_33.f90 : New test.

From-SVN: r264485
2018-09-21 17:26:23 +00:00
Jason Merrill
d4accef391 * constexpr.c (cxx_eval_outermost_constant_expr): Update comment.
From-SVN: r264484
2018-09-21 13:22:20 -04:00
Jonathan Wakely
ac51f07ad2 Un-split hypot<long double> tests
Remove the hypot-long-double.cc file that used dg-xfail-run-if and
simply use the lower tolerance for double if long double is not larger
than double.

	* testsuite/26_numerics/headers/cmath/hypot-long-double.cc: Remove.
	* testsuite/26_numerics/headers/cmath/hypot.cc: Restore test for
	long double unconditionally, but use lower tolerance when
	sizeof(long double) == sizeof(double).

From-SVN: r264483
2018-09-21 16:36:53 +01:00
David Malcolm
c8d1534ec9 dumpfile.c: fix stray dump_loc output (PR tree-optimization/87309)
In r262891 I reimplemented this call:
  dump_printf_loc (MSG_NOTE, loc, "=== %s ===\n", name);
in dump_begin_scope to use direct calls to dump_loc:
  if (dump_file)
    {
      dump_loc (MSG_NOTE, dump_file, loc.get_location_t ());
      fprintf (dump_file, "=== %s ===\n", name);
    }

  if (alt_dump_file)
   {
     dump_loc (MSG_NOTE, alt_dump_file, loc.get_location_t ());
     fprintf (alt_dump_file, "=== %s ===\n", name);
   }

However ::dump_loc doesn't filter with pflags and alt_flags.

This lead to stray output of the form:
  test.cpp:1:6: note: test.cpp:1:11: note:
when using -fopt-info with "optimized" or "missed".

This patch adds this missing filtering, eliminating the stray partial
note output.

gcc/ChangeLog:
	PR tree-optimization/87309
	* dumpfile.c (dump_context::begin_scope): Filter the dump_loc
	calls with pflags and alt_flags.
	(selftest::test_capture_of_dump_calls): Add test of interaction of
	MSG_OPTIMIZED_LOCATIONS with AUTO_DUMP_SCOPE.

gcc/testsuite/ChangeLog:
	PR tree-optimization/87309
	* gcc.dg/pr87309.c: New test.

From-SVN: r264481
2018-09-21 14:17:07 +00:00
Olivier Hainque
52e18cdfd2 config.gcc: factorize and comment inclusion of vxworks-dummy.h
2018-09-21  Olivier Hainque  <hainque@adacore.com>

	* gcc/config.gcc: Factorize and comment inclusion of
	vxworks-dummy.h.

From-SVN: r264480
2018-09-21 13:12:36 +00:00
Olivier Hainque
5244089f15 Leverage cacheTextUpdate for __clear_cache on VxWorks
2018-09-21  Alexandre Oliva  <oliva@adacore.com>

libgcc/
	* config/vxcache.c: New file.  Provide __clear_cache, based on
	the cacheTextUpdate VxWorks service.
	* config/t-vxworks (LIB2ADD): Add vxcache.c.
	(LIB2FUNCS_EXCLUDE): Add _clear_cache.
	* config/t-vxwoks7: Likewise.
gcc/
	* config/vxworks.h (CLEAR_INSN_CACHE): #define to 1.

From-SVN: r264479
2018-09-21 13:09:51 +00:00
Olivier Hainque
8d0ef28209 Cleanup handling of libgcc and libc_internal for VxWorks
2018-09-21  Olivier Hainque  <hainque@adacore.com>

	* config/vxworks.h (VXWORKS_LIBGCC_SPEC): Remove -lc_internal.
	Merge block comment with the one ahead of VXWORKS_LIBS_RTP. Then:
	(VXWORKS_LIBS_RTP): Minor reordering.

From-SVN: r264477
2018-09-21 13:05:19 +00:00
Olivier Hainque
f509691b96 Leverage STARTFILE_PREFIX_SPEC for VxWorks7
2018-09-21  Olivier Hainque  <hainque@adacore.com>

	* config/vxworks.h (STARTFILE_PREFIX_SPEC): Define.
	(VXWORKS_LIBS_DIR_RTP): Remove definition and use.

From-SVN: r264476
2018-09-21 13:03:25 +00:00
Olivier Hainque
aa56e87e1f Account for TARGET_VXWORKS64 in default SIZE/PTRDIFF_TYPE for vxworks
2018-09-21  Olivier Hainque  <hainque@adacore.com>

	* config/vxworks.h (SIZE_TYPE): Account for TARGET_VXWORKS64.
	(PTRDIFF_TYPE): Likewise.

From-SVN: r264475
2018-09-21 13:01:31 +00:00
Olivier Hainque
caa6283465 Introduce TARGET_VXWORKS64 for VxWorks 64bit ports
2018-09-21  Olivier Hainque  <hainque@adacore.com>

	* config.gcc: Enforce def of TARGET_VXWORKS64 to 1 from
	triplet, similar to support for VxWorks7.
	* config/vxworks-dummy.h: Provide a default definition
	of TARGET_VXWORKS64 to 0.

From-SVN: r264474
2018-09-21 12:43:46 +00:00
Olivier Hainque
43a0fd7df8 Fix whitespace vs tab in entry
From-SVN: r264473
2018-09-21 12:39:51 +00:00
Olivier Hainque
05e73c1c47 Move default #define TARGET_VXWORKS7 to vxworks-dummy.h
2018-09-21  Olivier Hainque  <hainque@adacore.com>

	* config/vxworks.h (TARGET_VXWORKS7): Move default definition ...
	* config/vxworks-dummy.h: here.

From-SVN: r264472
2018-09-21 12:38:57 +00:00
Olivier Hainque
5d03c10852 Prepend vxworks-dummy.h to tm_file for powerpc*
2018-09-20  Olivier Hainque  <hainque@adacore.com>

	* config.gcc (powerpc*-*-*): Prepend vxworks-dummy.h to tm_file.

From-SVN: r264471
2018-09-21 12:35:55 +00:00
Shaokun Zhang
910f72e78f [aarch64] Add HiSilicon tsv110 CPU support
This patch adds HiSilicon's an mcpu: tsv110, which supports v8_4A.
It has been tested on aarch64 and no regressions from this patch.

2018-09-21  Shaokun Zhang  <zhangshaokun@hisilicon.com>
            Bo Zhou  <zbo.zhou@hisilicon.com>

	* config/aarch64/aarch64-cores.def (tsv110): New CPU.
	* config/aarch64/aarch64-tune.md: Regenerated.
	* doc/invoke.texi (AArch64 Options/-mtune): Add "tsv110".
	* config/aarch64/aarch64.c (tsv110_tunings): New tuning table.
	* config/aarch64/aarch64-cost-tables.h: Add "tsv110" extra costs.

Co-Authored-By: Bo Zhou <zbo.zhou@hisilicon.com>

From-SVN: r264470
2018-09-21 12:25:12 +00:00
Andrew Stubbs
cbd29d0eae Fix co-array allocation
The Fortran front-end has a bug in which it uses "int" values for "size_t"
parameters.  I don't know why this isn't problem for all 64-bit architectures,
but GCN ends up with the data in the wrong argument register and/or stack slot,
and bad things happen.

This patch corrects the issue by setting the correct type.

2018-09-21  Andrew Stubbs  <ams@codesourcery.com>
            Kwok Cheung Yeung  <kcy@codesourcery.com>

	gcc/fortran/
	* trans-expr.c (gfc_trans_structure_assign): Ensure that the first
	argument of a call to _gfortran_caf_register is of size_type_node.
	* trans-intrinsic.c (conv_intrinsic_event_query): Convert computed
	index to a size_type_node type.
	* trans-stmt.c (gfc_trans_event_post_wait): Likewise.

Co-Authored-By: Kwok Cheung Yeung <kcy@codesourcery.com>

From-SVN: r264468
2018-09-21 11:25:54 +00:00
Andrew Stubbs
b6895597cd Propagate address spaces to builtins.
At present, pointers passed to builtin functions, including atomic operators,
are stripped of their address space properties.  This doesn't seem to be
deliberate, it just omits to copy them.

Not only that, but it forces pointer sizes to Pmode, which isn't appropriate
for all address spaces.

This patch attempts to correct both issues.  It works for GCN atomics and
GCN OpenACC gang-private variables.

2018-09-21  Andrew Stubbs  <ams@codesourcery.com>
	    Julian Brown  <julian@codesourcery.com>

	gcc/
	* builtins.c (get_builtin_sync_mem): Handle address spaces.

Co-Authored-By: Julian Brown <julian@codesourcery.com>

From-SVN: r264467
2018-09-21 11:25:39 +00:00
Eric Botcazou
518196cb3f c-ada-spec.c: Include diagnostic.h.
* c-ada-spec.c: Include diagnostic.h.
	(dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.

From-SVN: r264466
2018-09-21 10:11:37 +00:00
Eric Botcazou
d5d94b80c3 rs6000.c (rs6000_function_ok_for_sibcall): Return false if the call takes a static chain.
* config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Return false
	if the call takes a static chain.

From-SVN: r264463
2018-09-21 10:01:16 +00:00
Martin Liska
512cc01512 Remove arc profile histogram in non-LTO mode.
2018-09-21  Martin Liska  <mliska@suse.cz>

	* auto-profile.c (autofdo_source_profile::read): Do not
	set sum_all.
	(read_profile): Do not add working sets.
	(read_autofdo_file): Remove sum_all.
	(afdo_callsite_hot_enough_for_early_inline): Remove const
	qualifier.
	* coverage.c (struct counts_entry): Remove gcov_summary.
	(read_counts_file): Read new GCOV_TAG_OBJECT_SUMMARY,
	do not support GCOV_TAG_PROGRAM_SUMMARY.
	(get_coverage_counts): Remove summary and expected
	arguments.
	* coverage.h (get_coverage_counts): Likewise.
	* doc/gcov-dump.texi: Remove -w option.
	* gcov-dump.c (dump_working_sets): Remove.
	(main): Do not support '-w' option.
	(print_usage): Likewise.
	(tag_summary): Likewise.
	* gcov-io.c (gcov_write_summary): Do not dump
	histogram.
	(gcov_read_summary): Likewise.
	(gcov_histo_index): Remove.
	(gcov_histogram_merge): Likewise.
	(compute_working_sets): Likewise.
	* gcov-io.h (GCOV_TAG_OBJECT_SUMMARY): Mark
	it not obsolete.
	(GCOV_TAG_PROGRAM_SUMMARY): Mark it obsolete.
	(GCOV_TAG_SUMMARY_LENGTH): Adjust.
	(GCOV_HISTOGRAM_SIZE): Remove.
	(GCOV_HISTOGRAM_BITVECTOR_SIZE): Likewise.
	(struct gcov_summary): Simplify rapidly just
	to runs and sum_max fields.
	(gcov_histo_index): Remove.
	(NUM_GCOV_WORKING_SETS): Likewise.
	(compute_working_sets): Likewise.
	* gcov-tool.c (print_overlap_usage_message): Remove
	trailing empty line.
	* gcov.c (read_count_file): Read GCOV_TAG_OBJECT_SUMMARY.
	(output_lines): Remove program related line.
	* ipa-profile.c (ipa_profile): Do not consider GCOV histogram.
	* lto-cgraph.c (output_profile_summary): Do not stream GCOV
	histogram.
	(input_profile_summary): Do not read it.
	(merge_profile_summaries): And do not merge it.
	(input_symtab): Do not call removed function.
	* modulo-sched.c (sms_schedule): Do not print sum_max.
	* params.def (HOT_BB_COUNT_FRACTION): Reincarnate param that was
	removed when histogram method was invented.
	(HOT_BB_COUNT_WS_PERMILLE): Mention that it's used only in LTO
	mode.
	* postreload-gcse.c (eliminate_partially_redundant_load): Fix
	GCOV coding style.
	* predict.c (get_hot_bb_threshold): Use HOT_BB_COUNT_FRACTION
	and dump selected value.
	* profile.c (add_working_set): Remove.
	(get_working_sets): Likewise.
	(find_working_set): Likewise.
	(get_exec_counts): Do not work with working sets.
	(read_profile_edge_counts): Do not inform as sum_max is removed.
	(compute_branch_probabilities): Likewise.
	(compute_value_histograms): Remove argument for call of
	get_coverage_counts.
	* profile.h: Do not make gcov_summary const.
2018-09-21  Martin Liska  <mliska@suse.cz>

	* libgcov-driver.c (crc32_unsigned): Remove.
	(gcov_histogram_insert): Likewise.
	(gcov_compute_histogram): Likewise.
	(compute_summary): Simplify rapidly.
	(merge_one_data): Do not handle PROGRAM_SUMMARY tag.
	(merge_summary): Rapidly simplify.
	(dump_one_gcov): Ignore gcov_summary.
	(gcov_do_dump): Do not handle program summary, it's not
	used.
	* libgcov-util.c (tag_summary): Remove.
	(read_gcda_finalize): Fix coding style.
	(read_gcda_file): Initialize curr_object_summary.
	(compute_summary): Remove.
	(calculate_overlap): Remove settings of run_max.

From-SVN: r264462
2018-09-21 08:41:17 +00:00
Monk Chiang
36ff254bf6 [NDS32] Sync glibc and kernel structure, all use _rt_sigframe.
libgcc/
	* config/nds32/linux-unwind.h (struct _rt_sigframe): Use struct
	ucontext_t type instead.
	(nds32_fallback_frame_state): Remove struct _sigframe statement.

From-SVN: r264461
2018-09-21 08:39:35 +00:00
Kito Cheng
229a033dac [NDS32] Add t-nds32-glibc file.
libgcc/
	* config/nds32/t-nds32-glibc: New file.

From-SVN: r264460
2018-09-21 08:11:40 +00:00
Monk Chiang
ac703a6f95 [NDS32] Turn off default option -mtlsdesc-trampoline.
gcc/
	* config.gcc (nds32*-*-*): Set TARGET_DEFAULT_TLSDESC_TRAMPOLINE=0.

From-SVN: r264459
2018-09-21 07:35:49 +00:00
Eric Botcazou
1f060238d5 re PR tree-optimization/86990 (wrong code at -O2 on x86_64-linux-gnu in 64-bit mode)
PR tree-optimization/86990
	* gimple-ssa-store-merging.c (imm_store_chain_info:coalesce_immediate):
	Check that the entire merged store group is made of constants only for
	overlapping stores.

From-SVN: r264458
2018-09-21 07:28:42 +00:00
GCC Administrator
74f3101859 Daily bump.
From-SVN: r264456
2018-09-21 00:17:01 +00:00
Marek Polacek
17b20aa993 PR c++/87109 - wrong ctor with maybe-rvalue semantics.
* call.c (build_user_type_conversion_1): Refine the maybe-rvalue
	check to only return if we're converting the return value to a base
	class.

	* g++.dg/cpp0x/ref-qual19.C: Adjust the expected results.
	* g++.dg/cpp0x/ref-qual20.C: New test.

From-SVN: r264452
2018-09-20 23:20:19 +00:00
Allan Sandfeld Jensen
0b7fb27b69 Fix and document -r option
The option has existed and been working for years,
make sure it implies the right extra options, and list
it in the documentation.

2018-09-20  Allan Sandfeld Jensen  <allan.jensen@qt.io>

gcc/
	* gcc.c (LINK_COMMAND_SPEC): Handle -r like -nostdlib.
	(VTABLE_VERIFICATION_SPEC): Likewise.
	(SANITIZER_EARLY_SPEC): Likewise.
	(SANITIZER_SPEC): Likewise.
	* config/darwin.h (LINK_COMMAND_SPEC): Likewise.
	* doc/invoke.texi (Link Options): Document -r.

gcc/cp/
	* g++spec.c (lang_specific_driver): Handle -r like -nostdlib.

gcc/fortran/
	* gfortranspec.c (lang_specific_driver): Handle -r like -nostdlib.

gcc/go/
	* gospec.c (lang_specific_driver): Handle -r like -nostdlib.

gcc/testsuite/
	* g++.dg/ipa/pr64059.C: Removed now redundant -nostdlib.
	* g++.dg/lto/20081109-1_0.C: Likewise.
	* g++.dg/lto/20090302_0.C: Likewise.
	* g++.dg/lto/pr45621_0.C: Likewise.
	* g++.dg/lto/pr60567_0.C: Likewise.
	* g++.dg/lto/pr62026.C: Likewise.
	* gcc.dg/lto/pr45736_0.c: Likewise.
	* gcc.dg/lto/pr52634_0.c: Likewise.
	* gfortran.dg/lto/20091016-1_0.f90: Likewise.
	* gfortran.dg/lto/pr79108_0.f90: Likewise.

From-SVN: r264451
2018-09-20 20:38:24 +01:00
Alexandre Oliva
468e1ef4be [PR87054] fix unaligned access
Building an ADDR_EXPR uses the canonical type to build the pointer
type, but then, as we dereference it, we lose track of lax alignment
known to apply to the dereferenced object.  This might not be a
problem in general, but it is when the compiler implicitly introduces
address taking and dereferencing, as it does for asm statements, and
as it may do in some loop optimizations.

From: Richard Biener <rguenther@suse.de>
for  gcc/ChangeLog

	PR middle-end/87054
	* gimplify.c (gimplify_expr): Retain alignment of
	addressable lvalue in dereference.

From: Alexandre Oliva <oliva@adacore.com>
for  gcc/testsuite/ChangeLog

	PR middle-end/87054
	* gcc.dg/pr87054.c: New.

From-SVN: r264450
2018-09-20 19:34:44 +00:00
Alexandre Oliva
894f597f8f [PR87013] check for .loc is_stmt support in the assembler
Back when we had the logic to output is_stmt but never exercised it,
it didn't matter that we didn't test for assembler support for it.
But there are still assemblers out there that do not support it, so
now that we enable the formerly latent is_stmt logic, we'd better make
sure the assembler can deal with it.

for  gcc/ChangeLog

	PR bootstrap/87013
	* configure.ac: Check for .loc is_stmt support.
	* configure, config.in: Rebuilt.
	* dwarf2out.c (dwarf2out_source_line): Skip is_stmt
	if not supported.

From-SVN: r264449
2018-09-20 19:34:30 +00:00
Janus Weil
2eb3745a7b gfortran.h (gfc_str_startswith): New macro.
2018-09-20  Janus Weil  <janus@gcc.gnu.org>

	* gfortran.h (gfc_str_startswith): New macro.
	* decl.c (variable_decl, gfc_match_end): Use it.
	* iresolve.c (is_trig_resolved): Ditto.
	* module.c (load_omp_udrs, read_module): Ditto.
	* options.c (gfc_handle_runtime_check_option): Ditto.
	* primary.c (match_arg_list_function): Ditto.
	* trans-decl.c (gfc_get_symbol_decl): Ditto.
	* trans-expr.c (gfc_conv_procedure_call): Ditto.
	* interface.c (dtio_op): Replace strncmp by strcmp.
	* resolve.c (resolve_actual_arglist, resolve_function): Ditto.
	* trans-expr.c (conv_arglist_function): Ditto.
	* trans-intrinsic.c (gfc_conv_ieee_arithmetic_function): Replace macro
	STARTS_WITH by gfc_str_startswith.

From-SVN: r264448
2018-09-20 21:33:05 +02:00
Segher Boessenkool
5596651acd rs6000: Remove -misel={yes,no}
These options have been deprecated for many years, supplanted by -misel
and -mno-isel.  This patch finally removes them.


	* config/rs6000/rs6000.opt (misel=no, misel=yes): Delete.
	* doc/invoke.texi (RS/6000 and PowerPC Options): Delete -misel=yes and
	-misel=no.

From-SVN: r264447
2018-09-20 21:04:42 +02:00
Cesar Philippidis
aecbc4ff0d [OpenACC] handle missing OMP_LIST_ clauses in fortran's parse tree debugger
gcc/fortran/
	* dump-parse-tree.c (show_omp_clauses): Add missing omp list_types
	and reorder the switch cases to match the enum in gfortran.h.

From-SVN: r264446
2018-09-20 11:42:57 -07:00
Segher Boessenkool
fbcf65f914 rs6000: Delete VECTOR_OTHER
It's never used.


	* config/rs6000/rs6000-opts.h (enum rs6000_vector): Delete
	VECTOR_OTHER.
	* config/rs6000/rs6000.c (rs6000_debug_vector_unit): Delete
	case VECTOR_OTHER.

From-SVN: r264444
2018-09-20 19:21:54 +02:00