144360 Commits

Author SHA1 Message Date
Jakub Jelinek
7082a7621a re PR target/69671 (FAIL: gcc.target/i386/avx512vl-vpmovqb-1.c scan-assembler-times vpmovqb[ \\t]+[^{\n]*%ymm[0-9]+[^\n]*%xmm[0-9]+{%k[1-7]}{z}(?)
PR target/69671
	* config/i386/sse.md (*<floatsuffix>floatv2div2sf2_mask_1,
	*avx512vl_<code>v2div2qi2_mask_1, *avx512vl_<code><mode>v4qi2_mask_1,
	*avx512vl_<code><mode>v8qi2_mask_1, *avx512vl_<code><mode>v4hi2_mask_1,
	*avx512vl_<code>v2div2hi2_mask_1, *avx512vl_<code>v2div2si2_mask_1,
	*avx512f_<code>v8div16qi2_mask_1): New insns.

From-SVN: r233545
2016-02-19 08:56:36 +01:00
Jason Merrill
747b61fcb3 mangle.c (maybe_check_abi_tags): Add for_decl parm.
* mangle.c (maybe_check_abi_tags): Add for_decl parm.  Call
	mangle_decl.
	(mangle_decl): Call maybe_check_abi_tags for function scope.
	(mangle_guard_variable): Call maybe_check_abi_tags here.
	(write_guarded_var_name): Not here.

From-SVN: r233544
2016-02-19 01:25:05 -05:00
GCC Administrator
654f089a92 Daily bump.
From-SVN: r233543
2016-02-19 00:16:16 +00:00
Bernd Edlinger
efd4bd05f3 re PR testsuite/68580 (FAIL: c-c++-common/tsan/pr65400-1.c -O0 execution test)
PR testsuite/68580
* c-c++-common/tsan/pr65400-1.c (v, q, o): Make 8-byte aligned.

From-SVN: r233538
2016-02-18 22:27:09 +00:00
Michael Meissner
2bf2078afb re PR bootstrap/68404 (PGO/LTO bootstrap failure on ppc64le)
[gcc]
2016-02-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/68404
	* config/rs6000/predicates.md (fusion_gpr_addis): Revert
	2016-02-09 change.

	* config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove
	earlyclobber from target.  Use wF constraint for fused memory
	address.
	(fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.

[gcc/testsuites]
2016-02-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/68404
	* gcc.target/powerpc/fusion.c: Revert the 2016-02-09 change.
	* gcc.target/powerpc/fusion3.c: Likewise.

From-SVN: r233532
2016-02-18 19:36:39 +00:00
Jakub Jelinek
c461d26383 Do not emit red stack zones for a fn with no_sanitize_address
PR sanitizer/69863
	* cfgexpand.c (asan_sanitize_stack_p): New function.
	(partition_stack_vars): Use the function.
	(expand_stack_vars): Likewise.
	(defer_stack_allocation): Likewise.
	(expand_used_vars): Likewise.

Co-Authored-By: Martin Liska <mliska@suse.cz>

From-SVN: r233524
2016-02-18 17:15:25 +00:00
Richard Biener
f003579e9c re PR middle-end/69553 (Optimizations O1/O2 makes std::array value incorrect when passed to function)
2016-02-18  Richard Biener  <rguenther@suse.de>

	PR middle-end/69553
	* fold-const.c (operand_equal_p): Properly compare offsets for
	IMAGPART_EXPR and ARRAY_REF.

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

From-SVN: r233520
2016-02-18 14:34:59 +00:00
Nick Clifton
cc7ab8a232 Fix PR number in changelog entries.
From-SVN: r233519
2016-02-18 13:23:06 +00:00
Nick Clifton
19233914d1 PR target/62554
PR target/69610
gcc     * config/arm/arm.c (arm_option_override_internal): Disable
        interworking if the target does not support thumb instructions.
        (arm_reload_in_hi): Handle the case where a register to register
        move needs reloading because there is no simple pattern to handle
        it.
        (arm_reload_out_hi): Likewise.

tests   * gcc.target/arm/pr62554.c: New test.
        * gcc.target/arm/pr69610-1.c: New test.
        * gcc.target/arm/pr69610-2.c: New test.

From-SVN: r233518
2016-02-18 13:00:07 +00:00
Richard Biener
23f2783968 re PR middle-end/69854 (ICE: tree check: expected class 'constant', have 'binary' (plus_expr) in generic_simplify_65, at generic-match.c:3110)
2016-02-18  Richard Biener  <rguenther@suse.de>

	PR middle-end/69854
	* match.pd: Don't use fold_binary or fold_unary for folding
	constants.

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

From-SVN: r233516
2016-02-18 08:43:58 +00:00
Ian Lance Taylor
43414a5dd3 libgo: Update to final Go 1.6 release.
Reviewed-on: https://go-review.googlesource.com/19592

From-SVN: r233515
2016-02-18 05:56:46 +00:00
Jason Merrill
fa837fb670 re PR c++/65985 (compiler segfault with assert() in constexpr constructor body)
PR c++/65985
	* constexpr.c (build_constexpr_constructor_member_initializers):
	Handle an additional STATEMENT_LIST.

From-SVN: r233514
2016-02-18 00:08:09 -05:00
Jason Merrill
bcb5f3c9f5 re PR c++/68585 (c++14 code accepted by 4.9 not accepted by 5 and 6)
PR c++/68585
	* constexpr.c (cxx_eval_bare_aggregate): Fix 'changed' detection.

From-SVN: r233513
2016-02-18 00:08:02 -05:00
Jason Merrill
50ccdf5bc2 re PR c++/68679 (gcc-5.2.1 ICE in C++11 anon union of structs with template fns, OK in gcc <= 4.9.3)
PR c++/68679
	* decl2.c (reset_type_linkage_2): Look through member templates.

From-SVN: r233512
2016-02-18 00:07:55 -05:00
GCC Administrator
f590daa42a Daily bump.
From-SVN: r233511
2016-02-18 00:16:12 +00:00
Jakub Jelinek
932c0da42d re PR c++/69850 (unnecessary -Wnonnull-compare warning)
PR c++/69850
	* gimplify.c (gimplify_cond_expr): Call gimple_set_no_warning
	on the cond_stmt from TREE_NO_WARNING on COND_EXPR_COND.
	* gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Don't
	warn on gimple_no_warning_p statements.

	* init.c (build_delete): Set TREE_NO_WARNING on ifexp.

	* g++.dg/warn/Wnonnull-compare-1.C: New test.

From-SVN: r233508
2016-02-17 23:27:24 +01:00
Jason Merrill
0f02dd56f5 re PR c++/69842 (Parameter deduction in polymorphic lambdas)
PR c++/69842
	* method.c (forward_parm): Split out from...
	(add_one_base_init): ...here.
	* lambda.c (maybe_add_lambda_conv_op): Use it.

From-SVN: r233506
2016-02-17 15:45:15 -05:00
Max Filippov
9bfcbdeecf xtensa: fix libgcc build with --text-section-literals
Functions __muldf3_aux, __divdf3_aux, __mulsf3_aux and __divsf3_aux
don't start with leaf_entry, so they need explicit .literal_position,
otherwise libgcc build fails in the presence of --text-section-literals.

2016-02-17  Max Filippov  <jcmvbkbc@gmail.com>
libgcc/
	* config/xtensa/ieee754-df.S (__muldf3_aux, __divdf3_aux): Add
	.literal_position before the function.
	* config/xtensa/ieee754-sf.S (__mulsf3_aux, __divsf3_aux):
	Likewise.

From-SVN: r233505
2016-02-17 20:21:48 +00:00
Jonathan Wakely
e8f289e597 extend.texi (C++ Attributes): Correct description of warn_unused type attribute.
* doc/extend.texi (C++ Attributes): Correct description of
	warn_unused type attribute.

From-SVN: r233502
2016-02-17 17:36:22 +00:00
Jerry DeLisle
efea09f21b re PR libfortran/69651 ([6 Regession] Usage of unitialized pointer io/list_read.c)
2016-02-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/69651
	* io/list_read.c (push_char4): Fix the pointer usage for xrealloc.

From-SVN: r233500
2016-02-17 16:48:57 +00:00
Bill Schmidt
1bed93e465 altivec.md (*altivec_lvxl_<mode>_internal): Output correct instruction.
[gcc]

2016-02-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output
	correct instruction.

[gcc/testsuite]

2012-02-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/vec-cg.c: New test.

From-SVN: r233499
2016-02-17 16:23:55 +00:00
Richard Biener
375374ad41 re PR rtl-optimization/69609 (block reordering consumes an inordinate amount of time, REE consumes much memory)
2016-02-17  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/69609
	* bb-reorder.c (struct bbro_basic_block_data): Add priority member.
	(find_traces_1_round): When ending a trace update cached priority
	of successors.
	(bb_to_key): Use cached priority when available.
	(copy_bb): Initialize cached priority.
	(reorder_basic_blocks_software_trace_cache): Likewise.

From-SVN: r233498
2016-02-17 14:57:58 +00:00
Richard Biener
57bfb13452 re PR testsuite/69586 (FAIL: gcc.dg/uninit-21.c for target defaulting to short enum)
2016-02-17  Richard Biener  <rguenther@suse.de>

	PR testsuite/69586
	* gcc.dg/uninit-21.c: Add -fno-short-enums.

From-SVN: r233497
2016-02-17 14:51:27 +00:00
Kyrylo Tkachov
a44e0ebb89 [AArch64] PR target/69161: Don't use special predicate for CCmode comparisons in expressions that require matching modes
PR target/69161
	* config/aarch64/predicates.md (aarch64_comparison_operator_mode):
	New predicate.
	(aarch64_comparison_operator): Break overly long line into two.
	(aarch64_comparison_operation): Likewise.
	* config/aarch64/aarch64.md (cstorecc4): Use
	aarch64_comparison_operator_mode instead of
	aarch64_comparison_operator.
	(cstore<mode>4): Likewise.
	(aarch64_cstore<mode>): Likewise.
	(*cstoresi_insn_uxtw): Likewise.
	(cstore<mode>_neg): Likewise.
	(*cstoresi_neg_uxtw): Likewise.

	* gcc.c-torture/compile/pr69161.c: New test.

From-SVN: r233496
2016-02-17 13:42:35 +00:00
Kyrylo Tkachov
ac4bf40708 [ARM] PR target/69161: Don't ignore mode when matching comparison operator in cstore-like patterns
PR target/69161
	* config/arm/predicates.md (arm_comparison_operator_mode):
	New predicate.
	* config/arm/arm.md (*mov_scc): Use arm_comparison_operator_mode
	instead of arm_comparison_operator.
	(*mov_negscc): Likewise.
	(*mov_notscc): Likewise.
	* config/arm/thumb2.md (*thumb2_mov_scc): Likewise.
	(*thumb2_mov_negscc): Likewise.
	(*thumb2_mov_negscc_strict_it): Likewise.
	(*thumb2_mov_notscc): Likewise.
	(*thumb2_mov_notscc_strict_it): Likewise.

From-SVN: r233495
2016-02-17 13:39:30 +00:00
David Sherwood
ffacd7263e re PR target/69532 (FAIL: gcc.target/arm/{vect-,}fmaxmin.c execution test on armv7)
2016-02-17  David Sherwood  <david.sherwood@arm.com>

    gcc/testsuite:
        PR target/69532
        * gcc.target/arm/fmaxmin.c: Change effective target to arm_v8_neon_hw.
        * gcc.target/arm/vect-fmaxmin.c: Likewise.

From-SVN: r233494
2016-02-17 13:16:31 +00:00
Wilco Dijkstra
1312b1ba11 As part of the final cleanup of aarch64_internal_mov_immediate a return was accidentally removed.
As part of the final cleanup of aarch64_internal_mov_immediate a return was
accidentally removed.  This causes the 2-instruction case to fallthrough
into the general case even when it found a match.  An example immediate is
0xcccccccccccccccd which was using 2 instructions in GCC5 but now requires 4.
Adding the return fixes the regressions.

2016-02-17  Wilco Dijkstra  <wdijkstr@arm.com>

    gcc/
	* config/aarch64/aarch64.c (aarch64_internal_mov_immediate):
	Add missing return.

From-SVN: r233490
2016-02-17 11:52:35 +00:00
Eric Botcazou
448db8d2f6 * gcc.dg/ifcvt-4.c: Skip on Visium.
From-SVN: r233489
2016-02-17 11:20:06 +00:00
Eric Botcazou
8072945b83 visium.c (machine_libfunc_index): New enum.
* config/visium/visium.c (machine_libfunc_index): New enum.
	(machine_libfuncs): New structure.
	(visium_libfuncs): New static variable.
	(TARGET_INIT_LIBFUNCS): Define to...
	(visium_init_libfuncs): ...this.  New function.
	(expand_block_move_4): Use the appropriate libfunc.
	(expand_block_move_2): Likewise.
	(expand_block_move_1): Likewise.
	(expand_block_set_4): Likewise.
	(expand_block_set_2): Likewise.
	(expand_block_set_1): Likewise.
	(visium_trampoline_init): Likewise.

From-SVN: r233488
2016-02-17 11:17:15 +00:00
Nick Clifton
01c93899e2 msp430.c (msp430_mcu_data): Sync with data from TI's devices.csv file as of March 2016.
* config/msp430/msp430.c (msp430_mcu_data): Sync with data from
	TI's devices.csv file as of March 2016.

From-SVN: r233487
2016-02-17 09:53:42 +00:00
Eric Botcazou
e2f0522e06 exp_ch4.adb (Expand_N_Indexed_Component): Active synchronization if the prefix denotes an entity which Has_Atomic_Components.
* exp_ch4.adb (Expand_N_Indexed_Component): Active synchronization if
	the prefix denotes an entity which Has_Atomic_Components.
	* gcc-interface/trans.c (node_is_atomic): Return true if the prefix
	denotes an entity which Has_Atomic_Components.

From-SVN: r233485
2016-02-17 09:21:58 +00:00
Eric Botcazou
bf17fe3f73 utils2.c (gnat_protect_expr): Make a SAVE_EXPR only for fat pointer or scalar types.
* gcc-interface/utils2.c (gnat_protect_expr): Make a SAVE_EXPR only
	for fat pointer or scalar types.

From-SVN: r233484
2016-02-17 09:08:09 +00:00
Tim Shen
244901a572 re PR libstdc++/69794 (std::regex_search match failure with regex object with flags grep|icase)
2016-02-16  Tim Shen  <timshen@google.com>

	PR libstdc++/69794
	* include/bits/regex_scanner.h: Add different special character
	sets for grep and egrep regex.
	* include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
	* testsuite/28_regex/regression.cc: Add new testcase.

From-SVN: r233482
2016-02-17 03:33:02 +00:00
Jason Merrill
6bab4c63c4 re PR c++/10200 (Weird clash with same names in different scopes)
PR c++/10200
	PR c++/69753
	* call.c, cp-tree.h, name-lookup.c, pt.c, search.c, semantics.c,
	tree.c, typeck2.c: Revert earlier changes.
	* parser.c (cp_parser_lookup_name): Ignore namespace-scope
	non-type templates after -> or .

From-SVN: r233481
2016-02-16 19:50:23 -05:00
GCC Administrator
a529923e35 Daily bump.
From-SVN: r233480
2016-02-17 00:16:12 +00:00
Kelvin Nilsen
ecf835e901 re PR target/48344 (powerpc ICE with -fstack-limit-register=r2)
[gcc]

2016-02-16  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	PR Target/48344
	* opts-global.c (handle_common_deferred_options): Introduce and
	initialize two global variables to remember command-line options
	specifying a stack-limiting register.
	* opts.h: Add extern declarations of the two new global variables. 
	* emit-rtl.c (init_emit_once): Initialize the stack_limit_rtx
	variable based on the values of the two new global variables.

[gcc/testsuite]

2016-02-16  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	PR Target/48344
	* gcc.target/powerpc/pr48344-1.c: New test.

From-SVN: r233477
2016-02-16 23:12:19 +00:00
Thomas Koenig
49a1164ae3 re PR fortran/69742 (ICE with -O3 and ASSOCIATE containing repeated expression)
2015-02-16  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/69742
	* frontend-passes.c (cfe-expr_0):  Don't register functions
	from within an ASSOCIATE statement.

2015-02-16  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/69742
	* gfortran.dg/associate_21.f90:  New test.

From-SVN: r233474
2016-02-16 21:10:00 +00:00
Jakub Jelinek
bf14eba23b re PR c/69835 (-Wnonnull diagnoses parameter comparisons with NULL even when those could have changed)
PR c/69835
	* common.opt (Wnonnull-compare): New warning.
	* doc/invoke.texi (-Wnonnull): Remove text about comparison
	of arguments against NULL.
	(-Wnonnull-compare): Document.
	* Makefile.in (OBJS): Add gimple-ssa-nonnull-compare.o.
	* tree-pass.h (make_pass_warn_nonnull_compare): Declare.
	* passes.def (pass_warn_nonnull_compare): Add.
	* gimple-ssa-nonnull-compare.c: New file.
c-family/
	* c.opt (Wnonnull-compare): Enable for -Wall.
c/
	* c-typeck.c (build_binary_op): Revert 2015-09-09 change.
cp/
	* typeck.c (cp_build_binary_op): Revert 2015-09-09 change.
testsuite/
	* c-c++-common/nonnull-1.c: Use -Wnonnull-compare instead of
	-Wnonnull in dg-options.
	* c-c++-common/nonnull-2.c: New test.

From-SVN: r233472
2016-02-16 21:46:17 +01:00
Jason Merrill
7128d6ab21 re PR c++/69657 (abs() not inlined after including math.h)
PR c++/69657
	* name-lookup.c (lookup_qualified_name): Add find_hidden parm.
	(set_decl_namespace): Pass it.  Complain about finding a hidden friend.
	* name-lookup.h: Adjust.

From-SVN: r233470
2016-02-16 14:01:49 -05:00
Eric Botcazou
7005800cd1 gigi.h (maybe_debug_type): New inline function.
* gcc-interface/gigi.h (maybe_debug_type): New inline function.
	* gcc-interface/misc.c (gnat_get_array_descr_info): Use it.
	Call maybe_character_value on the array bounds.  Get to the base type
	of the index type and call maybe_debug_type on it.
	* gcc-interface/utils.c (finish_character_type): Add special treatment

From-SVN: r233469
2016-02-16 18:01:04 +00:00
Eric Botcazou
8c7eac6260 misc.c (gnat_enum_underlying_base_type): New function.
* gcc-interface/misc.c (gnat_enum_underlying_base_type): New function.
	(LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Define to above.

From-SVN: r233467
2016-02-16 17:51:56 +00:00
James Greenhalgh
7c175186bc [AArch64] Remove AARCH64_EXTRA_TUNE_RECIP_SQRT from Cortex-A57 tuning
gcc/

	* config/aarch64/aarch64.c (cortexa57_tunings): Remove
	AARCH64_EXTRA_TUNE_RECIP_SQRT.

From-SVN: r233463
2016-02-16 16:04:42 +00:00
James Greenhalgh
1a33079e17 [Patch AArch64] Use software sqrt expansion always for -mlow-precision-recip-sqrt
gcc/

	* config/aarch64/aarch64.c (use_rsqrt_p): Always use software
	reciprocal sqrt for -mlow-precision-recip-sqrt.

From-SVN: r233462
2016-02-16 16:03:27 +00:00
James Greenhalgh
35a093b60b [Patch AArch64] GCC 6 regression in vector performance. - Fix vector initialization to happen with lane load instructions.
gcc/

	* config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor,
	always use lane loads to construct non-constant vectors.

gcc/testsuite/

	* gcc.target/aarch64/vector_initialization_nostack.c: New.


Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>

From-SVN: r233461
2016-02-16 16:02:09 +00:00
James Greenhalgh
51b3f0773f [Patch AArch64] Restrict 16-bit sqrdml{sa}h instructions to FP_LO_REGS
gcc/

	* config/aarch64/aarch64.md
	(arch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Fix register
	constraints for	operand 3.
	(aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise.

From-SVN: r233460
2016-02-16 15:59:51 +00:00
Jakub Jelinek
e387d491ab re PR tree-optimization/69801 (gcc ICE on valid code on x86_64-linux-gnu in "operand_equal_p")
PR middle-end/69801
	* gcc.dg/pr69801.c: Add empty dg-options.

From-SVN: r233459
2016-02-16 16:34:07 +01:00
James Norris
ba53919561 re PR c/64748 (OpenACC: "is not a variable" error with deviceptr())
PR c/64748

	gcc/c/
	* c-parser.c (c_parser_oacc_data_clause_deviceptr): Allow parms.

	gcc/cp/
	* parser.c (cp_parser_oacc_data_clause_deviceptr): Remove checking.
	* semantics.c (finish_omp_clauses): Add deviceptr checking.

	gcc/testsuite/
	* c-c++-common/goacc/deviceptr-1.c: Add tests.
	* g++.dg/goacc/deviceptr-1.c: New file.

From-SVN: r233458
2016-02-16 15:29:04 +00:00
Jakub Jelinek
2a2b8f6488 re PR tree-optimization/69820 (Test miscompiled with -O3 option)
PR tree-optimization/69820
	* tree-vect-patterns.c (type_conversion_p): Return false if
	*orig_type is unsigned single precision or boolean.
	(vect_recog_dot_prod_pattern, vect_recog_widen_mult_pattern):
	Formatting fix.

	* gcc.dg/vect/pr69820.c: New test.

Co-Authored-By: Richard Biener <rguenther@suse.de>

From-SVN: r233457
2016-02-16 16:16:48 +01:00
Jakub Jelinek
5aa7d94c2e re PR rtl-optimization/69764 (ICE on x86_64-linux-gnu at -O0 (in decompose, at rtl.h:2107))
PR rtl-optimization/69764
	PR rtl-optimization/69771
	* optabs.c (expand_binop): Ensure for shift optabs invalid CONST_INT
	op1 is valid for GET_MODE_INNER (mode) and force it into a reg.

From-SVN: r233456
2016-02-16 16:15:40 +01:00
Richard Biener
87440c298e re PR tree-optimization/69776 (Wrong optimization with aliasing)
2016-02-16  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69776
	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias
	sets from caller.
	(indirect_refs_may_alias_p): Likewise.
	(refs_may_alias_p_1): Pass alias sets as from ao_ref.
	* tree-ssa-sccvn.c (vn_reference_lookup): Also adjust vr alias-set
	according to tbaa_p.
	* tree-ssa-dom.c (lookup_avail_expr): Add tbaa_p flag.
	(optimize_stmt): For redundant store discovery do not allow tbaa.

	* gcc.dg/torture/pr69776-2.c: New testcase.

From-SVN: r233453
2016-02-16 15:00:45 +00:00