1. 10 Jun, 2019 12 commits
    • Add missing ATTR_UNUSED (PR bootstrap/90808). · 54e2d83c
      2019-06-10  Martin Liska  <mliska@suse.cz>
      
      	PR bootstrap/90808
      	* libgcov.h: Add ATTRIBUTE_UNUSED.
      
      From-SVN: r272114
      Martin Liska committed
    • [ARC] Update RTX costs. · d797b115
      Update RTX costs to reflect better the ARC architecture.
      
      gcc/
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.c (arc_rtx_costs): Update costs.
      
      /gcc/testsuite
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* gcc.target/arc/jumptables.c: Update test.
      
      From-SVN: r272113
      Claudiu Zissulescu committed
    • [ARC] Improve code gen when compiling for size · 03301dcc
      When optimizing for size, try to avoid using long immediate by
      employing alternative instructions.
      
      gcc/
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
              * config/arc/arc-protos.h (arc_check_ior_const): Declare.
              (arc_split_ior): Likewise.
              (arc_check_mov_const): Likewise.
              (arc_split_mov_const): Likewise.
              * config/arc/arc.c (arc_print_operand): Fix 'z' letter.
              (arc_rtx_costs): Replace check Crr with Cax constraint.
              (prepare_move_operands): Cleanup, remove unused code.
              (arc_split_ior): New function.
              (arc_check_ior_const): Likewise.
              (arc_split_mov_const): Likewise.
              (arc_check_mov_const): Likewise.
              * config/arc/arc.md (movsi_insn): Restructure it, and convert it
              in define_insn_and_split pattern.
              (iorsi3): Likewise.
              (mulsi3_v2): Add new matching variant.
              (andsi3_i): Cleanup pattern.
              (rotrsi3_cnt1): Update pattern.
              (rotrsi3_cnt8): New pattern.
              (ashlsi2_cnt8): Likewise.
              (ashlsi2_cnt16): Likewise.
              * config/arc/constraints.md (C0p): Update constraint.
              (Crr): Remove it.
              (C0x): New pattern.
              (Cax): New pattern.
      
      testsuite/
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
              * gcc.target/arc/and-cnst-size.c: New test.
              * gcc.target/arc/mov-cnst-size.c: Likewise.
              * gcc.target/arc/or-cnst-size.c: Likewise.
              * gcc.target/arc/store-merge-1.c: Update test.
              * gcc.target/arc/arc700-stld-hazard.c: Likewise.
              * gcc.target/arc/cmem-1.c: Likewise.
              * gcc.target/arc/cmem-2.c: Likewise.
              * gcc.target/arc/cmem-3.c: Likewise.
              * gcc.target/arc/cmem-4.c: Likewise.
              * gcc.target/arc/cmem-5.c: Likewise.
              * gcc.target/arc/cmem-6.c: Likewise.
              * gcc.target/arc/loop-4.c: Likewise.
              * gcc.target/arc/movh_cl-1.c: Likewise.
              * gcc.target/arc/sdata-3.c: Likewise.
      
      From-SVN: r272112
      Claudiu Zissulescu committed
    • IPA ICF: enhance dump about items in a non-singular class. · 07b8d0af
      2019-06-10  Martin Liska  <mliska@suse.cz>
      
      	* ipa-icf.c (sem_item_optimizer::parse_nonsingleton_classes):
      	Update coding style.
      	(sem_item_optimizer::dump_cong_classes):
      	Print how many items are in a non-singular class.  Improve
      	coding style.
      2019-06-10  Martin Liska  <mliska@suse.cz>
      
      	* gcc.dg/ipa/pr68035.c: Update scanned pattern.
      
      From-SVN: r272111
      Martin Liska committed
    • Add warn_unused_result attribute for memory-related functions in libiberty. · de1ee900
      2019-06-10  Martin Liska  <mliska@suse.cz>
      
      	* ansidecl.h (ATTRIBUTE_WARN_UNUSED_RESULT): New macro.
      	* libiberty.h (xmalloc): Use it.
      	(xrealloc): Likewise.
      	(xcalloc): Likewise.
      	(xstrdup): Likewise.
      	(xstrndup): Likewise.
      	(xmemdup): Likewise.
      
      From-SVN: r272110
      Martin Liska committed
    • 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 12 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