Commit Graph

142697 Commits

Author SHA1 Message Date
Richard Biener
be377c804b re PR tree-optimization/68553 (gcc.dg/vect/pr68445.c FAILs)
2015-11-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/68553
	* tree-vect-slp.c (vect_create_mask_and_perm): Skip VEC_PERM_EXPR
	generation for 1:1 permutations.
	(vect_transform_slp_perm_load): Detect 1:1 permutations.

From-SVN: r231006
2015-11-27 11:17:51 +00:00
Bernd Schmidt
c000cd7c93 Be more careful about barriers when speculating conditional stores.
* gimple.h (nonbarrier_call_p): Declare.
	* gimple.c (nonbarrier_call_p): New function.
	* tree-ssa-phiopt.c (nontrapping_dom_walker::before_dom_children):
	Also increment call phase for ASMs with vdef and potential barrier
	calls.

From-SVN: r231005
2015-11-27 10:05:36 +00:00
Kyrylo Tkachov
4d7b2a8a3b [RTL-ifcvt] Reject insns that are multiple_sets
* ifcvt.c (insn_valid_noce_process_p): Reject insn if it satisfies
	multiple_sets.
	(noce_try_cmove_arith): Add checking asserts that orig_a and orig_b
	are not modified by the final modified insns in the basic blocks.

From-SVN: r231004
2015-11-27 09:52:09 +00:00
Kyrylo Tkachov
14af28ba5a [RTL-ifcvt] PR rtl-optimization/68506: Fix emitting order of insns in IF-THEN-JOIN case
PR rtl-optimization/68506
	* ifcvt.c (noce_try_cmove_arith): Try emitting the else basic block
	first if emit_a exists or then_bb modifies 'b'.  Reindent if-else
	blocks.

	* gcc.c-torture/execute/pr68506.c: New test.

From-SVN: r231003
2015-11-27 09:49:38 +00:00
Martin Liska
b58d3df29f Fix memory leak in cilk
PR c++/68312
	* c-array-notation.c (fix_builtin_array_notation_fn):
	Use release_vec_vec instead of vec::release.
	(build_array_notation_expr): Likewise.
	(fix_conditional_array_notations_1): Likewise.
	(fix_array_notation_expr): Likewise.
	(fix_array_notation_call_expr): Likewise.
	PR c++/68312
	* cp-array-notation.c (expand_sec_reduce_builtin):
	Likewise.
	(create_array_refs): Replace argument with const reference.
	(expand_an_in_modify_expr): Likewise.
	(cp_expand_cond_array_notations): Likewise.
	(expand_unary_array_notation_exprs): Likewise.
	PR c++/68312
	* array-notation-common.c (cilkplus_extract_an_triplets):
	Release vector of vectors.
	* cilk.c (gimplify_cilk_spawn): Free allocated memory.
	PR c++/68312
	* vec.h (release_vec_vec): New function.

From-SVN: r231001
2015-11-27 09:36:20 +00:00
Jakub Jelinek
4d95edca12 re PR tree-optimization/68552 (ICE in in expand_expr_real_2 with -O2 -ftree-vectorize)
PR tree-optimization/68552
	* optabs.c (expand_vec_perm_1): Move vec_shr handling from here...
	(expand_vec_perm): ... here.  Do it regardless of vec_perm_const_optab
	or whether v0 == v1.

From-SVN: r231000
2015-11-27 10:01:20 +01:00
Jakub Jelinek
aec17bfe91 re PR c/63326 (whether a #pragma is a statement depends on the type of pragma)
PR c/63326
	* c-parser.c (c_parser_compound_statement_nostart): If
	last_label is true, use pragma_stmt instead of pragma_compound
	as second c_parser_pragma argument.
	(c_parser_omp_ordered, c_parser_omp_target_update,
	c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): Pass
	false as second argument to c_parser_skip_to_pragma_eol after
	diagnosing standalone directives used in pragma_stmt context.

	* parser.c (cp_parser_statement): Clear in_compound after labels.

	* gcc.dg/gomp/barrier-2.c (f2): Expect another error after label.
	* c-c++-common/gomp/pr63326.c: New test.

	* testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
	in between case label and OpenMP standalone directives.
	* testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.

From-SVN: r230999
2015-11-27 09:59:55 +01:00
Martin Liska
5e48d8a09e Replace spaces with tabs and remove trailing whitespaces
* tree-ssa-uninit.c: Fix whitespaces in the source file.
	The change is just automatical.

From-SVN: r230998
2015-11-27 08:43:56 +00:00
Martin Liska
2f0fc50514 Fix memory leak in tree-chkp.c
* tree-chkp.c (chkp_make_static_bounds): Release buffer
	used for string.

From-SVN: r230997
2015-11-27 08:39:00 +00:00
Martin Liska
12a18ca543 Fix parser memory leak in cilk_simd_fn_info
* parser.c (cp_parser_late_parsing_cilk_simd_fn_info):
	Release tokens.

From-SVN: r230996
2015-11-27 08:37:44 +00:00
Martin Liska
5cd366f386 Fix memory leak in loop_vec_info
* tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
	Do not release memory for comp_alias_ddrs.
	* tree-vect-loop.c (destroy_loop_vec_info): Release
	the memory for all loop_vec_info.

From-SVN: r230995
2015-11-27 08:37:23 +00:00
Martin Liska
ed37a6cf23 Fix memory leaks in IPA devirt
* ipa-devirt.c (ipa_devirt): Use auto_vec instead
	of a local-scope vec.
	(struct final_warning_record): Use auto_vec instead
	of vec.

From-SVN: r230994
2015-11-27 08:36:52 +00:00
Richard Biener
2ce2720078 re PR tree-optimization/68553 (gcc.dg/vect/pr68445.c FAILs)
2015-11-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/68553
	* tree-vect-slp.c (vect_get_mask_element): Remove.
	(vect_transform_slp_perm_load): Implement in a simpler way.

	* gcc.dg/vect/pr45752.c: Adjust.
	* gcc.dg/vect/slp-perm-4.c: Likewise.

From-SVN: r230993
2015-11-27 08:31:44 +00:00
GCC Administrator
f0a813f2ad Daily bump.
From-SVN: r230990
2015-11-27 00:16:15 +00:00
Martin Sebor
ed48be0ef3 Correctly handle ARM targets.
* g++.dg/init/new45.C (cookie_size): New constant set to a value
	appropriate for the target.
	(operator new[]): Use it.

From-SVN: r230987
2015-11-26 16:31:32 -07:00
Alexandre Oliva
1e5d7fd638 [PR67753] adjust for padding when bypassing memory in assign_parm_setup_block
Storing a register in memory as a full word and then accessing the
same memory address under a smaller-than-word mode amounts to
right-shifting of the register word on big endian machines.  So, if
BLOCK_REG_PADDING chooses upward padding for BYTES_BIG_ENDIAN, and
we're copying from the entry_parm REG directly to a pseudo, bypassing
any stack slot, perform the shifting explicitly.

This fixes the miscompile of function_return_val_10 in
gcc.target/aarch64/aapcs64/func-ret-4.c for target aarch64_be-elf
introduced in the first patch for 67753.

for  gcc/ChangeLog

	PR rtl-optimization/67753
	PR rtl-optimization/64164
	* function.c (assign_parm_setup_block): Right-shift
	upward-padded big-endian args when bypassing the stack slot.

From-SVN: r230985
2015-11-26 21:57:40 +00:00
Maciej W. Rozycki
4d6ca95b9a MIPS/GCC/doc: Reorder `-mcompact-branches='
Move the `-mcompact-branches=' option out of the middle of a block of
floating-point options.  The option is not related to FP in any way.
Place it immediately below other branch instruction selection options.

	* doc/invoke.texi (Option Summary) <MIPS Options>: Reorder
	`-mcompact-branches='.
	(MIPS Options): Likewise.

From-SVN: r230984
2015-11-26 20:50:54 +00:00
Mike Stump
e78dbb4aa4 Fix whitespacing.
From-SVN: r230983
2015-11-26 20:48:29 +00:00
Jakub Jelinek
1b21256287 * Makefile.in (build/genmatch.o): Depend on internal-fn.def.
From-SVN: r230982
2015-11-26 21:00:33 +01:00
Paolo Carlini
57fbfd5a55 re PR c++/67238 ([C++11][C++14]cc1plus crash for nested decltype expression in parameter pack in trailing return type when '-g' enabled)
2015-11-26  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/67238
	* g++.dg/cpp0x/pr67238.C: New.

From-SVN: r230981
2015-11-26 18:43:47 +00:00
Martin Sebor
83cc5c7a2f pr67876.C: Remove duplicate content.
gcc/testsuite/
	* g++.dg/pr67876.C: Remove duplicate content.

From-SVN: r230980
2015-11-26 11:01:02 -07:00
Andreas Arnez
9daf14d442 cp-gimplify.c (genericize_cp_loop): Change LOOP_EXPR's location to start of loop body instead of start of loop.
gcc/cp/ChangeLog:

2015-11-26  Andreas Arnez  <arnez@linux.vnet.ibm.com>

	* cp-gimplify.c (genericize_cp_loop): Change LOOP_EXPR's location
	to start of loop body instead of start of loop.

gcc/testsuite/ChangeLog:

2015-11-26  Andreas Arnez  <arnez@linux.vnet.ibm.com>

	* g++.dg/guality/pr67192.C: New test.

From-SVN: r230979
2015-11-26 17:52:01 +00:00
David Edelsohn
8b95719a65 install.texi (Prerequisites): Increase ISL requirement to 0.14 or 0.15.
* doc/install.texi (Prerequisites): Increase ISL requirement to
        0.14 or 0.15.

From-SVN: r230978
2015-11-26 11:57:23 -05:00
Jonathan Wakely
5930d87a2d Ensure another pretty-printer test uses C++98 mode
* testsuite/libstdc++-prettyprinters/debug.cc: Add -std=gnu++98 to
	dg-options and avoid use of uniform-init.

From-SVN: r230977
2015-11-26 16:25:55 +00:00
Torvald Riegel
e7f7330fed libitm: Use multiplicative hashing in the multi-lock TM method.
* method-ml.cc (ml_mg): Use multiplicative instead of simple hashing.
	(ml_wt_dispatch::pre_write): Adapt.
	(ml_wt_dispatch::pre_load): Likewise.

From-SVN: r230975
2015-11-26 16:10:54 +00:00
Jonathan Wakely
43a2362b94 Ensure pretty-printer test uses C++98 mode
* testsuite/libstdc++-prettyprinters/simple.cc: Add -std=gnu++98 to
	dg-options and avoid use of uniform-init.

From-SVN: r230973
2015-11-26 15:42:47 +00:00
Matthew Wahab
50469f7503 [AArch64] Add NEON intrinsics vqrdmlah_lane and vqrdmlsh_lane.
gcc/
	* gcc/config/aarch64/arm_neon.h
	(vqrdmlah_laneq_s16, vqrdmlah_laneq_s32): New.
	(vqrdmlahq_laneq_s16, vqrdmlahq_laneq_s32): New.
	(vqrdmlsh_lane_s16, vqrdmlsh_lane_s32): New.
	(vqrdmlshq_laneq_s16, vqrdmlshq_laneq_s32): New.
	(vqrdmlah_lane_s16, vqrdmlah_lane_s32): New.
	(vqrdmlahq_lane_s16, vqrdmlahq_lane_s32): New.
	(vqrdmlahh_s16, vqrdmlahh_lane_s16, vqrdmlahh_laneq_s16): New.
	(vqrdmlahs_s32, vqrdmlahs_lane_s32, vqrdmlahs_laneq_s32): New.
	(vqrdmlsh_lane_s16, vqrdmlsh_lane_s32): New.
	(vqrdmlshq_lane_s16, vqrdmlshq_lane_s32): New.
	(vqrdmlshh_s16, vqrdmlshh_lane_s16, vqrdmlshh_laneq_s16): New.
	(vqrdmlshs_s32, vqrdmlshs_lane_s32, vqrdmlshs_laneq_s32): New.

        gcc/testsuite
	* gcc.target/aarch64/advsimd-intrinsics/vqrdmlXh_lane.inc: New file,
	support code for vqrdml{as}h_lane tests.
	* gcc.target/aarch64/advsimd-intrinsics/vqrdmlah_lane.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vqrdmlsh_lane.c: New.

From-SVN: r230972
2015-11-26 15:19:57 +00:00
Matthew Wahab
0c6110a126 [AArch64] Add NEON intrinsics vqrdmlah and vqrdmlsh.
gcc/
	* gcc/config/aarch64/arm_neon.h (vqrdmlah_s16, vqrdmlah_s32): New.
	(vqrdmlahq_s16, vqrdmlahq_s32): New.
	(vqrdmlsh_s16, vqrdmlsh_s32): New.
	(vqrdmlshq_s16, vqrdmlshq_s32): New.

        gcc/testsuite
	* gcc.target/aarch64/advsimd-intrinsics/vqrdmlXh.inc: New file,
	support code for vqrdml{as}h tests.
	* gcc.target/aarch64/advsimd-intrinsics/vqrdmlah.c: New.
	* gcc.target/aarch64/advsimd-intrinsics/vqrdmlsh.c: New.

From-SVN: r230971
2015-11-26 15:13:02 +00:00
Matthew Wahab
a1d5d08d25 [AArch64][dejagnu] Dejagnu support for ARMv8.1 Adv.SIMD.
gcc/testsuite
	* lib/target-supports.exp (add_options_for_arm_v8_1a_neon): New.
	(check_effective_target_arm_arch_FUNC_ok)
	(add_options_for_arm_arch_FUNC)
	(check_effective_target_arm_arch_FUNC_multilib): Add "armv8.1-a"
	to the list to be generated.
	(check_effective_target_arm_v8_1a_neon_ok_nocache): New.
	(check_effective_target_arm_v8_1a_neon_ok): New.
	(check_effective_target_arm_v8_1a_neon_hw): New.

From-SVN: r230970
2015-11-26 15:06:04 +00:00
Matthew Wahab
89c9a60c99 [AArch64] Add ACLE feature macro for ARMv8.1 Adv.SIMD instructions.
* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add
	ARM_FEATURE_QRDMX.

From-SVN: r230969
2015-11-26 14:59:10 +00:00
Pierre-Marie de Rodat
ed881c38ad DWARF: fix loc. descr. generation for DW_AT_static_link
gcc/ChangeLog:

	PR debug/53927
	* tree-nested.c (finalize_nesting_tree_1): Append a field to
	hold the frame base address.
	* dwarf2out.c (gen_subprogram_die): Generate for
	DW_AT_static_link a location description that computes the value
	of this field.

From-SVN: r230968
2015-11-26 14:56:24 +00:00
Tom de Vries
09c5c12e56 Revert "Improve verification of loop->latch in verify_loop_structure"
2015-11-26  Tom de Vries  <tom@codesourcery.com>

	revert:
	2015-11-25  Tom de Vries  <tom@codesourcery.com>

	* cfgloop.c (find_single_latch): New function, factored out of ...
	(flow_loops_find): ... here.
	(verify_loop_structure): Improve verification of loop->latch.
	* cfgloop.h (find_single_latch): Declare.
	* omp-low.c (expand_omp_for_generic): Initialize latch of orig_loop.

From-SVN: r230967
2015-11-26 14:35:27 +00:00
Matthew Wahab
941dd9a0ba aarch64-simd-builtins.def: Add missing changes from r230962.
* config/aarch64/aarch64-simd-builtins.def:
	Add missing changes from r230962.

From-SVN: r230966
2015-11-26 14:17:04 +00:00
Nathan Sidwell
863af9a44a nvptx.c (write_func_decl_from_insn): Replace callee arg with name.
* config/nvptx/nvptx.c (write_func_decl_from_insn): Replace callee
	arg with name.  Don't deal with split regs.  Tweak formatting.
	(nvptx_expand_call): Adjust write_func_decl_from_insn call.
	(nvptx_output_call_insn): Don't deal with split regs here.

	testsuite/
	* gcc.target/nvptx/proto-1.c: Adjust expected asm.

From-SVN: r230965
2015-11-26 14:13:28 +00:00
Richard Biener
5977cb070e re PR tree-optimization/68555 (gcc.dg/vect/bb-slp-10.c FAILs)
2015-11-26  Richard Biener  <rguenther@suse.de>

	PR testsuite/68555
	* gcc.dg/vect/bb-slp-10.c: Adjust pattern, use target selector
	and not XFAIL.

From-SVN: r230963
2015-11-26 14:01:26 +00:00
Matthew Wahab
2f50396d05 [AArch64] Add builtins for ARMv8.1 Adv.SIMD instructions.
* config/aarch64/aarch64-simd-builtins.def
	(sqrdmlah, sqrdmlsh): New.
	(sqrdmlah_lane, sqrdmlsh_lane): New.
	(sqrdmlah_laneq, sqrdmlsh_laneq): New.

From-SVN: r230962
2015-11-26 13:57:42 +00:00
Richard Biener
7ec0b0d588 re PR tree-optimization/68554 (gcc.dg/vect/bb-slp-subgroups-2.c FAILs)
2015-11-26  Richard Biener  <rguenther@suse.de>

	PR testsuite/68554
	* gcc.dg/vect/bb-slp-subgroups-2.c: Require vect_perm.

From-SVN: r230961
2015-11-26 13:51:40 +00:00
Matthew Wahab
57b26d65cd [AArch64] Add sqrdmah, sqrdmsh instructions.
* config/aarch64/aarch64-simd.md
	(aarch64_sqmovun<mode>): Fix some white-space.
	(aarch64_<sur>qmovun<mode>): Likewise.
	(aarch64_sqrdml<SQRDMLH_AS:rdma_as>h<mode>): New.
	(aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): New.
	(aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): New.
	* config/aarch64/iterators.md (UNSPEC_SQRDMLAH): New.
	(UNSPEC_SQRDMLSH): New.
	(SQRDMLH_AS): New.
	(rdma_as): New.

From-SVN: r230959
2015-11-26 13:50:47 +00:00
Uros Bizjak
afad440642 * g++.dg/tree-ssa/pr61034.C: Scan tree dumps also for alpha*-*-*.
From-SVN: r230958
2015-11-26 14:50:19 +01:00
Richard Biener
b9e86e2ca1 re PR tree-optimization/66721 (gcc.target/i386/pr61403.c FAILs)
2015-11-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66721
	* tree-vect-loop.c (vect_analyze_loop_2): Compute scalar
	iteration cost earlier.  Re-do analysis without SLP when
	vectorization using SLP fails and without has a chance to succeed.

From-SVN: r230956
2015-11-26 13:46:59 +00:00
Richard Biener
6be52f624e genmatch.c (dt_simplify::gen_1): For generic wrap all multi-result-use captures in a SAVE_EXPR.
2015-11-26  Richard Biener  <rguenther@suse.de>

	* genmatch.c (dt_simplify::gen_1): For generic wrap all
	multi-result-use captures in a SAVE_EXPR.

From-SVN: r230955
2015-11-26 13:45:45 +00:00
David Edelsohn
3e0fb1a3e3 Fix typo
From-SVN: r230954
2015-11-26 08:44:36 -05:00
Matthew Wahab
a3735e01f9 [AArch64] Add support for ARMv8.1 Adv.SIMD instructions.
* config/aarch64/aarch64.h (AARCH64_ISA_RDMA): New.
	(TARGET_SIMD_RDMA): New.

From-SVN: r230953
2015-11-26 13:39:20 +00:00
David Edelsohn
6cfe90e6d7 * configure: Regenerate.
From-SVN: r230950
2015-11-26 08:27:21 -05:00
David Edelsohn
f95207445b * configure: Regenerate.
From-SVN: r230949
2015-11-26 08:24:19 -05:00
David Edelsohn
cc3baaa963 * libtool.m4 (export_symbols_cmds) [AIX]: Add global TLS "L" symbols.
From-SVN: r230948
2015-11-26 08:20:59 -05:00
Paolo Carlini
7070a0fab2 re PR c++/67249 ([concepts] ICE parsing f(pair<auto, concept>))
2015-11-26  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/67249
	* g++.dg/concepts/pr67249.C: New.

From-SVN: r230947
2015-11-26 13:14:45 +00:00
Kyrylo Tkachov
f0e8751330 [combine] Only restrict pure simplification in mult-extend subst case, allow other substitutions
* combine.c (subst): Do not return clobber of zero in widening mult
	case.  Just return x unchanged if it is a no-op substitution.

From-SVN: r230946
2015-11-26 13:07:29 +00:00
Richard Biener
5564c379b0 re PR testsuite/66799 (gcc.dg/vect/pr20122.c FAILs)
2015-11-26  Richard Biener  <rguenther@suse.de>

	PR testsuite/66799
	* gcc.dg/vect/pr20122.c (main): Do not align Kernel, do not
	vectorize init loop and adjust expected outcome.

From-SVN: r230943
2015-11-26 12:15:43 +00:00
Eric Botcazou
89a01fcf4c re PR c++/68527 (ICE with -fdump-ada-spec on invalid C++ 11 code)
PR c++/68527
	* c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
	(print_ada_struct_decl): Likewise.

From-SVN: r230942
2015-11-26 12:04:50 +00:00