Commit Graph

169048 Commits

Author SHA1 Message Date
Claudiu Zissulescu d797b11519 [ARC] Update RTX costs.
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
2019-06-10 10:25:37 +02:00
Claudiu Zissulescu 03301dcc84 [ARC] Improve code gen when compiling for size
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
2019-06-10 10:25:25 +02:00
Martin Liska 07b8d0afe8 IPA ICF: enhance dump about items in a non-singular class.
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
2019-06-10 07:43:11 +00:00
Martin Liska de1ee900b0 Add warn_unused_result attribute for memory-related functions in libiberty.
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
2019-06-10 07:42:43 +00:00
Martin Liska 3bb0dcb6c0 Add alloc_size for libiberty memory allocation functions.
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
2019-06-10 07:42:22 +00:00
Martin Liska 74ac8f1fe9 Update a bit dump format.
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
2019-06-10 07:39:34 +00:00
Martin Liska 6cea7e3976 Dump histograms only if present.
2019-06-10  Martin Liska  <mliska@suse.cz>

	* value-prof.c (dump_histogram_value): Print histogram values
	only if present.

From-SVN: r272107
2019-06-10 07:39:20 +00:00
Martin Liska 92d417175b Implement N disk counters for single value and indirect call counters.
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
2019-06-10 07:38:59 +00:00
Iain Sandoe b076a52602 testsuite - Require alias support in a test using it.
2019-06-10  Iain Sandoe  <iain@sandoe.co.uk>

	* gcc.dg/attr-copy-6.c: Require alias support.

From-SVN: r272105
2019-06-10 07:04:55 +00:00
Martin Liska 48f8fefe5b Fix build with --enable-gather-detailed-mem-stats.
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
2019-06-10 07:04:39 +00:00
GCC Administrator 027c94b8b4 Daily bump.
From-SVN: r272102
2019-06-10 00:16:22 +00:00
Marek Polacek 3645c6e286 re PR c++/65175 (ICE forming a typedef with an alias template)
PR c++/65175
	* g++.dg/cpp0x/alias-decl-69.C: New test.

From-SVN: r272098
2019-06-09 23:18:28 +00:00
Marek Polacek dcba286a9a re PR c++/60366 (ICE with self-invoking lambdas)
PR c++/60366
	* g++.dg/cpp0x/lambda/lambda-ice32.C: New test.

From-SVN: r272092
2019-06-09 15:41:07 +00:00
Paul Thomas 5834bdc3d4 re PR fortran/89365 (Inquiry functions for assumed rank objects fail)
2019-06-09  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/89365
	* gfortran.dg/assumed_rank_bounds_3.f90 : New test.

From-SVN: r272090
2019-06-09 09:43:37 +00:00
GCC Administrator 0002187783 Daily bump.
From-SVN: r272089
2019-06-09 00:16:18 +00:00
Edward Smith-Rowland 79f31e3d18 Test for C++20 p0858 - ConstexprIterator requirements.
2019-06-08  Edward Smith-Rowland  <3dw4rd@verizon.net>

	Test for C++20 p0858 - ConstexprIterator requirements.
	* testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc:
	New test.
	* testsuite/23_containers/array/requirements/constexpr_iter.cc:
	New test.

From-SVN: r272085
2019-06-08 22:18:36 +00:00
Paul Thomas 8e73afcf40 re PR fortran/90786 (ICE on procedure pointer assignment to function with class pointer result)
2019-06-08  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/90786
	* trans-expr.c (pointer_assignment_is_proc_pointer) Remove as
	it is very simple and only called from one place.
	(gfc_trans_pointer_assignment): Rename non_proc_pointer_assign
	as non_proc_ptr_assign. Assign to it directly, rather than call
	to above, deleted function and use gfc_expr_attr instead of
	only checking the reference chain.

2019-06-08  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/90786
	* gfortran.dg/proc_ptr_51.f90 : New test.

From-SVN: r272084
2019-06-08 15:52:38 +00:00
Marek Polacek ec332875f8 re PR c++/52269 ([C++11] Body of constexpr function templates instantiated too eagerly in unevaluated operands)
PR c++/52269
	* g++.dg/cpp0x/constexpr-decltype4.C: New test.

From-SVN: r272083
2019-06-08 14:10:42 +00:00
Thomas Koenig 304d779b9e re PR fortran/90744 (Bogus length for character temporaries passed to external procedures since r268992)
2019-06-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
	Tomáš Trnka  <trnka@scm.com>

	PR fortran/90744
	* trans-types.c (get_formal_from_actual_arglist): Unset typespec
	flags which make no sense for procedures without explicit
	interface.

2019-06-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
	Tomáš Trnka  <trnka@scm.com>

	PR fortran/90744
	* gfortran.dg/deferred_character_33.f90: New test.
	* gfortran.dg/deferred_character_33a.f90: New test.

From-SVN: r272082
2019-06-08 13:50:42 +00:00
Jonathan Wakely 604ba08ab4 Use consistent spelling of PCLMUL instruction
* doc/invoke.texi (C Dialect Options): Minor grammatical change.
	(x86 Options): Replace all uses of "PCL_MUL" with "PCLMUL"

From-SVN: r272081
2019-06-08 14:40:25 +01:00
Marek Polacek eb37013fb5 re PR c++/77548 (ICE on invalid C++ code with overloaded functions: in instantiate_type, at cp/class.c:8270)
PR c++/77548
	* g++.dg/other/pr77548.C: New test.

From-SVN: r272079
2019-06-08 13:13:48 +00:00
Marek Polacek 8d7a99bd33 re PR c++/72845 (gcc crashes (ICE) when compiling program with complex noexcept declaration)
PR c++/72845
	* g++.dg/cpp0x/noexcept41.C: New test.

From-SVN: r272078
2019-06-08 12:51:07 +00:00
Prathamesh Kulkarni 3a9debbd76 init_1.c: Remove options -O2 -fno-schedule-insns and instead pass -O.
2019-06-08  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	* gcc.target/aarch64/sve/init_1.c: Remove options
	-O2 -fno-schedule-insns and instead pass -O.
	Update assembly in comments. 
	* gcc.target/aarch64/sve/init_2.c: Likewise.
	* gcc.target/aarch64/sve/init_3.c: Likewise.
	* gcc.target/aarch64/sve/init_4.c: Likewise.
	* gcc.target/aarch64/sve/init_5.c: Likewise and additionally
	adjust dg-scan.
	* gcc.target/aarch64/sve/init_6.c: Likewise.
	* gcc.target/aarch64/sve/init_7.c: Likewise.
	* gcc.target/aarch64/sve/init_8.c: Likewise.
	* gcc.target/aarch64/sve/init_9.c: Likewise.
	* gcc.target/aarch64/sve/init_10.c: Likewise.
	* gcc.target/aarch64/sve/init_11.c: Likewise.
	* gcc.target/aarch64/sve/init_12.c: Likewise.

From-SVN: r272073
2019-06-08 08:24:43 +00:00
Marek Polacek a5edb3fa22 re PR c++/77747 (GCC allows inheriting constructors from indirect base)
PR c++/77747
	* g++.dg/cpp0x/inh-ctor33.C: New test.

From-SVN: r272071
2019-06-08 00:48:54 +00:00
Marek Polacek 5521a71850 re PR c++/77967 (ICE in cp_parser_type_name, at cp/parser.c:16419 (trying to add a method to a template alias))
PR c++/77967
	* g++.dg/cpp0x/alias-decl-68.C: New test.

From-SVN: r272070
2019-06-08 00:30:51 +00:00
Marek Polacek da643428a3 re PR c++/77771 (internal compiler error: in cxx_eval_bit_field_ref, at cp/constexpr.c:2090)
PR c++/77771
	* g++.dg/cpp0x/constexpr-77771.C: New test.

From-SVN: r272068
2019-06-08 00:17:13 +00:00
GCC Administrator f48cc0aa94 Daily bump.
From-SVN: r272067
2019-06-08 00:16:31 +00:00
John David Anglin 7486a74390 scanasm.exp (dg-function-on-line): Add pattern for hppa*-*-linux*.
* lib/scanasm.exp (dg-function-on-line): Add pattern for hppa*-*-linux*.

From-SVN: r272060
2019-06-07 23:15:49 +00:00
John David Anglin e13896a3a9 re PR target/90751 (-fpatchtable-function-entry broken on hppa-linux-gnu-gcc/hppa64-linux-gnu-gcc)
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
2019-06-07 23:13:08 +00:00
Aldy Hernandez 1ef8f50e4f Split up value_range::intersect into base (value_range_base) and
derived versions (value_range).

From-SVN: r272058
2019-06-07 22:18:24 +00:00
Thomas Rodgers f32ee8a25e Synchronize libstdc++ PSTL with upstream LLVM PSTL
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
2019-06-07 22:01:16 +00:00
Ian Lance Taylor 1afab7a878 compiler: improve write barrier generation
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
2019-06-07 21:16:11 +00:00
Jason Merrill 7a649ef59f Avoid constexpr garbage for implicit conversion to void.
* 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
2019-06-07 17:08:26 -04:00
Jonathan Wakely c1b4c4f491 Fix test that gets skipped as unsupported
* testsuite/24_iterators/container_access.cc: Move dg-options before
	dg-do directive so the target check uses the -std option.

From-SVN: r272051
2019-06-07 20:57:28 +01:00
Jonathan Wakely 2b32668568 PR libstdc++/90770 fix missing src/debug/Makefile
PR libstdc++/90770
	* configure: Regenerate.
	* src/Makefile.am (stamp-debug): Also test for missing makefile.
	* src/Makefile.in: Regenerate.

From-SVN: r272050
2019-06-07 20:57:19 +01:00
Jakub Jelinek ac72e850e5 Makefile.in (genprogerr): Add condmd.
* Makefile.in (genprogerr): Add condmd.
	(genprog): Remove it here.

From-SVN: r272047
2019-06-07 17:38:35 +02:00
Mark Eggleston fe763d2666 re PR fortran/89100 (Default widths for i, f and g format specifiers in format strings)
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
2019-06-07 14:25:39 +00:00
Ian Lance Taylor 6e54439795 compiler: support inlining functions with if statements
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
2019-06-07 14:19:51 +00:00
Andrew Stubbs e94a64a078 Document -march=gfx906 option.
2019-06-07  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* doc/invoke.texi (AMD GCN Options): Add gfx906.

From-SVN: r272044
2019-06-07 14:00:58 +00:00
Ian Lance Taylor ab658f56a5 compiler: do simple deadcode elimination
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
2019-06-07 13:40:26 +00:00
Richard Biener e733243a36 re PR debug/90574 ([gdb] gdb wrongly stopped at a breakpoint in an unexecuted line of code)
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
2019-06-07 12:14:55 +00:00
Martin Liska 510c919249 Enable sanitization for hash tables.
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
2019-06-07 12:13:13 +00:00
Jan Hubicka 686a56a85d common.opt (flto-odr-type-merging): Ignore.
* 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
2019-06-07 08:15:00 +00:00
Jan Hubicka 06dd9b3d4e Make aliasing_component_refs_p to work harder when same_type_for_tbaa returns -1
* 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
2019-06-07 08:14:04 +00:00
Richard Sandiford 6c202d9dc6 Fix fwprop call to call to paradoxical_subreg_p
"mode" is the mode of "x", not the replacement value.

2019-06-06  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	* fwprop.c (propagate_rtx): Fix call to paradoxical_subreg_p.

From-SVN: r272032
2019-06-07 07:40:20 +00:00
Martin Liska e37333bad7 Remove indirect call top N counter type.
2019-06-07  Martin Liska  <mliska@suse.cz>

	* doc/invoke.texi: Remove param.
	* gcov-counter.def (GCOV_COUNTER_ICALL_TOPNV):
	Remove.
	* gcov-io.h (GCOV_ICALL_TOPN_VAL): Likewise.
	(GCOV_ICALL_TOPN_NCOUNTS): Likewise.
	* params.def (PARAM_INDIR_CALL_TOPN_PROFILE): Likewise.
	* profile.c (instrument_values): Remove
	HIST_TYPE_INDIR_CALL_TOPN.
	* tree-profile.c (init_ic_make_global_vars):
	Always build __gcov_indirect_call only.
	(gimple_init_gcov_profiler): Remove usage
	of PARAM_INDIR_CALL_TOPN_PROFILE.
	(gimple_gen_ic_profiler): Likewise.
	* value-prof.c (dump_histogram_value): Likewise.
	(stream_in_histogram_value): Likewise.
	(gimple_indirect_call_to_profile): Likewise.
	(gimple_find_values_to_profile): Likewise.
	* value-prof.h (enum hist_type): Likewise.
2019-06-07  Martin Liska  <mliska@suse.cz>

	* Makefile.in: Remove usage of
	_gcov_merge_icall_topn.
	* libgcov-driver.c (gcov_sort_n_vals): Remove.
	(gcov_sort_icall_topn_counter): Likewise.
	(gcov_sort_topn_counter_arrays): Likewise.
	(dump_one_gcov): Remove call to gcov_sort_topn_counter_arrays.
	* libgcov-merge.c (__gcov_merge_icall_topn): Remove.
	* libgcov-profiler.c (__gcov_topn_value_profiler_body):
	Likewise.
	(GCOV_ICALL_COUNTER_CLEAR_THRESHOLD): Remove.
	(struct indirect_call_tuple): Remove.
	(__gcov_indirect_call_topn_profiler): Remove.
	* libgcov-util.c (__gcov_icall_topn_counter_op): Remove.
	* libgcov.h (gcov_sort_n_vals): Remove.
	(L_gcov_merge_icall_topn): Likewise.
	(__gcov_merge_icall_topn): Likewise.
	(__gcov_indirect_call_topn_profiler): Likewise.

From-SVN: r272030
2019-06-07 06:41:58 +00:00
Martin Liska cc261f66c2 Fix a thinko in tree-ssa-loop.c.
2019-06-07  Martin Liska  <mliska@suse.cz>

	* tree-ssa-loop.c (get_lsm_tmp_name): Return at the end of the
	function.

From-SVN: r272029
2019-06-07 05:35:19 +00:00
Martin Liska b8e2acff11 Add warn_unused_result for malloc-like functions (PR tree-optimization/78902).
2019-06-07  Martin Liska  <mliska@suse.cz>

	PR tree-optimization/78902
	* builtin-attrs.def (ATTR_WARN_UNUSED_RESULT): New.
	(ATTR_MALLOC_NOTHROW_LEAF_LIST): Remove.
	(ATTR_WARN_UNUSED_RESULT_NOTHROW_LEAF_LIST): New.
	(ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_LEAF_LIST): New.
	(ATTR_ALLOC_SIZE_2_NOTHROW_LIST): Remove.
	(ATTR_MALLOC_SIZE_1_NOTHROW_LEAF_LIST): Remove.
	(ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_LIST): New.
	(ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LIST): New.
	(ATTR_MALLOC_WARN_UNUSED_RESULT_SIZE_1_NOTHROW_LEAF_LIST): New.
	(ATTR_ALLOCA_SIZE_1_NOTHROW_LEAF_LIST): Remove.
	(ATTR_ALLOCA_WARN_UNUSED_RESULT_SIZE_1_NOTHROW_LEAF_LIST): New.
	(ATTR_MALLOC_SIZE_1_2_NOTHROW_LEAF_LIST):  Remove.
	(ATTR_MALLOC_WARN_UNUSED_RESULT_SIZE_1_2_NOTHROW_LEAF_LIST):
	New.
	(ATTR_ALLOC_SIZE_2_NOTHROW_LEAF_LIST): Remove.
	(ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LEAF_LIST): New.
	(ATTR_MALLOC_NOTHROW_NONNULL): Remove.
	(ATTR_WARN_UNUSED_RESULT_NOTHROW_NONNULL): New.
	(ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_NONNULL): New.
	(ATTR_MALLOC_NOTHROW_NONNULL_LEAF): Remove.
	(ATTR_WARN_UNUSED_RESULT_NOTHROW_NONNULL_LEAF): New.
	(ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_NONNULL_LEAF): New.
	* builtins.def (BUILT_IN_ALIGNED_ALLOC): Change to use
	warn_unused_result attribute.
	(BUILT_IN_STRDUP): Likewise.
	(BUILT_IN_STRNDUP): Likewise.
	(BUILT_IN_ALLOCA): Likewise.
	(BUILT_IN_CALLOC): Likewise.
	(BUILT_IN_MALLOC): Likewise.
	(BUILT_IN_REALLOC): Likewise.
2019-06-07  Martin Liska  <mliska@suse.cz>

	PR tree-optimization/78902
	* c-c++-common/asan/alloca_loop_unpoisoning.c: Use result
	of __builtin_alloca.
	* c-c++-common/asan/pr88619.c: Likewise.
	* g++.dg/overload/using2.C: Likewise for malloc.
	* gcc.dg/attr-alloc_size-5.c: Add new dg-warning.
	* gcc.dg/nonnull-3.c: Use result of __builtin_strdup.
	* gcc.dg/pr43643.c: Likewise.
	* gcc.dg/pr59717.c: Likewise for calloc.
	* gcc.dg/torture/pr71816.c: Likewise.
	* gcc.dg/tree-ssa/pr78886.c: Likewise.
	* gcc.dg/tree-ssa/pr79697.c: Likewise.
	* gcc.dg/pr78902.c: New test.

From-SVN: r272028
2019-06-07 05:33:11 +00:00
GCC Administrator c437d2d437 Daily bump.
From-SVN: r272027
2019-06-07 00:16:19 +00:00
Ian Lance Taylor ffaa3a1c74 go/internal/gccgoimporter: ignore unexported and imported names
Due to inlining, we can now see unexported functions and variables,
    and functions and variables imported from different packages.
    Ignore them rather than reporting them from this package.
    
    Handle $hash and $equal functions consistently, so that we discard the
    inline body if there is one.
    
    Ignore names created for result parameters for inlining purposes.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/180758

From-SVN: r272023
2019-06-07 00:07:50 +00:00