Commit Graph

142711 Commits

Author SHA1 Message Date
Nathan Sidwell 01be58559c nvptx.h (FIRST_PARM_OFFSET): Add void cast.
* config/nvptx/nvptx.h (FIRST_PARM_OFFSET): Add void cast.
	(FRAME_POINTER_CFA_OFFSET): Define.
	(struct nvptx_args): Use 'tree' type.
	(INIT_CUMULATIVE_ARGS): Remove unnecessary do...while.

From-SVN: r231038
2015-11-28 23:24:20 +00:00
Tom de Vries cdde47a670 Handle flinker-output in lto-wrapper
2015-11-28  Tom de Vries  <tom@codesourcery.com>

	* lto-wrapper.c (run_gcc): Handle -flinker-output argument.

From-SVN: r231033
2015-11-28 16:26:01 +00:00
Matthias Klose c14826cfc9 re PR ada/68564 (Ada fails to bootstrap on sparc64-linux-gnu)
2015-11-28  Matthias Klose  <doko@ubuntu.com>

        PR ada/68564
        * gcc-interface/Makefile.in: Fix sparc/sparc64 bitness detection.

From-SVN: r231028
2015-11-28 02:39:20 +00:00
GCC Administrator 09a49a482c Daily bump.
From-SVN: r231027
2015-11-28 00:16:12 +00:00
Jakub Jelinek 8e4e471966 re PR libgomp/68579 (FAIL: libgomp.c/target-32.c execution test)
PR libgomp/68579
	* task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
	(gomp_create_target_task): Call it before freeing
	GOMP_TARGET_TASK_DATA tasks.

From-SVN: r231023
2015-11-27 20:33:33 +01:00
Jonathan Wakely 2c2176f518 Copy-edit the Option Summary in invoke.texi
* doc/invoke.texi (Option Summary): Use negative form of
	-Waggressive-loop-optimizations, remove redundant -Wpedantic-ms-format,
	sort alphabetically and re-justify.

From-SVN: r231022
2015-11-27 18:38:48 +00:00
Vladimir Makarov 0b87be09b0 re PR rtl-optimization/68536 (LRA ICEs with new arm pattern)
2015-11-27  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/68536
	* lra.c (lra_emit_add): Add code for null base.
	* lra-constraints.c (curr_insn_transform): Skip operators for
	subreg reloads.

From-SVN: r231021
2015-11-27 18:26:12 +00:00
Pedro Alves 921da19854 PR other/61321 - demangler crash on casts in template parameters
The fix for bug 59195:

 [C++ demangler handles conversion operator incorrectly]
 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59195

unfortunately makes the demangler crash due to infinite recursion, in
case of casts in template parameters.

For example, with:

 template<int> struct A {};
 template <typename Y> void function_temp(A<sizeof ((Y)(999))>) {}
 template void function_temp<int>(A<sizeof (int)>);

The 'function_temp<int>' instantiation above mangles to:

  _Z13function_tempIiEv1AIXszcvT_Li999EEE

The demangler parses this as:

typed name
  template
    name 'function_temp'
    template argument list
      builtin type int
  function type
    builtin type void
    argument list
      template                          (*)
        name 'A'
        template argument list
          unary operator
            operator sizeof
            unary operator
              cast
                template parameter 0    (**)
              literal
                builtin type int
                name '999'

And after the fix for 59195, due to:

 static void
 d_print_cast (struct d_print_info *dpi, int options,
	       const struct demangle_component *dc)
 {
 ...
   /* For a cast operator, we need the template parameters from
      the enclosing template in scope for processing the type.  */
   if (dpi->current_template != NULL)
     {
       dpt.next = dpi->templates;
       dpi->templates = &dpt;
       dpt.template_decl = dpi->current_template;
     }

when printing the template argument list of A (what should be "<sizeof
(int)>"), the template parameter 0 (that is, "T_", the '**' above) now
refers to the first parameter of the the template argument list of the
'A' template (the '*' above), exactly what we were already trying to
print.  This leads to infinite recursion, and stack exaustion.  The
template parameter 0 should actually refer to the first parameter of
the 'function_temp' template.

Where it reads "for the cast operator" in the comment in d_print_cast
(above), it's really talking about a conversion operator, like:

  struct A { template <typename U> explicit operator U(); };

We don't want to inject the template parameters from the enclosing
template in scope when processing a cast _expression_, only when
handling a conversion operator.

The problem is that DEMANGLE_COMPONENT_CAST is currently ambiguous,
and means _both_ 'conversion operator' and 'cast expression'.

Fix this by adding a new DEMANGLE_COMPONENT_CONVERSION component type,
which does what DEMANGLE_COMPONENT_CAST does today, and making
DEMANGLE_COMPONENT_CAST just simply print its component subtree.

I think we could instead reuse DEMANGLE_COMPONENT_CAST and in
d_print_comp_inner still do:

 @@ -5001,9 +5013,9 @@ d_print_comp_inner (struct d_print_info *dpi, int options,
        d_print_comp (dpi, options, dc->u.s_extended_operator.name);
        return;

     case DEMANGLE_COMPONENT_CAST:
       d_append_string (dpi, "operator ");
 -     d_print_cast (dpi, options, dc);
 +     d_print_conversion (dpi, options, dc);
       return;

leaving the unary cast case below calling d_print_cast, but seems to
me that spliting the component types makes it easier to reason about
the code.

g++'s testsuite actually generates three symbols that crash the
demangler in the same way.  I've added those as tests in the demangler
testsuite as well.

And then this fixes PR other/61233 too, which happens to be a
demangler crash originally reported to GDB, at:
https://sourceware.org/bugzilla/show_bug.cgi?id=16957

Bootstrapped and regtested on x86_64 Fedora 20.

Also ran this through GDB's testsuite.  GDB will require a small
update to use DEMANGLE_COMPONENT_CONVERSION in one place it's using
DEMANGLE_COMPONENT_CAST in its sources.

libiberty/
2015-11-27  Pedro Alves  <palves@redhat.com>

        PR other/61321
        PR other/61233
        * demangle.h (enum demangle_component_type)
        <DEMANGLE_COMPONENT_CONVERSION>: New value.
        * cp-demangle.c (d_demangle_callback, d_make_comp): Handle
        DEMANGLE_COMPONENT_CONVERSION.
        (is_ctor_dtor_or_conversion): Handle DEMANGLE_COMPONENT_CONVERSION
        instead of DEMANGLE_COMPONENT_CAST.
        (d_operator_name): Return a DEMANGLE_COMPONENT_CONVERSION
        component if handling a conversion.
        (d_count_templates_scopes, d_print_comp_inner): Handle
        DEMANGLE_COMPONENT_CONVERSION.
        (d_print_comp_inner): Handle DEMANGLE_COMPONENT_CONVERSION instead
        of DEMANGLE_COMPONENT_CAST.
        (d_print_cast): Rename as ...
        (d_print_conversion): ... this.  Adjust comments.
        (d_print_cast): Rewrite - simply print the left subcomponent.
        * cp-demint.c (cplus_demangle_fill_component): Handle
        DEMANGLE_COMPONENT_CONVERSION.

        * testsuite/demangle-expected: Add tests.

From-SVN: r231020
2015-11-27 14:48:21 +00:00
Kyrylo Tkachov 23e4d0b369 Fix FAIL: gcc.c-torture/execute/20050124-1.c -O2 (internal compiler error)
Revert
	2015-11-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* 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: r231019
2015-11-27 14:39:34 +00:00
Nathan Sidwell 7b8edc2989 nvptx-protos.h (nvptx_addr_space_from_address): Don't declare.
* config/nvptx/nvptx-protos.h (nvptx_addr_space_from_address):
	Don't declare.
	* config/nvptx/nvptx.c (nvptx_addr_space_from_sym): New.
	(nvptx_maybe_convert_symbolic_operand): Simplify.
	(nvptx_addr_space_from_address): Delete.
	(nvptx_print_operand): Adjust 'A' case.

From-SVN: r231016
2015-11-27 14:22:26 +00:00
Richard Biener 72c0f64330 re PR tree-optimization/68559 (Excessive peeling for gaps)
2015-11-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/68559
	* tree-vect-data-refs.c (vect_analyze_group_access_1): Move
	peeling for gap checks ...
	* tree-vect-stmts.c (vectorizable_load): ... here and relax
	for SLP.
	* tree-vect-loop.c (vect_analyze_loop_2): Re-set
	LOOP_VINFO_PEELING_FOR_GAPS before re-trying without SLP.

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

From-SVN: r231015
2015-11-27 14:17:28 +00:00
Nathan Sidwell 00e5241831 nvptx-protos.h (nvptx_record_needed_decl): Don't declaree.
* config/nvptx/nvptx-protos.h (nvptx_record_needed_decl): Don't
	declaree.
	* config/nvptx/nvptx.c (write_func_decl_from_insn): Move earlier.
	(nvptx_record_fndecl): Don't return value, remove force
	argyment. Require fndecl.
	(nvptx_record_libfunc): New.
	(nvptx_record_needed_decl): Deteermine how to record decl here.
	(nvptx_maybe_record_fnsym): New.
	(nvptx_expand_call): Don't record libfuncs here,
	(nvptx_maybe_convert_symbolic_operand): Use
	nvptx_maye_record_fnsym.
	(nvptx_assemble_integer): Reimplement with single switch.
	(nvptx_output_call_insn): Register libfuncs here.
	(nvptx_file_end): Adjust  nvptx_record_fndecl call.
	* config/nvptx/nvptx.md (expand_movdi): Don't call
	nvptx_record_needed_decl.

From-SVN: r231013
2015-11-27 13:57:09 +00:00
Jakub Jelinek f574fc3ac5 re PR rtl-optimization/68250 (wrong code at -O2 and -O3 on x86_64-linux-gnu (in 64-bit mode))
PR rtl-optimization/68250
	* gcc.c-torture/execute/pr68250.c: New test.

From-SVN: r231009
2015-11-27 13:12:35 +01:00
Marek Polacek af719b2d78 * gcc.dg/pr63568.c: Convert to GIMPLE.
From-SVN: r231007
2015-11-27 11:38:46 +00:00
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