1. 10 Jun, 2019 7 commits
    • Add alloc_size for libiberty memory allocation functions. · 3bb0dcb6
      2019-06-10  Martin Liska  <mliska@suse.cz>
      
      	* ansidecl.h:
      	(ATTRIBUTE_RESULT_SIZE_1): Define new macro.
      	(ATTRIBUTE_RESULT_SIZE_2): Likewise.
      	(ATTRIBUTE_RESULT_SIZE_1_2): Likewise.
      	* libiberty.h (xmalloc): Add RESULT_SIZE attribute.
      	(xrealloc): Likewise.
      	(xcalloc): Likewise.
      
      From-SVN: r272109
      Martin Liska committed
    • Update a bit dump format. · 74ac8f1f
      2019-06-10  Martin Liska  <mliska@suse.cz>
      
      	* value-prof.c (dump_histogram_value): Change dump format.
      	(gimple_mod_subtract_transform): Remove legacy comment.
      
      From-SVN: r272108
      Martin Liska committed
    • Dump histograms only if present. · 6cea7e39
      2019-06-10  Martin Liska  <mliska@suse.cz>
      
      	* value-prof.c (dump_histogram_value): Print histogram values
      	only if present.
      
      From-SVN: r272107
      Martin Liska committed
    • Implement N disk counters for single value and indirect call counters. · 92d41717
      2019-06-10  Martin Liska  <mliska@suse.cz>
      
      	* gcov-io.h (GCOV_DISK_SINGLE_VALUES): New.
      	(GCOV_SINGLE_VALUE_COUNTERS): Likewise.
      	* ipa-profile.c (ipa_profile_generate_summary):
      	Use get_most_common_single_value.
      	* tree-profile.c (gimple_init_gcov_profiler):
      	Instrument with __gcov_one_value_profiler_v2
      	and __gcov_indirect_call_profiler_v4.
      	* value-prof.c (dump_histogram_value):
      	Print all values for HIST_TYPE_SINGLE_VALUE.
      	(stream_out_histogram_value): Update assert for
      	N values.
      	(stream_in_histogram_value): Set number of
      	counters for HIST_TYPE_SINGLE_VALUE.
      	(get_most_common_single_value): New.
      	(gimple_divmod_fixed_value_transform):
      	Use get_most_common_single_value.
      	(gimple_ic_transform): Likewise.
      	(gimple_stringops_transform): Likewise.
      	(gimple_find_values_to_profile): Set number
      	of counters for HIST_TYPE_SINGLE_VALUE.
      	* value-prof.h (get_most_common_single_value):
      	New.
      2019-06-10  Martin Liska  <mliska@suse.cz>
      
      	* Makefile.in: Add __gcov_one_value_profiler_v2,
      	__gcov_one_value_profiler_v2_atomic and
      	__gcov_indirect_call_profiler_v4.
      	* libgcov-merge.c (__gcov_merge_single): Change
      	function signature.
      	(merge_single_value_set): New.
      	* libgcov-profiler.c (__gcov_one_value_profiler_body):
      	Update functionality.
      	(__gcov_one_value_profiler): Remove.
      	(__gcov_one_value_profiler_v2): ... this.
      	(__gcov_one_value_profiler_atomic): Rename to ...
      	(__gcov_one_value_profiler_v2_atomic): this.
      	(__gcov_indirect_call_profiler_v3): Rename to ...
      	(__gcov_indirect_call_profiler_v4): ... this.
      	* libgcov.h (__gcov_one_value_profiler): Remove.
      	(__gcov_one_value_profiler_atomic): Remove.
      	(__gcov_one_value_profiler_v2_atomic): New.
      	(__gcov_indirect_call_profiler_v3): Remove.
      	(__gcov_one_value_profiler_v2): New.
      	(__gcov_indirect_call_profiler_v4): New.
      	(gcov_get_counter_ignore_scaling): New function.
      
      From-SVN: r272106
      Martin Liska committed
    • testsuite - Require alias support in a test using it. · b076a526
      2019-06-10  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.dg/attr-copy-6.c: Require alias support.
      
      From-SVN: r272105
      Iain Sandoe committed
    • Fix build with --enable-gather-detailed-mem-stats. · 48f8fefe
      2019-06-10  Martin Liska  <mliska@suse.cz>
      
      	* hash-map.h: Pass default value to hash_table ctor.
      	* hash-table.h: Add default value to call of a ctor.
      
      From-SVN: r272104
      Martin Liska committed
    • Daily bump. · 027c94b8
      From-SVN: r272102
      GCC Administrator committed
  2. 09 Jun, 2019 4 commits
  3. 08 Jun, 2019 12 commits
  4. 07 Jun, 2019 17 commits
    • scanasm.exp (dg-function-on-line): Add pattern for hppa*-*-linux*. · 7486a743
      	* lib/scanasm.exp (dg-function-on-line): Add pattern for hppa*-*-linux*.
      
      From-SVN: r272060
      John David Anglin committed
    • re PR target/90751 (-fpatchtable-function-entry broken on hppa-linux-gnu-gcc/hppa64-linux-gnu-gcc) · e13896a3
      	PR target/90751
      	* config/pa/pa-linux.h (ASM_DECLARE_FUNCTION_NAME): Update comment.
      	Call pa_output_function_label>
      	(TARGET_ASM_FUNCTION_PROLOGUE): define.
      	* config/pa/pa-protos.h (pa_output_function_label): Declare.
      	* config/pa/pa.c (pa_output_function_prologue): Add ATTRIBUTE_UNUSED
      	to declaration.
      	(pa_linux_output_function_prologue): Declare.
      	(TARGET_ASM_FUNCTION_PROLOGUE): Delete define.
      	(pa_output_function_label): New.
      	(pa_output_function_prologue): Revise to use pa_output_function_label.
      	(pa_linux_output_function_prologue): New.
      	* config/pa/pa.h (TARGET_ASM_FUNCTION_PROLOGUE): Define.
      
      From-SVN: r272059
      John David Anglin committed
    • Split up value_range::intersect into base (value_range_base) and · 1ef8f50e
      derived versions (value_range).
      
      From-SVN: r272058
      Aldy Hernandez committed
    • Synchronize libstdc++ PSTL with upstream LLVM PSTL · f32ee8a2
      	Rename PSTL macro's consistent with libstdc++ (and llvm upstream
      	project) standards.
      	* include/bits/c++config: Rename all macros of the form __PSTL* to
      	_PSTL*.
      	* include/std/algorithm: Likewise.
      	* include/std/execution: Likewise.
      	* include/std/numeric: Likewise.
      	* include/std/memory: Likewise.
      	* include/pstl/glue_memory_impl.h: Likewise.
      	* include/pstl/numeric_impl.h: Likewise.
      	* include/pstl/glue_memory_defs.h: Likewise.
      	* include/pstl/execution_defs.h: Likewise.
      	* include/pstl/utils.h: Likewise.
      	* include/pstl/algorithm_fwd.h: Likewise.
      	* include/pstl/unseq_backend_simd.h: Likewise.
      	* include/pstl/glue_execution_defs.h: Likewise.
      	* include/pstl/algorithm_impl.h: Likewise.
      	* include/pstl/parallel_impl.h: Likewise.
      	* include/pstl/memory_impl.h: Likewise.
      	* include/pstl/glue_numeric_defs.h: Likewise.
      	* include/pstl/parallel_backend_utils.h: Likewise.
      	* include/pstl/glue_algorithm_defs.h: Likewise.
      	* include/pstl/parallel_backend.h: Likewise.
      	* include/pstl/glue_numeric_impl.h: Likewise.
      	* include/pstl/parallel_backend_tbb.h: Likewise.
      	* include/pstl/numeric_fwd.h: Likewise.
      	* include/pstl/glue_algorithm_impl.h: Likewise.
      	* include/pstl/execution_impl.h: Likewise.
      	* include/pstl/pstl_config.h: Likewise.
      	* testsuite/util/pstl/pstl_test_config.h: Likewise.
      	* testsuite/util/pstl/test_utils.h: Likewise.
      	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc:
      	Likewise.
      	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc:
      	Likewise.
      	* testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc:
      	Likewise.
      	* testsuite/26_numerics/pstl/numeric_ops/scan.cc: Likewise.
      	* testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc: Likewise.
      	* testsuite/26_numerics/pstl/numeric_ops/reduce.cc: Likewise.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc: Likewise.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc:
      	Likewise.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: Likewise.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc: Likewise.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc: Likewise.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc: Likewise.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc:
      	Likewise.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc: Likewise.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: Likewise.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc: Likewise.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc: Likewise.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc:
      	Likewise.
      	* testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: Likewise.
      	* testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc: Likewise.
      	* testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc:
      	Likewise.
      	* testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc:
      	Likewise.
      	* testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: Likewise.
      	* testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc:
      	Likewise.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc:
      	Likewise.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc:
      	Likewise.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc:
      	Likewise.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc:
      	Likewise.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc:
      	Likewise.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc:
      	Likewise.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc:
      	Likewise.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc:
      	Likewise.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc:
      	Likewise.
      	* testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc:
      	Likewise.
      	* testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc: Likewise.
      
      	Rename header guards to be consistent with upstream project's
      	conventions.
      	* include/pstl/glue_memory_impl.h: Rename all macros of the form
      	_PSTL_(.*)_H to _PSTL_\U\1_H.
      	* include/pstl/numeric_impl.h: Likewise.
      	* include/pstl/glue_memory_defs.h: Likewise.
      	* include/pstl/execution_defs.h: Likewise.
      	* include/pstl/utils.h: Likewise.
      	* include/pstl/algorithm_fwd.h: Likewise.
      	* include/pstl/unseq_backend_simd.h: Likewise.
      	* include/pstl/glue_execution_defs.h: Likewise.
      	* include/pstl/algorithm_impl.h: Likewise.
      	* include/pstl/parallel_impl.h: Likewise.
      	* include/pstl/memory_impl.h: Likewise.
      	* include/pstl/glue_numeric_defs.h: Likewise.
      	* include/pstl/parallel_backend_utils.h: Likewise.
      	* include/pstl/glue_algorithm_defs.h: Likewise.
      	* include/pstl/parallel_backend.h: Likewise.
      	* include/pstl/glue_numeric_impl.h: Likewise.
      	* include/pstl/parallel_backend_tbb.h: Likewise.
      	* include/pstl/numeric_fwd.h: Likewise.
      	* include/pstl/glue_algorithm_impl.h: Likewise.
      	* include/pstl/execution_impl.h: Likewise.
      	* include/pstl/pstl_config.h: Likewise.
      	* testsuite/util/pstl/pstl_test_config.h: Likewise.
      
      	Synchronize libstdc++ parallel algorithms with upstream
      	project.
      	* include/pstl/algorithm_fwd.h: Synchronize with
      	upstream PSTL project.
      	* include/pstl/algorithm_impl.h: Likewise.
      	* include/pstl/execution_defs.h: Likewise.
      	* include/pstl/execution_impl.h: Likewise.
      	* include/pstl/glue_algorithm_impl.h: Likewise.
      	* include/pstl/glue_execution_defs.h: Likewise.
      	* include/pstl/numeric_fwd.h: Likewise.
      	* include/pstl/numeric_impl.h: Likewise.
      	* include/pstl/parallel_backend.h: Likewise.
      	* include/pstl/pstl_config.h: Likewise.
      	* include/pstl/unseq_backend_simd.h: Likewise.
      	* include/pstl/parallel_backend_serial.h: New file.
      	* include/Makefile.am (pstl_headers): Add
      	parallel_backend_serial.h.
      	* include/Makefile.in: Regenerate.
      
      	Clean up non-conforming names
      	* include/pstl/algorithm_impl.h (__parallel_set_union_op):
      	Uglfiy copy_range1 and copy_range2
      	(__pattern_walk2_n): Rename local n to __n
      	* include/pstl/parallel_backend_tbb.h (struct __binary_no_op):
      	Rename parameter _T to _Tp.
      
      	Integrate non-TBB serial backend support
      	* include/bits/c++config: Adjust TBB detection logic to select serial
      	PSTL backend if no TBB present.
      	* testsuite/utils/pstl/test_utils.h: Remove check for
      	_PSTL_USE_PAR_POLICIES
      
      From-SVN: r272056
      Thomas Rodgers committed
    • compiler: improve write barrier generation · 1afab7a8
          
          For string, slice, interface values, do assignments field by
          field instead of using typedmemmove.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/181297
      
      From-SVN: r272055
      Ian Lance Taylor committed
    • Avoid constexpr garbage for implicit conversion to void. · 7a649ef5
      	* constexpr.c (cxx_eval_constant_expression): Call
      	STRIP_ANY_LOCATION_WRAPPER early.
      	[CONVERT_EXPR]: Don't build anything for conversion to void.
      	[ADDR_EXPR]: ggc_free unused ADDR_EXPR.
      
      From-SVN: r272054
      Jason Merrill committed
    • Fix test that gets skipped as unsupported · c1b4c4f4
      	* testsuite/24_iterators/container_access.cc: Move dg-options before
      	dg-do directive so the target check uses the -std option.
      
      From-SVN: r272051
      Jonathan Wakely committed
    • PR libstdc++/90770 fix missing src/debug/Makefile · 2b326685
      	PR libstdc++/90770
      	* configure: Regenerate.
      	* src/Makefile.am (stamp-debug): Also test for missing makefile.
      	* src/Makefile.in: Regenerate.
      
      From-SVN: r272050
      Jonathan Wakely committed
    • Makefile.in (genprogerr): Add condmd. · ac72e850
      	* Makefile.in (genprogerr): Add condmd.
      	(genprog): Remove it here.
      
      From-SVN: r272047
      Jakub Jelinek committed
    • re PR fortran/89100 (Default widths for i, f and g format specifiers in format strings) · fe763d26
      2019-06-07  Mark Eggleston <mark.eggleston@codethink.com>
      
      	PR fortran/89100
      	* gfortran.dg/fmt_f_default_field_width_3.f90: Modify dg-error
      	to allow use when kind=16 is not supported.
      	* gfortran.dg/fmt_g_default_field_width_3.f90: Modify dg-error
      	to allow use when kind=16 is not supported.
      
      From-SVN: r272046
      Mark Eggleston committed
    • compiler: support inlining functions with if statements · 6e544397
          
          This increases the number of inlinable functions from 455 to 500.
          An example of a newly inlinable function is strings.Compare.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/181137
      
      From-SVN: r272045
      Ian Lance Taylor committed
    • Document -march=gfx906 option. · e94a64a0
      2019-06-07  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/
      	* doc/invoke.texi (AMD GCN Options): Add gfx906.
      
      From-SVN: r272044
      Andrew Stubbs committed
    • compiler: do simple deadcode elimination · ab658f56
          
          Normally the backend will do deadcode elimination and this is
          sufficient. However, the escape analysis operates on the AST that
          may have deadcode, and may cause things to escape that otherwise
          do not.
          
          This CL adds a simple deadcode elimination, run before the escape
          analysis.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/181080
      
      From-SVN: r272043
      Ian Lance Taylor committed
    • re PR debug/90574 ([gdb] gdb wrongly stopped at a breakpoint in an unexecuted line of code) · e733243a
      2019-06-07  Richard Biener  <rguenther@suse.de>
      
      	PR debug/90574
      	* tree-cfg.c (stmt_starts_bb_p): Split blocks at labels
      	that appear after user labels.
      
      	* gcc.misc-tests/gcov-pr90574-1.c: New testcase.
      	* gcc.misc-tests/gcov-pr90574-2.c: Likewise.
      
      From-SVN: r272040
      Richard Biener committed
    • Enable sanitization for hash tables. · 510c9192
      2019-06-07  Martin Liska  <mliska@suse.cz>
      
      	* cselib.c (cselib_init): Disable hash table
      	sanitization.
      	* hash-set.h: Pass new default argument to m_table.
      	* hash-table.c: Add global variable with hash table
      	sanitization limit.
      	* hash-table.h (Allocator>::hash_table): Add new argument
      	to ctor.
      	(hashtab_chk_error): New.
      	* params.def (PARAM_HASH_TABLE_VERIFICATION_LIMIT): New.
      	* toplev.c (process_options): Set hash_table_sanitize_eq_limit
      	from the PARAM_HASH_TABLE_VERIFICATION_LIMIT value.
      
      From-SVN: r272038
      Martin Liska committed
    • common.opt (flto-odr-type-merging): Ignore. · 686a56a8
      
      	* common.opt (flto-odr-type-merging): Ignore.
      	* invoke.texi (-flto-odr-type-merging): Remove.
      	* ipa-devirt.c (odr_vtable_hasher:odr_name_hasher): Remove.
      	(can_be_vtable_hashed_p): Remove.
      	(hash_odr_vtable): Remove.
      	(odr_vtable_hasher::hash): Remove.
      	(types_same_for_odr): Remove.
      	(types_odr_comparable): Remove.
      	(odr_vtable_hasher::equal): Remove.
      	(odr_vtable_hash_type, odr_vtable_hash): Remove.	
      	(add_type_duplicate): Do not synchronize vtable and name hashtables.
      	(get_odr_type): Do not use vtable hash.
      	(dump_odr_type): Remove commented out code.
      	(build_type_inheritance_graph): Do not allocate vtable hash.
      	(rebuild_type_inheritance_graph): Do not delete vtable hash.
      	* ipa-utils.h (type_with_linkage_p): Drop vtable hash path.
      	(odr_type_p): Likewise.
      	* tree.c (need_assembler_name_p): Remove flag_lto_odr_type_mering
      	test.
      
      From-SVN: r272037
      Jan Hubicka committed
    • Make aliasing_component_refs_p to work harder when same_type_for_tbaa returns -1 · 06dd9b3d
      	* tree-ssa-alias.c (aliasing_component_refs_p): Do not give up
      	immediately after same_types_for_tbaa_p returns -1 and continue
      	looking for possible exact match; if matching types are arrays
      	watch for partial overlaps.
      	(indirect_ref_may_alias_decl_p): Watch for partial array overlaps.
      	(indirect_refs_may_alias_p): Do type based disambiguation first;
      	update comment.
      
      	* gcc.dg/lto/alias-access-path-2.0.c: New testcase.
      
      From-SVN: r272036
      Jan Hubicka committed