Commit Graph

144225 Commits

Author SHA1 Message Date
Jason Merrill
3a4219caad * ptree.c (debug_tree): Implement for cp_expr.
From-SVN: r233276
2016-02-10 10:34:45 -05:00
Yuri Rumyantsev
cdc23927ee re PR tree-optimization/69652 ([ICE] verify_ssa fail w/ -O2 -ffast-math -ftree-vectorize)
gcc/

2016-02-10  Yuri Rumyantsev  <ysrumyan@gmail.com>

	PR tree-optimization/69652
	* tree-vect-loop.c (optimize_mask_stores): Move declaration of STMT1
	to nested loop, did source re-formatting, skip debug statements,
	add check on statement with volatile operand, remove dead scalar
	statements.

gcc/testsuite/

2016-02-10  Yuri Rumyantsev  <ysrumyan@gmail.com>

	PR tree-optimization/69652
	* gcc.dg/torture/pr69652.c: New test.

From-SVN: r233275
2016-02-10 15:22:17 +00:00
Ian Lance Taylor
03a0ae7d98 re PR go/68562 (morestack misaligns stack on x86_64)
PR go/68562
	* config/i386/morestack.S (__stack_split_initialize): Align
	stack.

From-SVN: r233273
2016-02-10 15:14:05 +00:00
Jakub Jelinek
e199dd0a2f re PR ipa/69241 (ICE with noreturn and function that return non-POD)
PR ipa/69241
	PR c++/69649
	* gimplify.c (gimplify_modify_expr): Set lhs even for noreturn
	calls if the return type is TREE_ADDRESSABLE.
	* cgraphunit.c (cgraph_node::expand_thunk): Likewise.
	* ipa-split.c (split_function): Fix doubled "we" in comment.
	Use void return type for the split part even if
	!split_point->split_part_set_retval.

	* g++.dg/ipa/pr69241-1.C: New test.
	* g++.dg/ipa/pr69241-2.C: New test.
	* g++.dg/ipa/pr69241-3.C: New test.
	* g++.dg/ipa/pr69649.C: New test.

Co-Authored-By: Patrick Palka <ppalka@gcc.gnu.org>

From-SVN: r233271
2016-02-10 16:06:20 +01:00
Uros Bizjak
d6b38027a0 sra-17.c: Add -mcpu=ev4 for target alpha*-*-*.
* gcc.dg/tree-ssa/sra-17.c: Add -mcpu=ev4 for target alpha*-*-*.
	* gcc.dg/tree-ssa/sra-18.c: Ditto.

From-SVN: r233270
2016-02-10 15:41:59 +01:00
Bin Cheng
13b562c502 re PR tree-optimization/68021 (ice in rewrite_use_nonlinear_expr with -O3)
PR tree-optimization/68021
	* tree-ssa-loop-ivopts.c (get_computation_aff): Set ratio to 1 if
	when computing the value of biv cand by itself.

	gcc/testsuite/ChangeLog
	PR tree-optimization/68021
	* gcc.dg/tree-ssa/pr68021.c: New test.

From-SVN: r233269
2016-02-10 14:09:05 +00:00
Wilco Dijkstra
00a8574af2 Enable instruction fusion of dependent AESE; AESMC and AESD; AESIMC pairs.
This can give up to 2x speedup on many AArch64 implementations. Also model
the crypto instructions on Cortex-A57 according to the Optimization Guide.

    gcc/
        * config/aarch64/aarch64.c (cortexa53_tunings): Enable AES fusion.
        (cortexa57_tunings): Likewise.
        (cortexa72_tunings): Likewise.
        (arch_macro_fusion_pair_p): Add support for AES fusion.
        * config/aarch64/aarch64-fusion-pairs.def: Add AES_AESMC entry.
        * config/arm/aarch-common.c (aarch_crypto_can_dual_issue):
        Allow virtual registers before reload so early scheduling works.
        * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Use
        correct latency and pipeline.
        (cortex_a57_crypto_complex): Likewise.
        (cortex_a57_crypto_xor): Likewise.
        (define_bypass): Add AES bypass.

From-SVN: r233268
2016-02-10 12:52:23 +00:00
Richard Biener
24a179f835 re PR tree-optimization/69726 (Bogus warnings with -O3 -Wuninitialized because dead code after if-conversion)
2016-02-10  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69726
	* passes.def: Add DCE pass before late uninit.
	* match.pd: Add A ? B : (!A ? C : X) -> A ? B : C patterns to
	really fixup if-conversions job.

	* gcc.dg/uninit-22.c: New testcase.

From-SVN: r233267
2016-02-10 12:46:33 +00:00
Wilco Dijkstra
066c14c940 Enable instruction fusion of AES instructions on ARM for Cortex-A53 and
Cortex-A57.

    gcc/
        * config/arm/arm.c (arm_cortex_a53_tune): Enable AES fusion.
        (arm_cortex_a57_tune): Likewise.
        (aarch_macro_fusion_pair_p): Add support for AES fusion.
        * config/arm/arm-protos.h (fuse_ops): Add FUSE_AES_AESMC

From-SVN: r233266
2016-02-10 12:36:03 +00:00
Eric Botcazou
2cba7d7b63 timevar.def (TV_PHASE_DBGINFO): Delete.
* timevar.def (TV_PHASE_DBGINFO): Delete.
	(TV_PHASE_CHECK_DBGINFO): Likewise.
	* varpool.c (varpool_node::assemble_decl): Do not change timevar.

From-SVN: r233264
2016-02-10 11:22:29 +00:00
Richard Biener
6cd8854e3d re PR tree-optimization/69719 (wrong code at -O3 on x86_64-linux-gnu)
2016-02-10  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69719
	* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
	Adjust previous fix by ensuring that dr_a1 is left of dr_a2.

From-SVN: r233262
2016-02-10 08:36:03 +00:00
Andrew Pinski
0d99886f66 re PR tree-optimization/69282 (aarch64/armhf ICE on SPEC2006 464.h264ref at -O3)
2016-02-09  Andrew Pinski  <apinski@cavium.com>

        PR tree-opt/69282
        * optabs-tree.c (expand_vec_cond_expr_p): Don't early return if
        get_vcond_mask_icode returns false.

2016-02-09  Andrew Pinski  <apinski@cavium.com>

        PR tree-opt/69282
        * gcc.c-torture/compile/20160205-1.c: New testcase.

From-SVN: r233261
2016-02-09 19:13:53 -08:00
Ian Lance Taylor
de24ed7803 re PR go/69511 (G.gcstack_size uses uintptr instead of size_t)
PR go/69511
    runtime: change G gcstack_size field to size_t
    
    Because its address is passed to __splitstack_find, which expects size_t*.
    
    From Dominik Vogt in GCC PR 69511.
    
    Reviewed-on: https://go-review.googlesource.com/19429

From-SVN: r233260
2016-02-10 02:16:04 +00:00
GCC Administrator
6e56c866b6 Daily bump.
From-SVN: r233259
2016-02-10 00:16:12 +00:00
Joseph Myers
317ed42318 * fi.po: Update.
From-SVN: r233256
2016-02-09 23:37:02 +00:00
Michael Meissner
ab04995c1c re PR bootstrap/68404 (PGO/LTO bootstrap failure on ppc64le)
[gcc]
2016-02-09  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/68404
	* config/rs6000/predicates.md (fusion_gpr_addis): Prevent fusing
	an ADDIS that adds a pointer to a large constant that sets the
	upper16 bits with a load operation.

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

	PR target/68404
	* gcc.target/powerpc/fusion.c: Rewrite test to use TOC fusion
	instead accessing a really large arrray.
	* gcc.target/powerpc/fusion3.c: Likewise.

From-SVN: r233255
2016-02-09 22:31:31 +00:00
Mike Stump
af583c4457 Ensure stdout is newline terminated for status wrappers.
From-SVN: r233254
2016-02-09 20:18:10 +00:00
Daniel Starke
ca47576a26 re PR target/65867 (bootstrap fails for mingw32 due to missing header in ssp.c)
2015-04-25  Daniel Starke  <daniel.f.starke@freenet.de>

	PR target/65867
	* ssp.c: Added wincrypt.h include for Windows targets.

From-SVN: r233253
2016-02-09 12:16:30 -07:00
Charles Baylis
1149b83cbd [ARM] PR68532 Fix up vzip recognition for big endian
gcc/ChangeLog:

2016-02-09  Charles Baylis  <charles.baylis@linaro.org>

        PR target/68532
        * config/arm/arm.c (arm_evpc_neon_vzip): Allow for big endian lane
        order.
        * config/arm/arm_neon.h (vzipq_s8): Adjust shuffle patterns for big
        endian.
        (vzipq_s16): Likewise.
        (vzipq_s32): Likewise.
        (vzipq_f32): Likewise.
        (vzipq_u8): Likewise.
        (vzipq_u16): Likewise.
        (vzipq_u32): Likewise.
        (vzipq_p8): Likewise.
        (vzipq_p16): Likewise.

From-SVN: r233252
2016-02-09 18:49:05 +00:00
Charles Baylis
4b79ac23c6 [ARM] PR68532: Fix up vuzp for big endian
gcc/ChangeLog:

2016-02-09  Charles Baylis  <charles.baylis@linaro.org>

       PR target/68532
       * config/arm/arm.c (neon_endian_lane_map): New function.
       (neon_vector_pair_endian_lane_map): New function.
       (arm_evpc_neon_vuzp): Allow for big endian lane order.
       * config/arm/arm_neon.h (vuzpq_s8): Adjust shuffle patterns for big
       endian.
       (vuzpq_s16): Likewise.
       (vuzpq_s32): Likewise.
       (vuzpq_f32): Likewise.
       (vuzpq_u8): Likewise.
       (vuzpq_u16): Likewise.
       (vuzpq_u32): Likewise.
       (vuzpq_p8): Likewise.
       (vuzpq_p16): Likewise.

gcc/testsuite/ChangeLog:
2016-02-09  Charles Baylis  <charles.baylis@linaro.org>

       PR target/68532
       * gcc.c-torture/execute/pr68532.c: New test.

From-SVN: r233251
2016-02-09 18:47:55 +00:00
Alexandre Oliva
b890a4410b re PR target/69634 (-fcompare-debug failure (length) with -O2 -fno-dce -fschedule-insns -fno-tree-vrp @ i686)
2016-02-11  Alexandre Oliva  <aoliva@redhat.com>

	PR target/69634
	* regstat.c (regstat_bb_compute_calls_crossed): Disregard
	debug insns.

	PR target/69634
	* gcc.dg/pr69634.c: New.

From-SVN: r233250
2016-02-09 11:26:00 -07:00
Uros Bizjak
4849c1c7f6 i386.md (insv<mode>_1): Use gen_int_mode to truncate const_int operand 1 to QImode.
* config/i386/i386.md (insv<mode>_1): Use gen_int_mode to
	truncate const_int operand 1 to QImode.

From-SVN: r233249
2016-02-09 18:43:48 +01:00
Eric Botcazou
a864ad5ba2 gimple-ssa-backprop.c (optimize_phi): Do not replace an argument corresponding to an abnormal edge.
* gimple-ssa-backprop.c (optimize_phi): Do not replace an argument
	corresponding to an abnormal edge.

From-SVN: r233248
2016-02-09 17:21:57 +00:00
Joseph Myers
f10208b8e9 * de.po: Update.
From-SVN: r233246
2016-02-09 16:20:46 +00:00
Richard Biener
84a5bef772 vect-mask-store-move-1.c: Add missing space.
2016-02-09  Richard Biener  <rguenther@suse.de>

	* gcc.dg/vect/vect-mask-store-move-1.c: Add missing space.

From-SVN: r233245
2016-02-09 15:04:48 +00:00
Alexander Fomin
1f123759b5 Fix expectation in AVX512 logic instructions test.
gcc/testsuite

	* gcc.target/i386/avx512f-klogic-2.c: Adjust expectation.

From-SVN: r233243
2016-02-09 09:36:03 -05:00
Yuri Rumyantsev
65860c77cf vect-mask-store-move-1.c: Fix test failures.
gcc/testsuite/

2016-02-09  Yuri Rumyantsev  <ysrumyan@gmail.com>

	* gcc.dg/vect/vect-mask-store-move-1.c: Fix test failures.

From-SVN: r233241
2016-02-09 09:51:21 +00:00
Tom de Vries
17b6426cda Fix GOMP/GOACC_parallel optimization in ipa-pta
2016-02-09  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/69599
	* tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New
	function.
	(find_func_aliases_for_builtin_call, find_func_clobbers)
	(ipa_pta_execute):  Handle case that foo and foo._0 are not in same lto
	partition.

	* testsuite/libgomp.c/omp-nested-3.c: New test.
	* testsuite/libgomp.c/pr46032-2.c: New test.
	* testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
	* testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.

From-SVN: r233240
2016-02-09 08:52:26 +00:00
Richard Biener
7e1e8a0ae1 re PR middle-end/69715 (ICE: in store_bit_field_1, at expmed.c:839)
2016-02-09  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69715
	* tree-ssa.c (execute_update_addresses_taken): Mark non-decl
	LHS on calls as non-rewritable.

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

From-SVN: r233239
2016-02-09 08:35:22 +00:00
Bernd Schmidt
2746ac67d6 Add missing entry
From-SVN: r233238
2016-02-09 07:12:22 +00:00
Tom de Vries
34df756cd8 Handle -fdiagnostics-color in lto
2016-02-09  Tom de Vries  <tom@codesourcery.com>

	PR lto/69707
	* lto-wrapper.c (append_diag_options): New function.
	(compile_offload_image): Call append_diag_options.

	* testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.

From-SVN: r233237
2016-02-09 07:04:08 +00:00
Sandra Loosemore
806a4ad8fe re PR other/69722 (gcc/doc/extend.texi:7526: warning: node Constraints' is next for Extended Asm' in menu but not in sectioning)
2016-02-08  Sandra Loosemore <sandra@codesourcery.com>

	PR other/69722

	gcc/
	* doc/extend.texi (Flag Output Operands): Correct sectioning.
	Minor copy-edit to fix verb tenses.

From-SVN: r233236
2016-02-08 22:25:30 -05:00
Ian Lance Taylor
cc240aa7d1 re PR go/69357 (libgo refers to _end in a non-weak way)
PR go/69537
    runtime: Don't refer to _end symbol in shared library.
    
    Fixes GCC PR 69357.
    
    Reviewed-on: https://go-review.googlesource.com/19362

From-SVN: r233235
2016-02-09 00:34:55 +00:00
GCC Administrator
41798077bf Daily bump.
From-SVN: r233234
2016-02-09 00:16:13 +00:00
Patrick Palka
efb45a9f4a Fix PR c++/69139 (deduction failure with trailing return type)
gcc/cp/ChangeLog:

	PR c++/69139
	* parser.c (cp_parser_simple_type_specifier): Make the check
	for disambiguating between an 'auto' placeholder and an implicit
	template parameter more robust.

gcc/testsuite/ChangeLog:

	PR c++/69139
	* g++.dg/cpp0x/trailing12.C: New test.
	* g++.dg/cpp0x/trailing13.C: New test.

From-SVN: r233231
2016-02-08 23:06:21 +00:00
Patrick Palka
20a0c6f9bd Fix PR c++/69283 (auto deduction fails when ADL is required)
gcc/cp/ChangeLog:

	PR c++/69283
	PR c++/67835
	* decl2.c (mark_used): When given a TEMPLATE_DECL, return after
	setting its TREE_USED flag.

gcc/testsuite/ChangeLog:

	PR c++/69283
	PR c++/67835
	* g++.dg/cpp1y/auto-fn29.C: New test.
	* g++.dg/cpp1y/auto-fn30.C: New test.

From-SVN: r233230
2016-02-08 23:02:50 +00:00
Jason Merrill
1374a761eb re PR c++/69657 (abs() not inlined after including math.h)
PR c++/69657
	* name-lookup.c (do_nonmember_using_decl): Leave anticipated
	built-ins alone.

From-SVN: r233229
2016-02-08 17:07:54 -05:00
Jakub Jelinek
a162f3af80 re PR tree-optimization/69209 (ICE at -Os and above on x86_64-linux-gnu (verify_gimple failed))
PR tree-optimization/69209
	* ipa-split.c (split_function): If split part is not
	returning retval, retval has gimple type but is not
	gimple value, force it into a SSA_NAME first.

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

From-SVN: r233228
2016-02-08 21:07:56 +01:00
Jeff Law
4b4a9fbde8 re PR tree-optimization/68541 (Path splitting causes if-conversion miss)
PR tree-optimization/68541
	* gcc.dg/tree-ssa/split-path-1.c: Increase limit for number
	of statements allowed in join block for path splitting.

From-SVN: r233227
2016-02-08 12:52:50 -07:00
Jakub Jelinek
f68bc23fdd re PR c++/59627 (ICE with OpenMP "declare reduction" and -flto)
PR c++/59627
	* parser.c (cp_parser_omp_declare_reduction): Set assembler name
	of the DECL_OMP_DECLARE_REDUCTION_P decls.

	* g++.dg/gomp/pr59627.C: New test.

From-SVN: r233225
2016-02-08 19:23:03 +01:00
Jakub Jelinek
cfac5ed236 re PR ipa/69239 (g++.dg/ipa/devirt-c-3.C FAILs with -O2 -fPIC --param=early-inlining-insns=196)
PR ipa/69239
	* g++.dg/ipa/pr69239.C: New test.

From-SVN: r233224
2016-02-08 18:41:35 +01:00
David Malcolm
44714d8ce1 PR preprocessor/69664: fix rich_location::override_column
gcc/testsuite/ChangeLog:
	PR preprocessor/69664
	* gcc.dg/cpp/trad/comment-2.c: Add expected column number.
	* gcc.dg/cpp/warn-comments.c: Likewise.

libcpp/ChangeLog:
	PR preprocessor/69664
	* errors.c (cpp_diagnostic_with_line): Only call
	rich_location::override_column if the column is non-zero.
	* line-map.c (rich_location::override_column): Update columns
	within m_ranges[0].  Add assertions to verify that doing so is
	sane.

From-SVN: r233223
2016-02-08 17:33:45 +00:00
David Malcolm
f258ad62e3 jit: fix build after r233218 (build_common_tree_nodes)
gcc/jit/ChangeLog:
	* dummy-frontend.c (jit_langhook_init): Remove
	second argument to build_common_tree_nodes to
	track r233218.

From-SVN: r233222
2016-02-08 17:18:57 +00:00
Nicklas Bo Jensen
98c3965210 tree-ssa.texi (Preserving the virtual SSA form): Remove outdated section.
* doc/tree-ssa.texi (Preserving the virtual SSA form): Remove
	outdated section.

From-SVN: r233221
2016-02-08 09:35:24 -07:00
Marek Polacek
eba9e839de re PR c++/69688 (-Wsign-compare causes bogus error: size of array ‘uc_code’ is not an integral constant-expression)
PR c++/69688
	* constexpr.c (clear_cv_and_fold_caches): Renamed from clear_cv_cache.
	Call clear_fold_cache.
	* cp-tree.h: Adjust declaration.
	* decl.c (finish_enum_value_list): Call clear_cv_and_fold_caches
	rather than clear_cv_cache and clear_fold_cache.
	* typeck2.c (store_init_value): Call clear_cv_and_fold_caches.

	* g++.dg/init/const12.C: New test.

From-SVN: r233220
2016-02-08 15:40:33 +00:00
Jonathan Wakely
2158532f31 Remove accidentally added 'constexpr' in previous commit
* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
	added 'constexpr' in previous commit.
	* configure: Regenerate.

From-SVN: r233219
2016-02-08 15:37:59 +00:00
Bernd Schmidt
a011cd929d Remove -fshort-double
PR target/60410
	* tree.c (build_common_tree_nodes): Remove short_double argument.
	All callers changed.
	* tree.h (build_common_tree_nodes): Adjust declaration.
	* doc/invoke.texi (-fshort-double): Remove documentation.
	* config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
	MULTILIB_EXCEPTIONS): Remove -fshort-double variant.
	* lto-wrapper.c (merge_and_complain, append_compiler_options,
	append_linker_options): Don't handle OPT_fshort_double.
	
c-family/
	PR target/60410
	* c.opt (fshort-double): Remove.

testsuite/
	PR target/60410
	* gcc.dg/lto/pr55113_0.c: Remove test.

From-SVN: r233218
2016-02-08 15:36:16 +00:00
Jason Merrill
c0328be344 * convert.c (convert_to_integer_1): Re-indent.
From-SVN: r233217
2016-02-08 10:31:53 -05:00
Jason Merrill
415594bb5c re PR c++/69631 (Bogus overflow in constant expression error)
PR c++/69631

gcc/
	* convert.c (convert_to_integer_1): Check dofold on truncation
	distribution.
	(convert_to_pointer_maybe_fold, convert_to_real_maybe_fold)
	(convert_to_integer_maybe_fold, convert_to_complex_maybe_fold):
	Rename from *_nofold.
	* convert.h (convert_to_pointer_nofold, convert_to_integer_nofold)
	(convert_to_real_nofold, convert_to_complex_nofold): New inlines.
gcc/cp/
	* cp-tree.h (CONV_FOLD, CONV_BACKEND_CONVERT): New.
	* cvt.c (convert): Pass CONV_BACKEND_CONVERT.
	(ocp_convert): Use *_maybe_fold.
	(cp_convert_to_pointer): Add dofold parameter.
	* cp-gimplify.c (cp_fold) [CONVERT_EXPR]: Call convert.

From-SVN: r233216
2016-02-08 10:31:47 -05:00
Bernd Schmidt
ae9dd7f3f8 Fix latent LRA remat issue (PR68730)
PR rtl-optimization/68730
	* lra-remat.c (insn_to_cand_activation): New static variable.
	(lra_remat): Allocate and free it.
	(create_cand): New arg activation. Initialize a field in
	insn_to_cand_activation if it is nonnull.
	(create_cands): Pass the activation insn to create_cand when making
	a candidate involving an output reload.  Reorganize code a little.
	(do_remat): Keep track of active status of candidates in a separate
	bitmap.

From-SVN: r233215
2016-02-08 15:31:08 +00:00