Commit Graph

153003 Commits

Author SHA1 Message Date
Martin Liska 3ee0fb02bb Evaluate a SAVE_EXPR before an UBSAN check (PR sanitizer/80350).
2017-04-10  Martin Liska  <mliska@suse.cz>

	PR sanitizer/80350
	* c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
	doing an UBSAN check.
2017-04-10  Martin Liska  <mliska@suse.cz>

	PR sanitizer/80350
	* c-c++-common/ubsan/pr80350.c: New test.

From-SVN: r246799
2017-04-10 07:29:29 +00:00
Jakub Jelinek 167a5b7797 re PR target/80324 (_mm512_reduce_xxx type instrinsics are missing)
PR target/80324
	* config/i386/avx512fintrin.h (_mm512_reduce_add_epi32,
	_mm512_reduce_mul_epi32, _mm512_reduce_and_epi32,
	_mm512_reduce_or_epi32, _mm512_mask_reduce_add_epi32,
	_mm512_mask_reduce_mul_epi32, _mm512_mask_reduce_and_epi32,
	_mm512_mask_reduce_or_epi32, _mm512_reduce_min_epi32,
	_mm512_reduce_max_epi32, _mm512_reduce_min_epu32,
	_mm512_reduce_max_epu32, _mm512_mask_reduce_min_epi32,
	_mm512_mask_reduce_max_epi32, _mm512_mask_reduce_min_epu32,
	_mm512_mask_reduce_max_epu32, _mm512_reduce_add_ps,
	_mm512_reduce_mul_ps, _mm512_mask_reduce_add_ps,
	_mm512_mask_reduce_mul_ps, _mm512_reduce_min_ps, _mm512_reduce_max_ps,
	_mm512_mask_reduce_min_ps, _mm512_mask_reduce_max_ps,
	_mm512_reduce_add_epi64, _mm512_reduce_mul_epi64,
	_mm512_reduce_and_epi64, _mm512_reduce_or_epi64,
	_mm512_mask_reduce_add_epi64, _mm512_mask_reduce_mul_epi64,
	_mm512_mask_reduce_and_epi64, _mm512_mask_reduce_or_epi64,
	_mm512_reduce_min_epi64, _mm512_reduce_max_epi64,
	_mm512_mask_reduce_min_epi64, _mm512_mask_reduce_max_epi64,
	_mm512_reduce_min_epu64, _mm512_reduce_max_epu64,
	_mm512_mask_reduce_min_epu64, _mm512_mask_reduce_max_epu64,
	_mm512_reduce_add_pd, _mm512_reduce_mul_pd, _mm512_mask_reduce_add_pd,
	_mm512_mask_reduce_mul_pd, _mm512_reduce_min_pd, _mm512_reduce_max_pd,
	_mm512_mask_reduce_min_pd, _mm512_mask_reduce_max_pd): New intrinsics.

	* gcc.target/i386/avx512f-reduce-op-1.c: New test.

From-SVN: r246798
2017-04-10 08:53:28 +02:00
GCC Administrator ab9ead30e8 Daily bump.
From-SVN: r246797
2017-04-10 00:16:18 +00:00
Jason Merrill 3f4334cb95 PR c++/80356 - ICE with reference to function template argument.
PR c++/79294
	* pt.c (convert_nontype_argument_function): Adjust type even with a
	value-dependent argument.

From-SVN: r246794
2017-04-09 01:38:40 -04:00
Jason Merrill c60faeee9e PR c++/80267 - ICE with nested capture of reference
PR c++/60992
	* pt.c (tsubst_copy): Handle lookup finding a capture proxy.

From-SVN: r246793
2017-04-09 01:06:08 -04:00
GCC Administrator 310ce882d9 Daily bump.
From-SVN: r246792
2017-04-09 00:16:13 +00:00
Vladimir Makarov 8d2696f958 re PR rtl-optimization/70478 ([LRA] S/390: Performance regression - superfluous stack frame)
2017-04-08  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/70478
	* lra-constraints.c: Reverse the last patch.

From-SVN: r246789
2017-04-08 19:18:42 +00:00
Andreas Tobler 8cfd4a9064 aarch64-freebsd.h: Define MCOUNT_NAME.
2017-04-08  Andreas Tobler  <andreast@gcc.gnu.org>

    * config/aarch64/aarch64-freebsd.h: Define MCOUNT_NAME.
    Add comment for WCHAR_T.

From-SVN: r246786
2017-04-08 20:58:22 +02:00
Martin Liska d691b7e406 Revert r246759.
From-SVN: r246785
2017-04-08 17:09:58 +00:00
Aaron Sawdey 27ba97a67a re PR rtl-optimization/80358 (ICE (cc1 killed) building glib with -O3 on powerpc64le-linux-gnu)
2017-04-08  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>

	PR target/80358
	* config/rs6000/rs6000.c (expand_block_compare): Fix boundary check.

From-SVN: r246784
2017-04-08 11:10:26 -05:00
GCC Administrator 38f540cb00 Daily bump.
From-SVN: r246783
2017-04-08 00:16:14 +00:00
Pat Haugen cfe75a22d2 rs6000.c (vec_load_pendulum): Rename...
* rs6000/rs6000.c (vec_load_pendulum): Rename...
	(vec_pairing): ...to this.
	(power9_sched_reorder2): Rewrite code for pairing vector/vecload insns.
	(rs6000_sched_init): Adjust for name change.
	(struct rs6000_sched_context): Likewise.
	(rs6000_init_sched_context): Likewise.
	(rs6000_set_sched_context): Likewise.

From-SVN: r246776
2017-04-07 19:35:44 +00:00
Jakub Jelinek c98b00166a avx512f-vgetmantps-2.c: Add -mfpmath=sse to dg-options.
* gcc.target/i386/avx512f-vgetmantps-2.c: Add -mfpmath=sse to
	dg-options.
	* gcc.target/i386/avx512f-vgetmantpd-2.c: Likewise.

From-SVN: r246775
2017-04-07 21:23:24 +02:00
Jakub Jelinek dcb2c52718 re PR target/80322 (convert intrinsics missing)
PR target/80322
	PR target/80323
	PR target/80325
	PR target/80326
	* config/i386/avxintrin.h (_mm256_cvtsd_f64, _mm256_cvtss_f32): New
	intrinsics.
	* config/i386/avx512fintrin.h (_mm512_int2mask, _mm512_mask2int,
	_mm512_abs_ps, _mm512_mask_abs_ps, _mm512_abs_pd, _mm512_mask_abs_pd,
	_mm512_cvtsd_f64, _mm512_cvtss_f32): Likewise.

	* gcc.target/i386/avx512f-undefined-1.c: New test.
	* gcc.target/i386/avx512f-cvtsd-1.c: New test.
	* gcc.target/i386/avx-cvtsd-1.c: New test.
	* gcc.target/i386/avx512f-cvtss-1.c: New test.
	* gcc.target/i386/avx512f-abspd-1.c: New test.
	* gcc.target/i386/avx-cvtss-1.c: New test.
	* gcc.target/i386/avx512f-absps-1.c: New test.
	* gcc.target/i386/avx512f-int2mask-1.c: New test.
	* gcc.target/i386/avx512f-mask2int-1.c: New test.

From-SVN: r246774
2017-04-07 21:22:00 +02:00
Andreas Tobler ecd5b37e12 aarch64-freebsd.h: Define WCHAR_TYPE.
2017-04-07  Andreas Tobler  <andreast@gcc.gnu.org>

    * config/aarch64/aarch64-freebsd.h: Define WCHAR_TYPE.

From-SVN: r246773
2017-04-07 20:50:11 +02:00
Marek Polacek 2166aeb3ab re PR c++/80095 (ICE with this pointer in NSDMI)
PR c++/80095
	* call.c (build_over_call): Don't check cxx_dialect.
	* cp-gimplify.c (cp_gimplify_init_expr): Don't check cxx_dialect nor
	whether SUB is a CONSTRUCTOR.
	* init.c (build_new_1): Don't check cxx_dialect.
	* tree.c (replace_placeholders): Add a function comment.  Return if
	not in C++14, or if the object isn't a (member of a) class.
	* typeck2.c (store_init_value): Don't check cxx_dialect nor whether
	TYPE is CLASS_TYPE_P.

	* g++.dg/cpp1y/nsdmi-aggr8.C: New test.

From-SVN: r246772
2017-04-07 18:09:55 +00:00
Marek Polacek 1ef532f452 re PR sanitizer/80348 (UBSAN: compile time crash in ubsan_instrument_division)
PR sanitizer/80348
	* typeck.c (cp_build_binary_op): Convert COP[01] to ORIG_TYPE.

	* g++.dg/ubsan/div-by-zero-2.C: New test.

From-SVN: r246770
2017-04-07 17:51:55 +00:00
Jeff Law 29d8aae6bd Makefile.in: Swap definition of LIBGCC_LINKS and inclusion of target makefile fragment.
* Makefile.in: Swap definition of LIBGCC_LINKS and inclusion of
	target makefile fragment.
	* config/sh/t-sh (unwind-dw2-Os-4-200.o): Depend on LIBGCC_LINKS.

From-SVN: r246766
2017-04-07 10:11:57 -06:00
Vladimir Makarov 7879aabea7 re PR rtl-optimization/70703 (Regression in register usage on x86)
2017-04-07  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/70703
	* ira-color.c (update_conflict_hard_regno_costs): Use
	int64_t instead of HOST_WIDE_INT.

From-SVN: r246765
2017-04-07 16:06:28 +00:00
Vladimir Makarov 057da7af80 re PR rtl-optimization/70478 ([LRA] S/390: Performance regression - superfluous stack frame)
2017-04-07  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/70478
	* lra-constraints.c (process_alt_operands): Disfavor alternative
	insn memory operands.

2017-04-07  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/70478
	* gcc.target/s390/pr70478.c: New.

From-SVN: r246764
2017-04-07 16:01:50 +00:00
Jeff Law e3d1043293 iq2000.c (final_prescan_insn): Do not separate a CALL and NOTE_INSN_CALL_ARG_LOCATION.
* config/iq2000/iq2000.c (final_prescan_insn): Do not separate a
	CALL and NOTE_INSN_CALL_ARG_LOCATION.

From-SVN: r246761
2017-04-07 08:26:05 -06:00
Martin Liska 3b6cb9e37e Error message on target attribute on aarch64 target (PR target/79889).
2017-04-07  Martin Liska  <mliska@suse.cz>

	PR target/79889
	* g++.dg/ext/mv8.C: Add aarch64* targets.
2017-04-07  Martin Liska  <mliska@suse.cz>

	PR target/79889
	* config/aarch64/aarch64.c (aarch64_process_target_attr):
	Show error message instead of an ICE.

From-SVN: r246760
2017-04-07 11:20:01 +00:00
Martin Liska 70cd23c019 Add function part to a same comdat group (PR ipa/80212).
2017-04-07  Martin Liska  <mliska@suse.cz>

	PR ipa/80212
	* g++.dg/ipa/pr80212.C: New test.
2017-04-07  Martin Liska  <mliska@suse.cz>

	PR ipa/80212
	* ipa-split.c (split_function): Add function part to a same comdat
	group.

From-SVN: r246759
2017-04-07 10:36:21 +00:00
Thomas Preud'homme fe6bb25f9e [testsuite] Require c99_runtime for pr79800.c
2017-04-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/testsuite/
    * gcc.dg/tree-ssa/pr79800.c: Require c99_runtime.

From-SVN: r246758
2017-04-07 09:44:33 +00:00
Richard Biener bf7b869abb re PR tree-optimization/80334 (Segfault when taking address of copy of unaligned struct)
2017-04-07  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/80334
	* g++.dg/torture/pr80334.C: Use __BIGGEST_ALIGNMENT__ for
	alignas on stack.

From-SVN: r246757
2017-04-07 08:47:43 +00:00
Richard Biener 2d143ba8cf re PR middle-end/80341 (gcc miscompiles division of signed char)
2017-04-07  Richard Biener  <rguenther@suse.de>

	PR middle-end/80341
	* tree.c (get_unwidened): Also handle ! for_type case for
	INTEGER_CSTs.
	* convert.c (do_narrow): Split out from ...
	(convert_to_integer_1): ... here.  Do not pass final truncation
	type to get_unwidened for TRUNC_DIV_EXPR.

	* gcc.dg/torture/pr80341.c: New testcase.

From-SVN: r246756
2017-04-07 08:20:24 +00:00
Richard Biener 5291ab733b tree-affine.c (wide_int_ext_for_comb): Take type rather than aff_tree.
2017-04-07  Richard Biener  <rguenther@suse.de>

	* tree-affine.c (wide_int_ext_for_comb): Take type rather
	than aff_tree.
	(aff_combination_const): Adjust.
	(aff_combination_scale): Likewise.
	(aff_combination_add_elt): Likewise.
	(aff_combination_add_cst): Likewise.
	(aff_combination_convert): Likewise.
	(add_elt_to_tree): Likewise.  Remove unused argument.
	(aff_combination_to_tree): Adjust calls to add_elt_to_tree.

From-SVN: r246755
2017-04-07 08:04:32 +00:00
Sebastian Huber 1ca92bdca0 ARM: Introduce ARM_DEFAULT_SHORT_ENUMS
Allow targets to define the default for the short enums option.

gcc/

	* config/arm/arm.h (ARM_DEFAULT_SHORT_ENUMS): Provide default
	definition.
	* config/arm/arm.c (arm_default_short_enums): Use
	ARM_DEFAULT_SHORT_ENUMS.
	* config/arm/rtems.h (ARM_DEFAULT_SHORT_ENUMS): Define.

From-SVN: r246753
2017-04-07 07:02:07 +00:00
Alan Modra 2bdf7fc6e6 [RS6000] Out-of-line register save functions can't be used from crtend.o
PR target/45053
	* config/rs6000/t-crtstuff (CRTSTUFF_T_CFLAGS): Add -O2.

From-SVN: r246749
2017-04-07 11:00:43 +09:30
GCC Administrator ba7865c179 Daily bump.
From-SVN: r246748
2017-04-07 00:16:13 +00:00
Jakub Jelinek ed3cd38d63 re PR debug/80234 (ICE in splice_child_die at dwarfout.c:5265)
PR debug/80234
	* dwarf2out.c (gen_member_die): Handle C++17 inline static data
	members with redundant out-of-class redeclaration.

	* g++.dg/debug/dwarf2/pr80234-1.C: New test.
	* g++.dg/debug/dwarf2/pr80234-2.C: New test.

From-SVN: r246743
2017-04-06 22:46:29 +02:00
Uros Bizjak 926e747845 re PR target/80286 (AVX2 _mm_cvtsi128_si32 doesn't return a proper 32bits int)
PR target/80286
	* config/i386/sse.md (*vec_extractv4si_0_zext_sse4): New pattern.
	* config/i386/i386.md (*zero_extendsidi2):
	Add (?*x,*x) and (?*v,*v) alternatives.

From-SVN: r246741
2017-04-06 21:22:02 +02:00
Uros Bizjak e5f5658166 re PR target/79733 (ICE in int_mode_for_mode, at stor-layout.c:406)
PR target/79733
	* config/i386/i386.c (ix86_expand_builtin)
	<case IX86_BUILTIN_K{,OR}TEST{C,Z}{8,16,32,64}>: Determine insn operand
	mode from insn data. Convert operands to insn operand mode.
	Copy operands that don't satisfy insn predicate to a register.

testsuite/ChangeLog:

	PR target/79733
	* gcc.target/i386/pr79733.c: New test.

From-SVN: r246739
2017-04-06 20:49:43 +02:00
Uros Bizjak a5211c800e re PR target/80298 (<x86intrin.h> incompatible with -mno-sse)
PR target/80298
	* gcc.target/i386/pr80298-1.c: New test.
	* gcc.target/i386/pr80298-2.c: Ditto.

From-SVN: r246737
2017-04-06 20:34:18 +02:00
Sam Thursfield 04dc9e453c x-aix: Increase memory limit for genautomata on AIX.
2017-04-06  Sam Thursfield  <sam.thursfield@codethink.co.uk>

	* config/rs6000/x-aix: Increase memory limit for genautomata on AIX.
	Update comments.

From-SVN: r246735
2017-04-06 10:56:49 -06:00
Thomas Preud'homme db086c9685 [ARM] Compile atomic_loaddi_11 for Cortex-R5
2017-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com

    gcc/testsuite/
    PR target/80082
    * gcc.target/arm/atomic_loaddi_11.c: Target Cortex-R5 instead of
    ARMv7-R.

From-SVN: r246733
2017-04-06 14:53:22 +00:00
Richard Biener 09b63f67a1 re PR tree-optimization/80334 (Segfault when taking address of copy of unaligned struct)
2017-04-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/80334
	* tree-ssa-loop-ivopts.c (rewrite_use_address): Properly
	preserve alignment of accesses.

	* g++.dg/torture/pr80334.C: New testcase.

From-SVN: r246731
2017-04-06 13:56:35 +00:00
Martin Liska d9f8c5af8b Cherry-pick upstream r299036 from libsanitizer (PR sanitizer/80166).
2017-04-06  Martin Liska  <mliska@suse.cz>

	PR sanitizer/80166
	* sanitizer_common/sanitizer_common_interceptors.inc (INTERCEPTOR):
	Cherry-pick upstream r299036.
2017-04-06  Martin Liska  <mliska@suse.cz>

	PR sanitizer/80166
	* gcc.dg/asan/pr80166.c: New test.

From-SVN: r246730
2017-04-06 13:42:24 +00:00
Rainer Orth 1b68991f4d Fix gcc.target/i386/pr79390.c for Solaris as
PR tree-optimization/79390
	* gcc.target/i386/pr79390.c: Allow for cmovl.a.

From-SVN: r246729
2017-04-06 13:11:21 +00:00
Richard Biener 0f78434635 re PR middle-end/80262 (address space gets lost in memory access)
2017-04-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/80262
	* tree-sra.c (build_ref_for_offset): Preserve address-space
	information.
	* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
	Drop useless address-space information on MEM_REF offsets.

	* gcc.target/i386/pr80262.c: New testcase.

From-SVN: r246728
2017-04-06 12:31:05 +00:00
Richard Biener 23a429c2b2 re PR tree-optimization/80281 (Wrong constant folding)
2017-04-06  Richard Biener  <rguenther@suse.de>

	PR middle-end/80281
	* gcc.dg/tree-ssa/pr40921.c: Add -fp-contract=off.

From-SVN: r246726
2017-04-06 11:25:35 +00:00
GCC Administrator d905d6ae10 Daily bump.
From-SVN: r246724
2017-04-06 00:16:16 +00:00
Andreas Schwab 762d53e7de * builtins.def (BUILT_IN_UPDATE_SETJMP_BUF): Fix type.
From-SVN: r246720
2017-04-05 19:29:26 +00:00
Jakub Jelinek 98568e0337 re PR c++/80309 (ICE: canonical types differ for identical types _Args2 and _Args2)
PR c++/80309
	* pt.c (canonical_type_parameter): Use vec_safe_grow_cleared instead
	of a loop doing vec_safe_push of NULL.  Formatting fixes.
	(rewrite_template_parm): Copy TEMPLATE_PARM_PARAMETER_PACK from oldidx
	to newidx before calling canonical_type_parameter on newtype.

From-SVN: r246717
2017-04-05 21:10:17 +02:00
Joseph Myers 37d6671d07 * gcc.pot: Regenerate.
From-SVN: r246713
2017-04-05 18:53:55 +01:00
Joseph Myers 1f60a10003 * de.po, es.po, fr.po: Update.
From-SVN: r246712
2017-04-05 18:47:40 +01:00
Vladimir Makarov ff216a48b7 re PR rtl-optimization/70703 (Regression in register usage on x86)
2017-04-05  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/70703
	* ira-color.c (update_conflict_hard_regno_costs): Use
	HOST_WIDE_INT instead of long.

From-SVN: r246711
2017-04-05 16:14:28 +00:00
Uros Bizjak 891b30ac8d re PR target/80298 (<x86intrin.h> incompatible with -mno-sse)
PR target/80298
	* config/i386/mmintrin.h: Add -msse target option when __SSE__ is
	not defined for x86_64 target.  Add -mmmx target option when __SSE2__
	is not defined.
	* config/i386/mm3dnow.h: Add -msse target when __SSE__ is not defined
	for x86_64 target.  Handle -m3dnowa option.

From-SVN: r246708
2017-04-05 17:33:49 +02:00
Vladimir Makarov e2323a2b77 re PR rtl-optimization/70703 (Regression in register usage on x86)
2017-04-05  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/70703
	* ira-color.c (update_costs_from_allocno): Use the smallest mode.
	(update_conflict_hard_regno_costs): Use long instead of unsigned
	arithmetic for cost calculation.

2017-04-05  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/70703
	* gcc.target/i386/pr70703.c: New.

From-SVN: r246707
2017-04-05 15:07:51 +00:00
Jakub Jelinek 47a113429b re PR sanitizer/80308 (asan crash on big-endian powerpc-linux target)
PR sanitizer/80308
	* asan.c (asan_store_shadow_bytes): Fix location of last_chunk_value
	for big endian.

	* c-c++-common/asan/pr80308.c: New test.

Co-Authored-By: Bernd Edlinger <bernd.edlinger@hotmail.de>

From-SVN: r246703
2017-04-05 15:17:15 +02:00