Commit Graph

157848 Commits

Author SHA1 Message Date
Janne Blomqvist 4dae9c641b Whitespace fix for libgfortran/ChangeLog
From-SVN: r255137
2017-11-24 11:57:52 +02:00
Richard Biener 6a248fce56 re PR tree-optimization/83128 (Unable to optimize {m,c}alloc when strings builtin are used)
2017-11-24  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/83128
	* tree-ssa-sccvn.c (fully_constant_vn_reference_p): Handle STRING_CSTs.
	(vn_reference_lookup_3): Likewise.

	* gcc.dg/tree-ssa/ssa-fre-62.c: New testcase.

From-SVN: r255136
2017-11-24 09:40:40 +00:00
Janne Blomqvist 97e1c8786b PR 36313 Replace int with gfc_charlen_type, take 3
Still some prototypes that didn't match the implementation.

2017-11-24  Janne Blomqvist  <jb@gcc.gnu.org>
        PR fortran/36313
        * m4/maxloc2s.m4: Replace int with gfc_charlen_type, take 3.
        * m4/minloc2s.m4: Likewise.
        * generated/maxloc2_16_s1.c: Regenerated.
        * generated/maxloc2_16_s4.c: Regenerated.
        * generated/maxloc2_4_s1.c: Regenerated.
        * generated/maxloc2_4_s4.c: Regenerated.
        * generated/maxloc2_8_s1.c: Regenerated.
        * generated/maxloc2_8_s4.c: Regenerated.
        * generated/minloc2_16_s1.c: Regenerated.
        * generated/minloc2_16_s4.c: Regenerated.
        * generated/minloc2_4_s1.c: Regenerated.
        * generated/minloc2_4_s4.c: Regenerated.
        * generated/minloc2_8_s1.c: Regenerated.
        * generated/minloc2_8_s4.c: Regenerated.

From-SVN: r255135
2017-11-24 10:51:15 +02:00
Jakub Jelinek 96281645bd re PR sanitizer/83014 (ICE in pretty-print with -fsanitize=bounds)
PR sanitizer/83014
	* ubsan.c (ubsan_type_descriptor): Use pp_unsigned_wide_integer
	instead of pp_printf with HOST_WIDE_INT_PRINT_DEC.  Avoid calling
	tree_to_uhwi twice.

	* gcc.dg/ubsan/pr83014.c: New test.

From-SVN: r255134
2017-11-24 09:35:10 +01:00
Jakub Jelinek 51feb980c9 tree-object-size.c (pass_through_call): Use gimple_call_return_flags ERF_RETURN*ARG* for builtins other than...
* tree-object-size.c (pass_through_call): Use gimple_call_return_flags
	ERF_RETURN*ARG* for builtins other than BUILT_IN_ASSUME_ALIGNED,
	check for the latter with gimple_call_builtin_p.  Do not handle
	BUILT_IN_STPNCPY_CHK which is not a pass through call.

	* gcc.dg/builtin-object-size-18.c: New test.

From-SVN: r255133
2017-11-24 09:34:13 +01:00
Kirill Yukhin 489154e71b Add missing gcc/config.gcc hunks from r255121.
From-SVN: r255132
2017-11-24 07:39:57 +00:00
Kirill Yukhin 566bd102f7 Add missing hunks from r255121.
From-SVN: r255131
2017-11-24 06:49:04 +00:00
GCC Administrator fcb01caa4f Daily bump.
From-SVN: r255130
2017-11-24 00:16:21 +00:00
Jonathan Wakely a8541d9021 Add [[nodiscard]] attribute to std::launder
* libsupc++/new (launder): Add nodiscard attribute.
	* testsuite/18_support/launder/nodiscard.cc: New test.

From-SVN: r255127
2017-11-24 00:00:46 +00:00
Christophe Lyon 117e6b50b6 [ARM] Fix Dot Product NEON intrinsics
2017-11-24  Christophe Lyon  <christophe.lyon@linaro.org>

	* config/arm/arm_neon.h: Fix pragma GCC push_options before
	vdot_u32.

From-SVN: r255126
2017-11-24 00:24:51 +01:00
Eric Botcazou 773076a512 re PR ada/83091 (ICE with -g in arm-eabi compilation)
PR ada/83091
	* gcc-interface/decl.c (gnat_to_gnu_entity): Do not build a variant
	type for the implementation type of a packed array.

From-SVN: r255125
2017-11-23 22:55:05 +00:00
Jonathan Wakely d69f1ec7d1 Add [[nodiscard]] attribute to C++17 components
* include/bits/fs_path.h (path::empty): Add nodiscard attribute.
	* include/bits/range_access.h (empty): Likewise.
	* include/std/string_view (basic_string_view::empty): Likewise.
	* testsuite/21_strings/basic_string_view/capacity/empty_neg.cc: New
	test.
	* testsuite/24_iterators/range_access_cpp17_neg.cc: New test.
	* testsuite/27_io/filesystem/path/query/empty_neg.cc: New test.

From-SVN: r255124
2017-11-23 22:11:21 +00:00
Jonathan Wakely 4b9840f230 PR libstdc++/83134 Ensure std::__not_ converts B::value to bool
PR libstdc++/83134
	* include/std/type_traits (__not_): Explicitly convert to bool.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
	* testsuite/20_util/logical_traits/83134.cc: New test.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
	dg-error.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.

From-SVN: r255122
2017-11-23 21:35:27 +00:00
Julia Koval de8603793a Enable VBMI2 support [3/7]
gcc/
	config/i386/avx512vbmi2intrin.h (_mm512_mask_expand_epi8,
	_mm512_maskz_expand_epi8, _mm512_mask_expandloadu_epi8,
	_mm512_maskz_expandloadu_epi8, _mm512_mask_expand_epi16,
	_mm512_maskz_expand_epi16, _mm512_mask_expandloadu_epi16,
	_mm512_maskz_expandloadu_epi16): New intrinsics.
	config/i386/avx512vbmi2vlintrin.h (_mm_mask_expand_epi8,
	_mm_maskz_expand_epi8, _mm_mask_expandloadu_epi8,
	_mm_maskz_expandloadu_epi8, _mm_mask_expand_epi16,
	_mm_maskz_expand_epi16, _mm_mask_expandloadu_epi16,
	_mm_maskz_expandloadu_epi16, _mm256_mask_expand_epi16,
	_mm256_maskz_expand_epi16, _mm256_mask_expandloadu_epi16,
	_mm256_maskz_expandloadu_epi16, _mm256_mask_expand_epi8,
	_mm256_maskz_expand_epi8, _mm256_mask_expandloadu_epi8,
	_mm256_maskz_expandloadu_epi8): New intrinsics.
	config/i386/i386-builtin-types.def (V64QI_FTYPE_PCV64QI_V64QI_UDI,
	V32HI_FTYPE_PCV32HI_V32HI_USI, V32QI_FTYPE_PCV32QI_V32QI_USI,
	V16HI_FTYPE_PCV16HI_V16HI_UHI, V16QI_FTYPE_PCV16QI_V16QI_UHI,
	V8HI_FTYPE_PCV8HI_V8HI_UQI): New types.
	config/i386/i386.c (ix86_expand_special_args_builtin): Use new types.
	config/i386/sse.md (VI248_VLBW): New iterator.
	(expand<mode>_mask, expand<mode>_maskz): New patterns.

gcc/testsuite/
	gcc.target/i386/avx512f-vpexpandb-1.c: New test.
	gcc.target/i386/avx512f-vpexpandb-2.c: Ditto.
	gcc.target/i386/avx512f-vpexpandw-1.c: Ditto.
	gcc.target/i386/avx512f-vpexpandw-2.c: Ditto.
	gcc.target/i386/avx512vl-vpexpandb-1.c: Ditto.
	gcc.target/i386/avx512vl-vpexpandb-2.c: Ditto.
	gcc.target/i386/avx512vl-vpexpandw-1.c: Ditto.
	gcc.target/i386/avx512vl-vpexpandw-2.c: Ditto.

From-SVN: r255121
2017-11-23 21:03:55 +00:00
Julia Koval 11cca3ca7d Enable VBMI2 support [2/7]
gcc/
	config.gcc (avx512vbmi2intrin.h, avx512vbmi2vlintrin): New headers.
	config/i386/avx512vbmi2intrin.h (_mm512_mask_compress_epi8,
	_mm512_maskz_compress_epi8, _mm512_mask_compressstoreu_epi8,
	_mm512_mask_compress_epi16, _mm512_maskz_compress_epi16,
	_mm512_mask_compressstoreu_epi16): New.
	config/i386/avx512vbmi2vlintrin.h (_mm_mask_compress_epi8,
	_mm_maskz_compress_epi8, _mm256_mask_compressstoreu_epi16,
	_mm_mask_compress_epi16, _mm_maskz_compress_epi16,
	_mm256_mask_compress_epi16, _mm256_maskz_compress_epi16,
	_mm_mask_compressstoreu_epi8, _mm_mask_compressstoreu_epi16,
	_mm256_mask_compress_epi8, _mm256_maskz_compress_epi8,
	_mm256_mask_compressstoreu_epi8): New.
	config/i386/i386-builtin-types.def (VOID_FTYPE_PV64QI_V64QI_UDI,
	VOID_FTYPE_PV32HI_V32HI_USI, VOID_FTYPE_PV32QI_V32QI_USI,
	VOID_FTYPE_PV16QI_V16QI_UHI, VOID_FTYPE_PV16HI_V16HI_UHI,
	VOID_FTYPE_PV8HI_V8HI_UQI): New types.
	config/i386/i386-builtin.def (__builtin_ia32_compressqi512_mask,
	__builtin_ia32_compresshi512_mask, __builtin_ia32_compressqi256_mask,
	__builtin_ia32_compressqi128_mask, __builtin_ia32_compresshi256_mask,
	__builtin_ia32_compresshi128_mask,
	__builtin_ia32_compressstoreuqi512_mask,
	__builtin_ia32_compressstoreuhi512_mask,
	__builtin_ia32_compressstoreuqi256_mask,
	__builtin_ia32_compressstoreuqi128_mask,
	__builtin_ia32_compressstoreuhi256_mask,
	__builtin_ia32_compressstoreuhi128_mask): New builtins.
	config/i386/i386.c (ix86_init_mmx_sse_builtins): Create special args
	array for flags2.
	(ix86_expand_special_args_builtin): Handle new types.
	(s4fma_expand): Handle new builtin array.
	config/i386/immintrin.h: Include new headers.
	config/i386/sse.md (VI12_AVX512VLBW): New iterator.
	(compress<mode>_mask, compressstore<mode>_mask): New patterns.

gcc/testsuite/
	gcc.target/i386/avx512-check.h: Handle AVX512VBMI2 bit.
	gcc.target/i386/avx512f-vpcompressb-1.c: New test.
	gcc.target/i386/avx512f-vpcompressb-2.c: Ditto.
	gcc.target/i386/avx512f-vpcompressw-1.c: Ditto.
	gcc.target/i386/avx512f-vpcompressw-2.c: Ditto.
	gcc.target/i386/avx512vl-vpcompressb-1.c: Ditto.
	gcc.target/i386/avx512vl-vpcompressb-2.c: Ditto.
	gcc.target/i386/avx512vl-vpcompressw-1.c: Ditto.
	gcc.target/i386/avx512vl-vpcompressw-2.c: Ditto.
	gcc.target/i386/i386.exp (check_effective_target_avx512vbmi2): New.

From-SVN: r255119
2017-11-23 20:57:50 +00:00
Jakub Jelinek cd761692cb rs6000.c (rs6000_gimple_fold_builtin): Formatting fixes.
* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Formatting
	fixes.  Declare temp and g variables at the top in order to avoid
	{} in most of the cases.

From-SVN: r255118
2017-11-23 21:19:01 +01:00
Jakub Jelinek 9c378aa9f4 parser.c (cp_parser_omp_declare): Change return type to bool from void, return true for declare simd.
* parser.c (cp_parser_omp_declare): Change return type to bool from
	void, return true for declare simd.
	(cp_parser_pragma): Return cp_parser_omp_declare returned value
	rather than always false.

From-SVN: r255117
2017-11-23 21:18:10 +01:00
Jakub Jelinek 41521dee8e c-parser.c (c_parser_omp_declare_simd): Reject declare simd in pragma_stmt context.
* c-parser.c (c_parser_omp_declare_simd): Reject declare simd in
	pragma_stmt context.

	* gcc.dg/gomp/declare-simd-1.c (f9): Remove.
	* gcc.dg/gomp/declare-simd-5.c: New test.

From-SVN: r255116
2017-11-23 21:17:29 +01:00
Jakub Jelinek 3b575376fb re PR fortran/81841 (THREADPRIVATE (OpenMP) wrongly rejected in BLOCK DATA)
PR fortran/81841
	* parse.c (parse_spec): Allow ST_OMP_THREADPRIVATE inside of
	BLOCK DATA.

	* libgomp.fortran/pr81841.f90: New test.

From-SVN: r255115
2017-11-23 21:16:38 +01:00
Jakub Jelinek 11aa563708 pr65240-1.C: Add -Wno-return-type to dg-options.
* g++.dg/pr65240-1.C: Add -Wno-return-type to dg-options.
	* g++.dg/pr65240-2.C: Likewise.
	* g++.dg/pr65240-3.C: Likewise.
	* g++.dg/pr65240-4.C: Likewise.

From-SVN: r255114
2017-11-23 21:14:43 +01:00
Marc Glisse d43177addf Simplify ptr - 0
2017-11-23  Marc Glisse  <marc.glisse@inria.fr>

	* match.pd (ptr-0): New transformation.

From-SVN: r255113
2017-11-23 19:53:09 +00:00
Charles Baylis 612ea540d2 This patch adds support for modelling the varying costs of different addressing modes.
This patch adds support for modelling the varying costs of
different addressing modes. The generic cost table treats
all addressing modes as having equal cost.

gcc/ChangeLog:

2017-11-23  Charles Baylis  <charles.baylis@linaro.org>

        * config/arm/arm-protos.h (enum arm_addr_mode_op): New.
        (struct addr_mode_cost_table): New.
        (struct tune_params): Add field addr_mode_costs.
        * config/arm/arm.c (generic_addr_mode_costs): New.
        (arm_slowmul_tune): Initialise addr_mode_costs field.
        (arm_fastmul_tune): Likewise.
        (arm_strongarm_tune): Likewise.
        (arm_xscale_tune): Likewise.
        (arm_9e_tune): Likewise.
        (arm_marvell_pj4_tune): Likewise.
        (arm_v6t2_tune): Likewise.
        (arm_cortex_tune): Likewise.
        (arm_cortex_a8_tune): Likewise.
        (arm_cortex_a7_tune): Likewise.
        (arm_cortex_a15_tune): Likewise.
        (arm_cortex_a35_tune): Likewise.
        (arm_cortex_a53_tune): Likewise.
        (arm_cortex_a57_tune): Likewise.
        (arm_exynosm1_tune): Likewise.
        (arm_xgene1_tune): Likewise.
        (arm_cortex_a5_tune): Likewise.
        (arm_cortex_a9_tune): Likewise.
        (arm_cortex_a12_tune): Likewise.
        (arm_cortex_a73_tune): Likewise.
        (arm_v7m_tune): Likewise.
        (arm_cortex_m7_tune): Likewise.
        (arm_v6m_tune): Likewise.
        (arm_fa726te_tune): Likewise.
        (arm_mem_costs): Use table lookup to calculate cost of addressing
        mode.

From-SVN: r255112
2017-11-23 18:39:44 +00:00
Charles Baylis c138eb5ce4 [ARM] Refactor costs calculation for MEM.
This patch moves the calculation of costs for MEM into a
separate function, and reforms the calculation into two
parts. Firstly any additional cost of the addressing mode
is calculated, and then the cost of the memory access itself
is added.

In this patch, the calculation of the cost of the addressing
mode is omitted, to be added in a subsequent patch.

gcc/ChangeLog:

<date>  Charles Baylis  <charles.baylis@linaro.org>

        * config/arm/arm.c (arm_mem_costs): New function.
        (arm_rtx_costs_internal): Use arm_mem_costs.

gcc/testsuite/ChangeLog:

<date>  Charles Baylis  <charles.baylis@linaro.org>

        * gcc.target/arm/addr-modes-float.c: New test.
        * gcc.target/arm/addr-modes-int.c: New test.
        * gcc.target/arm/addr-modes.h: New header.

From-SVN: r255111
2017-11-23 18:37:18 +00:00
Thomas Koenig 207180e159 re PR fortran/36313 ([F03] {MIN,MAX}{LOC,VAL} should accept character arguments)
2017-11-23  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/36313
	* m4/maxloc2s.m4: Replace int for character length by
	gfc_charlen_type.
	* m4/minloc2s.m4: Likewise.
	* generated./maxloc2_16_s1.c: Regenerated.
	* generated./maxloc2_16_s4.c: Regenerated.
	* generated./maxloc2_4_s1.c: Regenerated.
	* generated./maxloc2_4_s4.c: Regenerated.
	* generated./maxloc2_8_s1.c: Regenerated.
	* generated./maxloc2_8_s4.c: Regenerated.
	* generated./minloc2_16_s1.c: Regenerated.
	* generated./minloc2_16_s4.c: Regenerated.
	* generated./minloc2_4_s1.c: Regenerated.
	* generated./minloc2_4_s4.c: Regenerated.
	* generated./minloc2_8_s1.c: Regenerated.
	* generated./minloc2_8_s4.c: Regenerated.

From-SVN: r255109
2017-11-23 17:52:05 +00:00
Mark Wielaard 3d4b2e4915 Fix .debug_rnglists generation with -gdwarf-5 -gsplit-dwarf.
Early debug broke generation of .debug_rnglists when using both -gdwarf5
and -gsplit-dwarf. It introduces a generation for init_sections_and_labels,
but doesn't account for the generation of up to 4 unique ranges labels,
two created in init_sections_and_labels and two in output_rnglists.
Fix this by passing generation to output_rnglists and creating 4 unique
labels per generation.

Without this fix using -gdwarf-5 -gsplit-dwarf could result in:
  Error: symbol `.Ldebug_ranges2' is already defined

gcc/ChangeLog:

       * dwarf2out.c (init_sections_and_labels): Use generation to create
       unique ranges_section_label and ranges_base_label. Return generation.
       (output_rnglists): Add generation argument. Use generation to create
       unique ranges labels.
       (dwarf2out_finish): Get generation from init_sections_and_labels
       and pass generation to output_rnglists.

From-SVN: r255107
2017-11-23 16:56:05 +00:00
Eric Botcazou ac9effeda3 generic.texi (ANNOTATE_EXPR): Document 3rd operand.
* doc/generic.texi (ANNOTATE_EXPR): Document 3rd operand.
	* cfgloop.h (struct loop): Add unroll field.
	* function.h (struct function): Add has_unroll bitfield.
	* gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Deal with unroll kind.
	(gimplify_expr) <ANNOTATE_EXPR>: Propagate 3rd operand.
	* loop-init.c (pass_loop2::gate): Return true if cfun->has_unroll.
	(pass_rtl_unroll_loops::gate): Likewise.
	* loop-unroll.c (decide_unrolling): Tweak note message.  Skip loops
	for which loop->unroll==1.
	(decide_unroll_constant_iterations): Use note for consistency and
	take loop->unroll into account.  Return early if loop->unroll is set.
	Fix thinko in existing test.
	(decide_unroll_runtime_iterations): Use note for consistency and
	take loop->unroll into account.
	(decide_unroll_stupid): Likewise.
	* lto-streamer-in.c (input_cfg): Read loop->unroll.
	* lto-streamer-out.c (output_cfg): Write loop->unroll.
	* tree-cfg.c (replace_loop_annotate_in_block) <annot_expr_unroll_kind>:
        New case.
	(replace_loop_annotate) <annot_expr_unroll_kind>: Likewise.
	(print_loop): Print loop->unroll if set.
	* tree-core.h (enum annot_expr_kind): Add annot_expr_unroll_kind.
	* tree-inline.c (copy_loops): Copy unroll and set cfun->has_unroll.
	* tree-pretty-print.c (dump_generic_node) <annot_expr_unroll_kind>:
	New case.
	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Bail out if
	loop->unroll is set and smaller than the trip count.  Otherwise bypass
	entirely the heuristics if loop->unroll is set.  Remove dead note.
	Fix off-by-one bug in other note.
	(try_peel_loop): Bail out if loop->unroll is set.  Fix formatting.
	(tree_unroll_loops_completely_1): Force unrolling if loop->unroll
	is greater than 1.
	(tree_unroll_loops_completely): Make static.
	(pass_complete_unroll::execute): Use correct type for variable.
	(pass_complete_unrolli::execute): Fix formatting.
	* tree.def (ANNOTATE_EXPR): Add 3rd operand.
ada/
	* gcc-interface/trans.c (gnat_gimplify_stmt) <LOOP_STMT>: Pass 3rd
	operand to ANNOTATE_EXPR and also pass unrolling hints.
c/
	* c-parser.c (c_parser_while_statement): Pass 3rd operand to
	ANNOTATE_EXPR.
	(c_parser_do_statement): Likewise.
	(c_parser_for_statement): Likewise.
cp/
	* pt.c (tsubst_expr) <ANNOTATE_EXPR>: Recurse on 3rd operand.
	* semantics.c (finish_while_stmt_cond): Pass 3rd operand to
	ANNOTATE_EXPR.
	(finish_do_stmt): Likewise.
	(finish_for_cond): Likewise.
fortran/
	* trans-stmt.c (gfc_trans_forall_loop): Pass 3rd operand to
	ANNOTATE_EXPR.

From-SVN: r255106
2017-11-23 16:36:28 +00:00
Sergey Shalnov 02a703675c i386.h (TARGET_PREFER_AVX256): Also enable when TARGET_PREFER_AVX128 is set.
* config/i386/i386.h (TARGET_PREFER_AVX256): Also
	enable when TARGET_PREFER_AVX128 is set.

From-SVN: r255105
2017-11-23 17:07:25 +01:00
Jan Hubicka 7349698ee4 ipa-profile.c (ipa_propagate_frequency_1): Use count instead of frequency.
* ipa-profile.c (ipa_propagate_frequency_1): Use count instead of
	frequency.
	* cgraph.c (cgraph_edge::dump_edge_flags): Dump sreal frequencies.
	(cgraph_edge::maybe_hot_p): Use sreal frequencies.

From-SVN: r255104
2017-11-23 15:59:07 +00:00
Jan Hubicka 0009a6c3c7 ipa-fnsummary.c (record_modified_bb_info): Use sreal frequencies.
* ipa-fnsummary.c (record_modified_bb_info): Use sreal
	frequencies. Fix estimation of aggregate parameters.

	* gcc.dg/ipa/inline-1.c: Update template.

From-SVN: r255103
2017-11-23 15:56:28 +00:00
Jan Hubicka 8f58dbd171 cgraphclones.c (cgraph_node::create_clone): Fix updating of profile when inlining.
* cgraphclones.c (cgraph_node::create_clone): Fix updating of profile
	when inlining.

From-SVN: r255102
2017-11-23 15:52:50 +00:00
Tom de Vries 120e92fc5e [libgccjit] Wrap RETURN_NULL_IF_FAIL_NONNULL_NUMERIC_TYPE in JIT_{BEGIN,END}_STMT.
2017-11-23  Tom de Vries  <tom@codesourcery.com>

	* libgccjit.c (RETURN_NULL_IF_FAIL_NONNULL_NUMERIC_TYPE): Wrap in
	JIT_{BEGIN,END}_STMT.

From-SVN: r255101
2017-11-23 15:03:48 +00:00
Tom de Vries 356db29280 [sh] Wrap ASM_OUTPUT_ADDR_VEC_ELT in do {} while (0)
2017-11-23  Tom de Vries  <tom@codesourcery.com>

	* config/sh/sh.h (ASM_OUTPUT_ADDR_VEC_ELT): Wrap in "do {} while (0)".

From-SVN: r255100
2017-11-23 15:03:39 +00:00
Tom de Vries 7f339ecbd3 [libobjc] Wrap CLASS_TABLE_HASH in do {} while (0)
2017-11-23  Tom de Vries  <tom@codesourcery.com>

	* class.c (CLASS_TABLE_HASH): Wrap in "do {} while (0)".

From-SVN: r255099
2017-11-23 15:03:29 +00:00
Tom de Vries 77abf71fdf [ft32] Remove semicolon after ASM_OUTPUT_ADDR_VEC_ELT
2017-11-23  Tom de Vries  <tom@codesourcery.com>

	* config/ft32/ft32.h (ASM_OUTPUT_ADDR_VEC_ELT): Remove semicolon after
	macro.

From-SVN: r255098
2017-11-23 15:03:20 +00:00
Oleg Endo e7434de8cc re PR target/83111 ([sh] stack smashing detected in gen_udivsi3)
gcc/
	PR target/83111
	* config/sh/sh.md (udivsi3, divsi3, sibcall_value_pcrel,
	sibcall_value_pcrel_fdpic): Use local variable instead of
	operands[3].
	(calli_tbr_rel): Add missing operand 2.
	(call_valuei_tbr_rel): Add missing operand 3.

From-SVN: r255096
2017-11-23 14:06:15 +00:00
Jakub Jelinek 2145b601d0 re PR middle-end/82253 (ICE in convert_move, at expr.c:604)
PR middle-end/82253
	* expr.c (expand_assignment): For CONCAT to_rtx, complex type from and
	bitpos/bitsize covering the whole destination, use store_expr only if
	the complex mode is the same.  Otherwise, use expand_normal and if
	it returns CONCAT, subreg each part separately instead of trying to
	subreg the whole result.

	* gfortran.dg/pr82253.f90: New test.

From-SVN: r255095
2017-11-23 12:26:32 +01:00
Paul Thomas f36a7f04f6 re PR fortran/82814 (ICE from submodule character function)
2017-11-23  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/82814
	* trans-types.c (gfc_sym_type): If a character function result
	is missing the charlen backend_decl, use the one from the name-
	space procedure symbol, if present.

2017-11-23  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/82814
	* gfortran.dg/submodule_31.f08: New test.

From-SVN: r255094
2017-11-23 09:52:04 +00:00
Richard Biener d7a160a45e re PR tree-optimization/23094 (store ccp, or store copy prop misses an optimization)
2017-11-23  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/23094
	* tree-ssa-sccvn.c (vuse_ssa_val): Handle VN_TOP when we
	come here from walking over backedges in the first iteration.
	(vn_reference_lookup_3): Skip clobbers that store the same value.

	* gcc.dg/tree-ssa/ssa-fre-61.c: New testcase.

From-SVN: r255093
2017-11-23 09:05:11 +00:00
Richard Biener bb9ec14d41 re PR tree-optimization/81403 (wrong code at -O3)
2017-11-23  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/81403
	* tree-ssa-pre.c (get_representative_for): Add parameter specifying
	a block we need a leader relative to.
	(phi_translate_1): For nary processing require a leader from
	get_representative_for given we run expression simplification
	using match-and-simplify.  Remove previous fix.

From-SVN: r255092
2017-11-23 08:30:41 +00:00
Richard Biener 78bebfb26f re PR tree-optimization/83089 (ICE: Segmentation fault (in instantiate_scev_name))
2017-11-23  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/83089
	* gcc.dg/pr83089.c: Require pthread.

From-SVN: r255091
2017-11-23 08:24:20 +00:00
Ian Lance Taylor 02dc624e21 cmd/go, go/internal/gccgoimporter: pass -X to ar on AIX
Reviewed-on: https://go-review.googlesource.com/72930

From-SVN: r255090
2017-11-23 00:24:21 +00:00
GCC Administrator f6f28ab807 Daily bump.
From-SVN: r255089
2017-11-23 00:16:14 +00:00
Jeff Law 3e406d3330 gimple-ssa-evrp-analyze.c (evrp_range_analyzer::try_find_new_range): Use new method allocate_value_range rather than accessing the...
* gimple-ssa-evrp-analyze.c (evrp_range_analyzer::try_find_new_range):
	Use new method allocate_value_range rather than accessing the
	vrp_value_range_pool data member directly.
	* tree-vrp.c (simplify_stmt_for_jump_threading): Tweak slightly
	to use extract_range_from_stmt method to avoid need for
	extract_range_from_assignment method.
	(vrp_prop::vrp_finalize): Use set_lattice_propagation_complete
	method rather than setting values_propgated data member directly.
	* vr-values.h (class vr_values): Privatize vrp_value_range_pool,
	and values propagated data members and extract_range_from_assignment
	method.  Reorder private data members to conform to standards.
	Add new methods set_lattice_propagation_complete and
	allocate_value_range.

From-SVN: r255086
2017-11-22 17:04:07 -07:00
Jakub Jelinek d057fdc8e9 * g++.dg/abi/pr68355.C: Don't expect tail call on ia32.
From-SVN: r255085
2017-11-22 23:36:29 +01:00
Jakub Jelinek 6c19e703de re PR c++/82401 (error: qsort comparator non-negative on sorted output: 1 in insert_late_enum_def_bindings on an invalid code)
PR c++/82401
	* name-lookup.c (member_name_cmp): Return 0 if a == b.

	* g++.dg/cpp0x/pr82401.C: New test.

From-SVN: r255084
2017-11-22 23:35:52 +01:00
Eric Botcazou 52af380439 re PR rtl-optimization/83030 (ICE in create_pseudo_cfg, at dwarf2cfi.c:2840)
PR rtl-optimization/83030
	* doc/rtl.texi (Flags in an RTL Expression): Alphabetize, add entry
	for CROSSING_JUMP_P and mention usage of 'jump' for JUMP_INSNs.
	(Insns): Delete entry for REG_CROSSING_JUMP in register notes.
	* bb-reorder.c (update_crossing_jump_flags): Do not test whether the
	CROSSING_JUMP_P flag is already set before setting it.
	* cfgrtl.c (fixup_partition_crossing): Likewise.
	* reorg.c (relax_delay_slots): Do not consider a CROSSING_JUMP_P insn
	as useless.

From-SVN: r255083
2017-11-22 21:43:22 +00:00
David Malcolm d54387158a jit: update test suite for change to -Warray-bounds
jit.dg/test-error-array-bounds.c is a test of how libgccjit
handles errors coming from the middle-end, using -Warray-bounds as
an example.

It started failing as of r254830 (aka 987b3316c4e7c908e3c7d2151c20971f9707ad66),
due to that commit changing the wording of the message.

This commit fixes the jit testcase by updating it to use the new
wording.

gcc/testsuite/ChangeLog:
	PR tree-optimization/82588
	PR tree-optimization/82583
	* jit.dg/test-error-array-bounds.c (verify_code): Update expected
	error message from -Warray-bounds.

From-SVN: r255082
2017-11-22 21:12:36 +00:00
Jakub Jelinek 1324d3f33e * g++.dg/graphite/pr41562.C: Add -Wno-return-type.
From-SVN: r255081
2017-11-22 22:03:36 +01:00
Jakub Jelinek b13547d821 re PR libgomp/83106 (libgomp/target.c:2671:2: error: ‘strncat’ specified bound 5 equals source length [-Werror=stringop-overflow=])
PR libgomp/83106
	* target.c (gomp_target_init): Compute lengths just once and
	use them in both malloc size and subsequent copying.

From-SVN: r255080
2017-11-22 21:49:56 +01:00
Jakub Jelinek 217e4393f7 simplify-rtx.c (simplify_binary_operation_1): Handle the case where both arguments are using gen_const_vec_series.
* simplify-rtx.c (simplify_binary_operation_1) <case VEC_SERIES>:
	Handle the case where both arguments are using gen_const_vec_series.

From-SVN: r255079
2017-11-22 21:48:38 +01:00