Commit Graph

145151 Commits

Author SHA1 Message Date
Uros Bizjak
081561816b sse.md (shuffletype): Add V32HI and V4TI modes.
* config/i386/sse.md (shuffletype): Add V32HI and V4TI modes.
	(ssescalarsize): Add V8SF, V4SF, V4DF and V2DF modes.

From-SVN: r234784
2016-04-06 17:09:37 +02:00
Eric Botcazou
49a52ebcc0 Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
* src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
	* src/Makefile.in: Regenerate.

From-SVN: r234782
2016-04-06 15:07:49 +00:00
Yvan Roux
4066ea8a4e guality.h (main): Avoid GDB being blocked on signals.
2016-04-06  Yvan Roux  <yvan.roux@linaro.org>
	    Pedro Alves  <palves@redhat.com>

	* gcc.dg/guality/guality.h (main): Avoid GDB being blocked on signals.


Co-Authored-By: Pedro Alves <palves@redhat.com>

From-SVN: r234781
2016-04-06 15:07:10 +00:00
Jakub Jelinek
3866f8dd85 i386.c (ix86_simd_clone_compute_vecsize_and_simdlen): Add support for AVX512F clones...
* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
	Add support for AVX512F clones, include them by default for
	exported OpenMP declare simd functions.  For AVX2 allow simdlen 32
	and use it if charasteric type is 8-bit, for AVX512F allow simdlen
	up to 128.

	* lib/target-supports.exp (check_effective_target_vect_simd_clones):
	Check for avx512f effective targets instead of avx2.
	* gcc.dg/gomp/declare-simd-1.c: Add scan-assembler-times directives
	for AVX512F clones.
	* gcc.dg/gomp/declare-simd-3.c: Likewise.
	* g++.dg/gomp/declare-simd-1.C: Likewise.
	* g++.dg/gomp/declare-simd-3.C: Likewise.
	* g++.dg/gomp/declare-simd-4.C: Likewise.

From-SVN: r234780
2016-04-06 14:47:19 +02:00
Jakub Jelinek
ec35ea455c re PR middle-end/70550 (-Wuninitialized false positives in OpenMP code)
PR middle-end/70550
	* tree.h (OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT): Define.
	* gimplify.c (gimplify_adjust_omp_clauses_1): Set it for implicit
	firstprivate clauses.
	* omp-low.c (lower_send_clauses): Set TREE_NO_WARNING for
	OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT !by_ref vars in task contexts.
	(lower_omp_target): Set TREE_NO_WARNING for
	non-addressable possibly uninitialized vars which are copied into
	addressable temporaries or copied for GOMP_MAP_FIRSTPRIVATE_INT.

	* c-c++-common/gomp/pr70550-1.c: New test.
	* c-c++-common/gomp/pr70550-2.c: New test.

From-SVN: r234779
2016-04-06 14:42:24 +02:00
GCC Administrator
ce043b0c1c Daily bump.
From-SVN: r234771
2016-04-06 00:16:14 +00:00
Nathan Sidwell
c08d28acf8 re PR c++/70512 (ICE on valid code on x86_64-linux-gnu: canonical types differ for identical types)
PR c++/70512
	* class.c (fixup_may_alias): New.
	(fixup_attribute_variants): Call it.

	* g++.dg/ext/attribute-may-alias-5.C: New.

From-SVN: r234768
2016-04-05 23:47:21 +00:00
John David Anglin
d5a28db09e predicates.md (integer_store_memory_operand): Accept REG+D operands with a large offset when reload_in_progress is true.
* config/pa/predicates.md (integer_store_memory_operand): Accept
	REG+D operands with a large offset when reload_in_progress is true.
	(floating_point_store_memory_operand): Likewise.

From-SVN: r234765
2016-04-05 23:42:36 +00:00
Jakub Jelinek
1d510e046c re PR c++/70336 (Incorrect Wconversion warning)
PR c++/70336
	* match.pd (nested int casts): Limit to GIMPLE.

	* c-c++-common/pr70336.c: New test.
	* gcc.dg/torture/builtin-isinf_sign-1.c (foo): Guard tests
	no longer optimized away at -O0 with #ifndef __OPTIMIZE__.

From-SVN: r234764
2016-04-05 23:33:37 +02:00
Jan Hubicka
84278ed9e8 re PR ipa/66223 (Diagnostic of pure virtual function call broken, including __cxa_pure_virtual)
PR ipa/66223
	* ipa-devirt.c (maybe_record_node): Fix comment; use
	SANITIZE_UNREACHABLE instead of SANITIZE_UNDEFINED.

	* g++.dg/ipa/devirt-51.C: Use -fsanitize=unreachable.

From-SVN: r234762
2016-04-05 20:58:56 +00:00
Jonathan Wakely
d2aee115cc Restore atomic builtins usage in libstdc++-v3
PR libstdc++/70554
	* acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
	__atomic_fetch_add for bool.
	* configure: Regenerate.

From-SVN: r234761
2016-04-05 20:03:46 +01:00
Jonathan Wakely
d5ec69f374 * testsuite/30_threads/thread/70503.cc: Require -static to work.
From-SVN: r234757
2016-04-05 18:21:48 +01:00
Jakub Jelinek
268a0ec4ed re PR rtl-optimization/70542 (Wrong code with -O3 -mavx2.)
PR rtl-optimization/70542
	* ree.c (add_removable_extension): For VECTOR_MODE_P punt
	if there are any uses other than insn or debug insns.

	* gcc.dg/torture/pr70542.c: New test.
	* gcc.target/i386/avx2-pr70542.c: New test.

From-SVN: r234756
2016-04-05 19:05:23 +02:00
Marc Glisse
02a49e4f9f re PR tree-optimization/70509 (wrong code with extract from a v64qi)
PR tree-optimization/70509
	* simplify-rtx.c (simplify_binary_operation_1) <case VEC_SELECT>:
	Shift HOST_WIDE_INT_1U instead of 1.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r234755
2016-04-05 19:01:52 +02:00
Zdenek Sojka
5e8c2eb17e re PR tree-optimization/70509 (wrong code with extract from a v64qi)
PR tree-optimization/70509
	* tree-ssa-forwprop.c (simplify_bitfield_ref): Use bitsize_int instead
	of the vector base type for index.

	* gcc.target/i386/avx512bw-pr70509.c: New test.

From-SVN: r234754
2016-04-05 18:58:50 +02:00
Patrick Palka
c0daf32d0c Fix PR c++/70452 (regression in C++ parsing performance)
gcc/cp/ChangeLog:

	PR c++/70452
	* constexpr.c (struct fundef_copy): New struct.
	(struct fundef_copies_table_t): New struct.
	(fundef_copies_table): New static variable.
	(maybe_initialize_fundef_copies_table): New static function.
	(get_fundef_copy): New static function.
	(save_fundef_copy): New static function.
	(cxx_eval_call_expression): Use get_fundef_copy, and
	save_fundef_copy.
	(constexpr_call_table): Add "deletable" GTY marker.

gcc/testsuite/ChangeLog:

	PR c++/70452
	* g++.dg/ext/constexpr-vla4.C: New test.

From-SVN: r234753
2016-04-05 16:40:00 +00:00
Uros Bizjak
bf867841b4 re PR target/70510 (ICE: output_operand: invalid %-code with -mavx512bw -masm=intel when emitting vpbroatcast)
PR target/70510
	* config/i386/sse.md (iptr): Add V64QI, V32HI, V16SI and V8DI modes.

testsuite/ChangeLog:

	PR target/70510
	* gcc.target/i386/pr70510.c: New test.

From-SVN: r234752
2016-04-05 18:26:40 +02:00
Richard Biener
3022186ac4 re PR middle-end/70526 (GCC 6 miscompiles Firefox JIT compiler)
2016-04-05  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/70526
	* tree-sra.c (build_ref_for_offset): Use prev_base to
	extract the alias pointer type.

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

From-SVN: r234749
2016-04-05 14:26:59 +00:00
Richard Biener
ac6929b567 dse.c (struct store_info): Remove alias_set member.
2016-04-05  Richard Biener  <rguenther@suse.de>

	* dse.c (struct store_info): Remove alias_set member.
	(struct read_info_type): Likewise.
	(clear_alias_group, clear_alias_mode_table, clear_alias_mode_holder,
	spill_deleted, clear_alias_set_lookup): Remove.
	(get_group_info): Remove dead base == NULL_RTX case.
	(dse_step0): Remove initialization of removed variables.
	(delete_dead_store_insn): Reomve alias set dumping.
	(free_read_records): Remove alias_set handling.
	(canon_address): Remove alias_set_out parameter.
	(record_store): Remove spill_alias_set, it's always zero.
	(check_mem_read_rtx): Likewise.
	(dse_step2): Rename from ...
	(dse_step2_nospill): ... this.  Adjust.
	(scan_stores): Rename from ...
	(scan_stores_nospill): ... this.
	(scan_reads): Rename from ...
	(scan_reads_nospill): ... this.
	(scan_stores_spill, scan_reads_spill): Remove.
	(dse_step3_scan): Remove for_spills argument which is always false.
	(dse_step3): Likewise.
	(dse_step5): Rename from ...
	(dse_step5_nospill): ... this.  Remove alias_set handling.
	(rest_of_handle_dse): Adjust.

From-SVN: r234748
2016-04-05 14:25:35 +00:00
Jonathan Wakely
87cec93ee0 Ensure std::thread helpers have internal linkage
PR libstdc++/70503
	* src/c++11/thread.cc (execute_native_thread_routine,
	execute_native_thread_routine_compat): Give internal linkage.
	* testsuite/30_threads/thread/70503.cc: New test.

From-SVN: r234746
2016-04-05 14:35:32 +01:00
Ville Voutilainen
7b3318c41e re PR libstdc++/70437 (Instantiation loop with pair and is_constructible)
PR libstdc++/70437
 	* include/bits/stl_pair.h (_ConstructiblePair,
	_ImplicitlyConvertiblePair, _MoveConstructiblePair,
	_ImplicitlyMoveConvertiblePair): Add shortcut conditions
	for same-type cases.
	* testsuite/20_util/pair/70437.cc: New.

From-SVN: r234743
2016-04-05 14:31:30 +03:00
Jakub Jelinek
55fc79b2a6 re PR target/70525 (generating 'vpandn' without the mode suffix, gnu as fails to assemble (-mavx512bw))
PR target/70525
	* config/i386/sse.md (*andnot<mode>3): Simplify assertions.
	Use vpandn<ssemodesuffix> for V16SI/V8DImode, vpandnq for
	V32HI/V64QImode, don't use <mask_operand3_1>, fix up formatting.
	(*andnot<mode>3_mask): Remove insn with VI12_AVX512VL iterator.

	* gcc.target/i386/pr70525.c: New test.

From-SVN: r234739
2016-04-05 10:15:09 +02:00
Richard Biener
62b233f224 re PR middle-end/70499 (internal compiler error: in make_ssa_name_fn, at tree-ssanames.c:266)
2016-04-05  Richard Biener  <rguenther@suse.de>

	PR middle-end/70499
	* gimplify-me.c (gimple_regimplify_operands): Do not rewrite
	non-register type temporaries into SSA.

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

From-SVN: r234738
2016-04-05 08:05:06 +00:00
Richard Biener
cc05759d4c 20030814-6.c: Fix testcase, disable FRE, remove XFAIL.
2016-04-05  Richard Biener  <rguenther@suse.de>

	* gcc.dg/tree-ssa/20030814-6.c: Fix testcase, disable FRE,
	remove XFAIL.

From-SVN: r234737
2016-04-05 07:23:49 +00:00
Patrick Palka
7a7ac32ac6 Remove class cache_map and use ggc hash_maps instead (PR c++/70452)
gcc/cp/ChangeLog:

	PR c++/70452
	* cp-tree.h (class cache_map): Remove.
	* constexpr.c (cv_cache): Change type to
	GTY((deletable)) hash_map<tree, tree> *.
	(maybe_constant_value): Adjust following the change to cv_cache.
	(clear_cv_cache): New static function.
	(clear_cv_and_fold_caches): Use it.
	* cp-gimplify.c (fold_cache): Change type to
	GTY((deletable)) hash_map<tree, tree> *.
	(clear_fold_cache): Adjust following the change to fold_cache.
	(cp_fold): Likewise.

From-SVN: r234732
2016-04-05 01:20:00 +00:00
GCC Administrator
cefb34aaf0 Daily bump.
From-SVN: r234731
2016-04-05 00:16:15 +00:00
Eric Botcazou
72d1a48d2b re PR target/67172 (i686-w64-mingw32 dwarf2 bootstrap fails with undefined reference to __EH_FRAME_BEGIN__)
PR target/67172
	* libgcc2.c (L__main): Undefine __LIBGCC_EH_FRAME_SECTION_NAME__ if
	__MINGW32__ is defined.

From-SVN: r234727
2016-04-04 22:29:02 +00:00
Bill Seurer
7134713caa MAINTAINERS (Write After Approval): Add myself.
2016-04-04  Bill Seurer  <seurer@linux.vnet.ibm.com>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r234724
2016-04-04 18:46:05 +00:00
Jakub Jelinek
f23f16d458 re PR middle-end/70307 (ICE: in gimplify_expr, at gimplify.c:10915 on valid code)
PR middle-end/70307
	* gcc.dg/torture/pr70307.c: Add -Wno-psabi to dg-options.  Prune
	rs6000 ABI warnings.

From-SVN: r234723
2016-04-04 19:20:53 +02:00
Segher Boessenkool
123451d73f gnattools: Clean config.cache (PR70173)
The config.cache file should be deleted by "make distclean", just like
config.log and config.status .  The directory itself is still not deleted
(just like the gotools and libcc1 directories).


gnattools/
	PR bootstrap/70173
	* Makefile.in (distclean): Also delete config.cache .

From-SVN: r234721
2016-04-04 18:37:58 +02:00
Jan Hubicka
d27ecc497c re PR ipa/66223 (Diagnostic of pure virtual function call broken, including __cxa_pure_virtual)
PR ipa/66223
	* ipa-devirt.c (maybe_record_node): Do not optimize cxa_pure_virtual
	calls when sanitizing.
	(possible_polymorphic_call_target_p)" FIx formating.
	* g++.dg/ipa/devirt-51.C: New testcase.

From-SVN: r234719
2016-04-04 15:54:39 +00:00
Bill Schmidt
c974c96edf re PR middle-end/70457 (ICE (segfault) in gimple_expand_builtin_pow on powerpc64le-linux-gnu)
[gcc]

2016-04-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
	    Jakub Jelinek <jakub@redhat.com>

	PR middle-end/70457
	* tree-inline.c (estimate_num_insn): Use gimple_call_builtin_p
	to ensure a call statement is compatible with a built-in's
	prototype.
	* tree-ssa-math-opts.c (pass_optimize_windening_mul::execute):
	Likewise.

[gcc/testsuite]

2016-04-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
	    Jakub Jelinek <jakub@redhat.com>

	PR middle-end/70457
	* gcc.dg/torture/pr70457.c: New.


Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r234716
2016-04-04 15:42:19 +00:00
Andre Vehreschild
7a85da896a re PR fortran/67538 (ICE with invalid source allocation)
gcc/fortran/ChangeLog:

2016-04-04  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/67538
	* resolve.c (resolve_allocate_expr): Emit error message when no
	array spec and no array valued source= expression is given in an
	F2008 allocate() for an array to allocate.

gcc/testsuite/ChangeLog:

2016-04-04  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/67538
	* gfortran.dg/allocate_with_source_19.f08: New test.

From-SVN: r234714
2016-04-04 12:32:32 +02:00
Andre Vehreschild
de517e644a re PR fortran/65795 (Segfault (invalid write) for ALLOCATE statement involving COARRAYS)
gcc/fortran/ChangeLog:

2016-04-04  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/65795
	* trans-array.c (gfc_array_allocate): When the array is a coarray,
	do not nullyfing its allocatable components in array_allocate, because
	the nullify missed the array ref and nullifies the wrong component.
	Cosmetics.

gcc/testsuite/ChangeLog:

2016-04-04  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/65795
	* gfortran.dg/coarray_allocate_6.f08: New test.

From-SVN: r234710
2016-04-04 11:32:28 +02:00
Richard Biener
43b9f49910 re PR rtl-optimization/70484 (Wrong optimization with aliasing and access via char)
2016-04-04  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/70484
	* rtl.h (canon_output_dependence): Declare.
	* alias.c (canon_output_dependence): New function.
	* dse.c (record_store): Use canon_output_dependence rather
	than canon_true_dependence.

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

From-SVN: r234709
2016-04-04 09:30:16 +00:00
Jan Hubicka
ed2a53e7ca re PR lto/68881 (UNRESOLVED/FAIL: gcc.dg/lto/attr-weakref-1 -O2 -flto)
PR ipa/68881
	* cgraph.h (symtab_node::copy_visibility_from): New function.
	* symtab.c (symtab_node::copy_visibility_from): New function.
	* ipa-visibility.c (optimize_weakref): New function.
	(function_and_variable_visibility): Use it.

From-SVN: r234708
2016-04-04 09:26:29 +00:00
Martin Liska
e8661ad6cf re PR hsa/70402 (HSA: SBR instruction can be undefined)
Fix PR hsa/70402

	PR hsa/70402
	* hsa-gen.c (gen_hsa_insns_for_switch_stmt): Guard index
	value that is really in range handled by SBR instruction.
	* hsa-brig.c (emit_switch_insn): Do not emit unconditional
	jump.
	* hsa-dump.c (dump_hsa_insn_1): Do not dump default BB.
	* hsa.h (hsa_insn_sbr::m_default_bb): Remove field.

From-SVN: r234707
2016-04-04 08:46:51 +00:00
Marek Polacek
f13355da30 re PR middle-end/70307 (ICE: in gimplify_expr, at gimplify.c:10915 on valid code)
PR c/70307
	* c-fold.c (c_fully_fold_internal): Handle VEC_COND_EXPR.

	* gcc.dg/torture/pr70307.c: New test.

From-SVN: r234706
2016-04-04 08:11:46 +00:00
GCC Administrator
dbc3f12558 Daily bump.
From-SVN: r234705
2016-04-04 00:16:16 +00:00
Oleg Endo
6cc6ed50e2 re PR target/70416 ([SH]: error: 'asm' operand requires impossible reload when building ruby2.3)
gcc/
	PR target/70416
	PR target/67391
	* config/sh/sh.md (*addsi3): Allow pattern when reload_in_progress is
	set, but not for SP_REG operands.

gcc/testsuite/
	PR target/70416
	PR target/67391
	* gcc.target/sh/torture/pr70416.c: New.

From-SVN: r234702
2016-04-03 12:50:54 +00:00
GCC Administrator
34d40e88a9 Daily bump.
From-SVN: r234701
2016-04-03 00:16:17 +00:00
Martin Sebor
abdc16c867 PR c++/67376 - [5/6 regression] Comparison with pointer to past-the-end
PR c++/67376 - [5/6 regression] Comparison with pointer to past-the-end
        of array fails inside constant expression
PR c++/70170 - [6 regression] bogus not a constant expression error comparing
        pointer to array to null
PR c++/70172 - incorrect reinterpret_cast from integer to pointer error
        on invalid constexpr initialization
PR c++/70228 - insufficient detail in diagnostics for a constexpr out of bounds
        array subscript

gcc/testsuite/ChangeLog:
2016-04-02  Martin Sebor  <msebor@redhat.com>

        PR c++/67376
        PR c++/70170
        PR c++/70172
        PR c++/70228
        * g++.dg/cpp0x/constexpr-array-ptr10.C: New test.
        * g++.dg/cpp0x/constexpr-array-ptr9.C: New test.
        * g++.dg/cpp0x/constexpr-nullptr-1.C: New test.
        * g++.dg/cpp0x/constexpr-array5.C: Adjust text of expected diagnostic.
        * g++.dg/cpp0x/constexpr-string.C: Same.
        * g++.dg/cpp0x/constexpr-wstring2.C: Same.
        * g++.dg/cpp0x/pr65398.C: Same.
        * g++.dg/ext/constexpr-vla1.C: Same.
        * g++.dg/ext/constexpr-vla2.C: Same.
        * g++.dg/ext/constexpr-vla3.C: Same.
        * g++.dg/ubsan/pr63956.C: Same.

gcc/cp/ChangeLog:
2016-04-02  Martin Sebor  <msebor@redhat.com>

        PR c++/67376
        PR c++/70170
        PR c++/70172
        PR c++/70228
        * constexpr.c (diag_array_subscript): New function.
        (cxx_eval_array_reference): Detect out of bounds array indices.

gcc/ChangeLog:
2016-04-02  Martin Sebor  <msebor@redhat.com>

        PR c++/67376
        * fold-const.c (maybe_nonzero_address): New function.
        (fold_comparison): Call it.  Fold equality and relational
        expressions involving null pointers.
        (tree_single_nonzero_warnv_p): Call maybe_nonzero_address.

From-SVN: r234698
2016-04-02 11:14:48 -06:00
Eric Botcazou
7d9979e629 decl.c (components_to_record): Restrict the previous change to fields with variable size.
* gcc-interface/decl.c (components_to_record): Restrict the previous
	change to fields with variable size.

From-SVN: r234696
2016-04-02 08:56:19 +00:00
Jason Merrill
ddd6d4211a re PR c++/70449 (ICE with -Wall on valid code on x86_64-linux-gnu in pp_string, at pretty-print.c:928)
PR c++/70449

	PR c++/70344
	* pt.c (instantiate_decl): A function isn't fully defined if
	DECL_INITIAL is error_mark_node.
	* constexpr.c (cxx_eval_call_expression): Likewise.

From-SVN: r234695
2016-04-01 21:35:45 -04:00
Ian Lance Taylor
bb72703282 runtime: Use atomic load for in entersyscall.
Reportedly fixes PPC64 deadlock.
    
    From a comment by Gabriel Russell.
    
    Fixes golang/go#15051.
    
    Reviewed-on: https://go-review.googlesource.com/21450

From-SVN: r234694
2016-04-02 00:47:53 +00:00
H.J. Lu
2e816b993d Add missing ChangeLog entry for PR target/70439
From-SVN: r234693
2016-04-01 17:24:44 -07:00
H.J. Lu
5ce43b77b9 Add missing ChangeLog entry for PR testsuite/70364
From-SVN: r234692
2016-04-01 17:18:41 -07:00
GCC Administrator
b7b937e8ec Daily bump.
From-SVN: r234691
2016-04-02 00:16:13 +00:00
Evandro Menezes
907e22e847 [AArch64] Fix SIMD predicate
Fix the predicate "aarch64_simd_reg_or_zero" to correctly validate the
"Y" constraint (scalar FP 0.0 immediate).

	* gcc/config/aarch64/predicates.md (aarch64_simd_reg_or_zero):
	Add the "const_double" to the list of operand constraints.

From-SVN: r234685
2016-04-01 19:55:52 +00:00
Jakub Jelinek
763cd859a1 re PR rtl-optimization/70467 (Useless "and [esp],-1" emitted on AND with uint64_t variable)
PR rtl-optimization/70467
	* config/i386/i386.md (*add<dwi>3_doubleword, *sub<dwi>3_doubleword):
	If low word of the last operand is 0, just emit addition/subtraction
	for the high word.

	* gcc.target/i386/pr70467-2.c: New test.

From-SVN: r234679
2016-04-01 18:08:21 +02:00