Commit Graph

129920 Commits

Author SHA1 Message Date
DJ Delorie
5f35dde552 msp430.c (msp430_builtin): Add MSP430_BUILTIN_DELAY_CYCLES.
* config/msp430/msp430.c (msp430_builtin): Add
MSP430_BUILTIN_DELAY_CYCLES.
(msp430_init_builtins): Register void __delay_cycles(long long).
(msp430_builtin_decl): Add it.
(cg_magic_constant): New.
(msp430_expand_delay_cycles): New.
(msp430_expand_builtin): Call it.
(msp430_print_operand_raw): Change integer printing from "int" to
HOST_WIDE_INT.
* config/msp430/msp430.md (define_constants): Add delay_cycles tags.
(delay_cycles_start): New.
(delay_cycles_end): New.
(delay_cycles_32): New.
(delay_cycles_32x): New.
(delay_cycles_16): New.
(delay_cycles_16x): New.
(delay_cycles_2): New.
(delay_cycles_1): New.
* doc/extend.texi: Document __delay_cycles().

From-SVN: r210441
2014-05-14 17:27:21 -04:00
Sandra Loosemore
5d40b20f6e nios2.md (nios2_cbranch): Fix paste-o in length attribute computation.
2014-05-14  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/nios2/nios2.md (nios2_cbranch): Fix paste-o in
	length attribute computation.

From-SVN: r210440
2014-05-14 17:18:33 -04:00
Paolo Carlini
014397c22e cp-tree.h (DIRECT_LIST_INIT_P): Add.
2014-05-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* cp-tree.h (DIRECT_LIST_INIT_P): Add.
	* call.c (convert_like_real, build_new_method_call_1): Use it.
	* decl2.c (grokfield): Likewise.
	* init.c (perform_member_init, build_aggr_init, expand_default_init,
	build_new_1): Likewise.
	* mangle.c (write_expression): Likewise.
	* parser.c (cp_parser_late_parse_one_default_arg): Likewise.

From-SVN: r210438
2014-05-14 20:56:04 +00:00
Bernd Edlinger
d40aeed84d Fix current cygwin build problems.
2014-05-14  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Fix current cygwin build problems.
        * seh_init.c (__gnat_map_SEH): Compile also when __CYGWIN__ and __SEH__
        are defined.  Move include windows.h before system.h.
        * s-oscons-tmplt.c (DTR_CONTROL_ENABLE, RTS_CONTROL_ENABLE): Compile
        also when __CYGWIN__ is defined.  Include windef.h before winbase.h.

From-SVN: r210437
2014-05-14 17:15:06 +00:00
Jason Merrill
d02f620dc0 re PR c++/20332 (poor diagnostic when bind non lvalue to a reference for default arguments)
PR c++/20332
	PR c++/21631
	* call.c (reference_binding): Treat lvalue/rvalue mismatch and
	dropped cv-quals as a bad conversion.
	(convert_like_real) [ck_ref_bind]: Explain them.
	(compare_ics): Check badness before stripping reference
	bindings.  Handle comparing bad reference bindings.
	* typeck.c (comp_cv_qualification): Add overload that just takes
	integers.
	* cp-tree.h: Declare it.

From-SVN: r210436
2014-05-14 12:48:07 -04:00
Jason Merrill
89606913ce call.c (struct conversion_info): Rename 'from_type' to 'from'.
* call.c (struct conversion_info): Rename 'from_type' to 'from'.
	(arg_conversion_rejection, bad_arg_conversion_rejection)
	(explicit_conversion_rejection, template_conversion_rejection): Adjust.
	(add_function_candidate): Pass actual argument, rather than type, to
	bad_arg_conversion_rejection.
	(print_conversion_rejection): Explain what's wrong with the conversion.
	(print_z_candidate): Say "candidate:" before each candidate.
	(splice_viable): Be strict if we see a viable or template candidate.
	(build_user_type_conversion_1): Pass false to strict parameter.
	(perform_overload_resolution, build_conditional_expr_1): Likewise.
	(build_new_op_1, build_new_method_call_1): Likewise.
	(build_op_call_1): Pass true to strict parameter.

From-SVN: r210435
2014-05-14 12:47:54 -04:00
Richard Sandiford
25109109c4 re PR debug/61188 (Many -fcompare-debug failures)
gcc/
	PR debug/61188
	* print-rtl.c (print_rtx): Suppress uids if flag_dump_unnumbered.

From-SVN: r210429
2014-05-14 15:53:11 +00:00
Richard Sandiford
7e7e4032f1 re PR bootstrap/61084 (wide-int merge broke Solaris/SPARC bootstrap)
gcc/
	PR target/61084
	* config/sparc/sparc.md: Fix types of low and high in DI constant
	splitter.  Use gen_int_mode in some other splitters.

From-SVN: r210428
2014-05-14 15:42:52 +00:00
Richard Sandiford
8b9aec861e decl.c (gnat_to_gnu_entity): Convert integer_one_node to the appropriate type.
gcc/ada/
	* gcc-interface/decl.c (gnat_to_gnu_entity): Convert
	integer_one_node to the appropriate type.
	* gcc-interface/trans.c (gnat_to_gnu): Likewise.
	(pos_to_constructor): Likewise.

From-SVN: r210427
2014-05-14 15:42:25 +00:00
Martin Jambor
70d6d5c1d3 re PR gcov-profile/60897 (Mangled function name in warning during -fprofile-use phase of Firefox build)
2014-05-14  Martin Jambor  <mjambor@suse.cz>

	PR ipa/60897
	* ipa-prop.c (ipa_modify_formal_parameters): Reset DECL_LANG_SPECIFIC.

From-SVN: r210426
2014-05-14 17:32:31 +02:00
Andrew Burgess
70c8c2b932 cplus-dmem.c (internal_cplus_demangle): Free any resources allocated by possible previous call to gnu_special.
libiberty/
2014-05-14  Andrew Burgess  <aburgess@broadcom.com>

	* cplus-dmem.c (internal_cplus_demangle): Free any resources
	allocated by possible previous call to gnu_special.
	(squangle_mop_up): Reset pointers to NULL after calling free.
	* testsuite/demangle-expected: New test case.

From-SVN: r210425
2014-05-14 14:18:49 +00:00
Christian Bruel
a3f58be687 cleanup bogus entry
From-SVN: r210424
2014-05-14 16:00:30 +02:00
James Norris
23b02de3a3 omp-low.c (expand_parallel_call): Remove shadow variable.
* omp-low.c (expand_parallel_call): Remove shadow variable.
	(expand_omp_taskreg): Likewise.

From-SVN: r210423
2014-05-14 15:38:57 +02:00
Alan Lawrence
14e2152213 Add execution tests of ARM TRN Intrinsics.
* gcc.target/arm/simd/vtrnqf32_1.c: New file.
	* gcc.target/arm/simd/vtrnqp16_1.c: New file.
	* gcc.target/arm/simd/vtrnqp8_1.c: New file.
	* gcc.target/arm/simd/vtrnqs16_1.c: New file.
	* gcc.target/arm/simd/vtrnqs32_1.c: New file.
	* gcc.target/arm/simd/vtrnqs8_1.c: New file.
	* gcc.target/arm/simd/vtrnqu16_1.c: New file.
	* gcc.target/arm/simd/vtrnqu32_1.c: New file.
	* gcc.target/arm/simd/vtrnqu8_1.c: New file.
	* gcc.target/arm/simd/vtrnf32_1.c: New file.
	* gcc.target/arm/simd/vtrnp16_1.c: New file.
	* gcc.target/arm/simd/vtrnp8_1.c: New file.
	* gcc.target/arm/simd/vtrns16_1.c: New file.
	* gcc.target/arm/simd/vtrns32_1.c: New file.
	* gcc.target/arm/simd/vtrns8_1.c: New file.
	* gcc.target/arm/simd/vtrnu16_1.c: New file.
	* gcc.target/arm/simd/vtrnu32_1.c: New file.
	* gcc.target/arm/simd/vtrnu8_1.c: New file.

From-SVN: r210422
2014-05-14 13:23:29 +00:00
Ilya Tocar
9cdea277ef gcc/
* common/config/i386/i386-common.c
	(OPTION_MASK_ISA_CLFLUSHOPT_SET): Define.
	(OPTION_MASK_ISA_XSAVES_SET): Ditto.
	(OPTION_MASK_ISA_XSAVEC_SET): Ditto.
	(OPTION_MASK_ISA_CLFLUSHOPT_UNSET): Ditto.
	(OPTION_MASK_ISA_XSAVES_UNSET): Ditto.
	(OPTION_MASK_ISA_XSAVEC_UNSET): Ditto.
	(ix86_handle_option): Handle OPT_mxsavec, OPT_mxsaves,
	OPT_mclflushopt.
	* config.gcc (i[34567]86-*-*): Add clflushoptintrin.h,
	xsavecintrin.h, xsavesintrin.h.
	(x86_64-*-*): Ditto.
	* config/i386/clflushoptintrin.h: New.
	* config/i386/xsavecintrin.h: Ditto.
	* config/i386/xsavesintrin.h: Ditto.
	* config/i386/cpuid.h (bit_CLFLUSHOPT): Define.
	(bit_XSAVES): Ditto.
	(bit_XSAVES): Ditto.
	* config/i386/driver-i386.c (host_detect_local_cpu): Handle
	-mclflushopt, -mxsavec, -mxsaves, -mno-xsaves, -mno-xsavec,
	-mno-clflushopt.
	* config/i386/i386-c.c (ix86_target_macros_internal): Handle
	OPTION_MASK_ISA_CLFLUSHOPT, OPTION_MASK_ISA_XSAVEC,
	OPTION_MASK_ISA_XSAVES.
	* config/i386/i386.c (ix86_target_string): Handle -mclflushopt,
	-mxsavec, -mxsaves.
	(PTA_CLFLUSHOPT) Define.
	(PTA_XSAVEC): Ditto.
	(PTA_XSAVES): Ditto.
	(ix86_option_override_internal): Handle new options.
	(ix86_valid_target_attribute_inner_p): Ditto.
	(ix86_builtins): Add IX86_BUILTIN_XSAVEC, IX86_BUILTIN_XSAVEC64,
	IX86_BUILTIN_XSAVES, IX86_BUILTIN_XRSTORS, IX86_BUILTIN_XSAVES64,
	IX86_BUILTIN_XRSTORS64, IX86_BUILTIN_CLFLUSHOPT.
	(bdesc_special_args): Add __builtin_ia32_xsaves, __builtin_ia32_xrstors,
	__builtin_ia32_xsavec, __builtin_ia32_xsaves64, __builtin_ia32_xrstors64,
	__builtin_ia32_xsavec64.
	(ix86_init_mmx_sse_builtins): Add __builtin_ia32_clflushopt.
	(ix86_expand_builtin): Handle new builtins.
	* config/i386/i386.h (TARGET_CLFLUSHOPT) Define.
	(TARGET_CLFLUSHOPT_P): Ditto.
	(TARGET_XSAVEC): Ditto.
	(TARGET_XSAVEC_P): Ditto.
	(TARGET_XSAVES): Ditto.
	(TARGET_XSAVES_P): Ditto.
	* config/i386/i386.md (ANY_XSAVE): Add UNSPECV_XSAVEC, UNSPECV_XSAVES.
	(ANY_XSAVE64)" Add UNSPECV_XSAVEC64, UNSPECV_XSAVES64.
	(attr xsave): Add xsavec, xsavec64, xsaves, xsaves64.
	(ANY_XRSTOR): New.
	(ANY_XRSTOR64): Ditto.
	(xrstor): Ditto.
	(xrstor): Change into <xrstor>.
	(xrstor_rex64): Change into <xrstor>_rex64.
	(xrstor64): Change into <xrstor>64
	(clflushopt): New.
	* config/i386/i386.opt (mclflushopt): New.
	(mxsavec): Ditto.
	(mxsaves): Ditto.
	* config/i386/x86intrin.h: Add clflushoptintrin.h, xsavesintrin.h,
	xsavecintrin.h.
	* doc/invoke.texi: Document new options.

gcc/testsuite/
	* gcc.target/i386/clflushopt-1.c: New.
	* gcc.target/i386/xsavec-1.c: Ditto.
	* gcc.target/i386/xsavec64-1.c: Ditto.
	* gcc.target/i386/xsaves-1.c: Ditto.
	* gcc.target/i386/xsaves64-1.c: Ditto.
	* gcc.target/i386/sse-12.c: Test new options.
	* gcc.target/i386/sse-13.c: Ditto.
	* gcc.target/i386/sse-14.c: Ditto.
	* gcc.target/i386/sse-22.c: Ditto.
	* gcc.target/i386/sse-23.c: Ditto.
	* g++.dg/other/i386-2.C: Ditto.
	* g++.dg/other/i386-3.C: Ditto.

From-SVN: r210421
2014-05-14 12:41:42 +00:00
Andrey Belevantsev
92e265ac1e re PR rtl-optimization/60866 (ICE: in get_seqno_for_a_jump, at sel-sched-ir.c:4068 with -fselective-scheduling -fno-if-conversion)
PR rtl-optimization/60866
        * sel-sched-ir (sel_init_new_insn): New parameter old_seqno.
        Default it to -1.  Pass it down to init_simplejump_data.
        (init_simplejump_data): New parameter old_seqno.  Pass it down
        to get_seqno_for_a_jump.
        (get_seqno_for_a_jump): New parameter old_seqno.  Use it for
        initializing new jump seqno as a last resort.  Add comment.
        (sel_redirect_edge_and_branch): Save old seqno of the conditional
        jump and pass it down to sel_init_new_insn.
        (sel_redirect_edge_and_branch_force): Likewise.

	* gcc.dg/pr60866.c: New test.

From-SVN: r210420
2014-05-14 16:09:02 +04:00
Georg-Johann Lay
fa96aa4515 avr.h (REG_CLASS_CONTENTS): Use unsigned suffix for shifted values to avoid build warning.
* config/avr/avr.h (REG_CLASS_CONTENTS): Use unsigned suffix for
	shifted values to avoid build warning.

From-SVN: r210418
2014-05-14 11:05:40 +00:00
Eric Botcazou
8a829274db cfgcleanup.c (try_forward_edges): Use location_t for locations.
* cfgcleanup.c (try_forward_edges): Use location_t for locations.
	* cfgrtl.c (rtl_merge_blocks): Fix comment.
	(cfg_layout_merge_blocks): Likewise.
	* except.c (emit_to_new_bb_before): Remove prev_bb local variable.

From-SVN: r210416
2014-05-14 10:36:23 +00:00
Andrey Belevantsev
112903088c re PR rtl-optimization/60901 (ICE: SIGSEGV in add_to_deps_list with -fsel-sched-pipelining-outer-loops)
PR rtl-optimization/60901
	* config/i386/i386.c (ix86_dependencies_evaluation_hook): Check that
	bb predecessor belongs to the same scheduling region.  Adjust comment.

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

From-SVN: r210414
2014-05-14 13:46:26 +04:00
Yury Gribov
2675305b4f re PR sanitizer/61100 (asan/tsan should have the sanitizer includes)
2014-05-14  Yury Gribov  <y.gribov@samsung.com>

	PR sanitizer/61100
	* Makefile.am (nodist_saninclude_HEADERS): Install
	public headers.
	* Makefile.in: Regenerate.

	* c-c++-common/asan/asan-interface-1.c: New test.
	* lib/asan-dg.exp (asan_include_flags): New function.
	(asan_init): Call asan_include_flags to obtain path
	to sanitizer headers.

From-SVN: r210413
2014-05-14 08:33:45 +00:00
GCC Administrator
5600d8982e Daily bump.
From-SVN: r210410
2014-05-14 00:17:12 +00:00
Peter Bergner
f4853e92cf sourcebuild.texi: (dfp_hw): Document.
gcc/
	* doc/sourcebuild.texi: (dfp_hw): Document.
	(p8vector_hw): Likewise.
	(powerpc_eabi_ok): Likewise.
	(powerpc_elfv2): Likewise.
	(powerpc_htm_ok): Likewise.
	(ppc_recip_hw): Likewise.
	(vsx_hw): Likewise.

gcc/testsuite/
	* lib/target-support.exp (check_dfp_hw_available): New function.
	(is-effective-target): Check $arg for dfp_hw.
	(is-effective-target-keyword): Likewise.
	* gcc.target/powerpc/pack03.c: (dg-require-effective-target):
	Change target to dfp_hw.

From-SVN: r210404
2014-05-13 18:44:42 -05:00
Eric Botcazou
f0035dca69 * gcc-interface/decl.c (annotate_value): Fix thinko in latest change.
From-SVN: r210403
2014-05-13 21:17:07 +00:00
Jason Merrill
c29f393f83 call.c (print_error_for_call_failure): Say "no match" rather than "ambiguous" if there were no strict matches.
* call.c (print_error_for_call_failure): Say "no match" rather
	than "ambiguous" if there were no strict matches.
	(build_new_method_call_1): Likewise.

From-SVN: r210402
2014-05-13 17:10:03 -04:00
Cary Coutant
bd5c3baaa9 Force the use of -ggnu-pubnames when using -gsplit-dwarf.
gcc/
	* opts.c (finish_options): Use -ggnu-pubnames with -gsplit-dwarf.

From-SVN: r210395
2014-05-13 10:55:30 -07:00
Jason Merrill
6626c52e1a re PR c++/61151 (ICE with lambda)
PR c++/61151
	* semantics.c (is_this_parameter): Allow capture proxies too.

From-SVN: r210394
2014-05-13 13:54:00 -04:00
Marek Polacek
2b107f6b91 re PR c/61162 (possibly bad error location with -Wc++-compat)
PR c/61162
	* c-typeck.c (convert_for_assignment): Pass location to
	WARN_FOR_ASSIGNMENT instead of input_location.

	* gcc.dg/pr61162.c: New test.

From-SVN: r210393
2014-05-13 17:41:12 +00:00
Marek Polacek
6052140cec pr50459.c: Move cdtor tests to a separate testcase.
* c-c++-common/pr50459.c: Move cdtor tests to a separate testcase.
	* c-c++-common/pr50459-2.c: New test.

From-SVN: r210390
2014-05-13 17:37:40 +00:00
Jonathan Wakely
b82f988e8d re PR libstdc++/60497 (unique_ptr<T> tries to complete its type T even though it's not required to be a complete type)
PR libstdc++/60497
	* include/debug/array (get): Qualify call to other get overload.
	* include/profile/array (get): Likewise.
	* include/std/array (get): Likewise.
	* include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
	* include/std/mutex (unique_lock, call_once): Use __addressof.
	(__unlock_impl): Remove unused template.
	(__try_to_lock): Declare inline.
	(__try_lock_impl::__do_try_lock): Qualify function calls.
	(lock): Avoid narrowing conversion.
	* testsuite/20_util/bind/60497.cc: New.
	* testsuite/23_containers/array/element_access/60497.cc: New.
	* testsuite/30_threads/call_once/60497.cc: New.
	* testsuite/30_threads/unique_lock/cons/60497.cc: New.

From-SVN: r210388
2014-05-13 18:22:08 +01:00
Bernd Edlinger
54fde020cc Enable Java on Cygwin-64
Currently it is not possible to build GCC's libjava support on Cygwin-64.

This patch fixes the current build-problems on Cygwin-64 and the most
fundamental bugs on that platform.

Note you must still add --enable-threads=posix to successfully build the
java language support.


boehm-gc/ChangeLog:

2014-05-13  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Fix current cygwin-64 build problems.
        * include/gc_config_macros.h (GC_PTHREADS): Use __CYGWIN__ instead
        of __CYGWIN32__ here.
        * win32_threads.c (GC_push_all_stacks): Push all X86_64 registers.
        (GC_get_thread_stack_base): Get the stack base for X86_64.

libffi/ChangeLog:

2014-05-13  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Fix current cygwin-64 build problems.
        * src/java_raw_api.c: Remove if !defined(FFI_NO_RAW_API).
        * src/x86/ffi.c: Add if defined(__CYGWIN__).
        * src/x86/win64.S (ffi_closure_win64, ffi_call_win64): Added
        handling for FFI_TYPE_UINT64, FFI_TYPE_POINTER and FFI_TYPE_INT.
        Added SEH information.  Fixed formatting.

libgcc/ChangeLog:

2014-05-13  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * unwind-seh.c (_Unwind_Backtrace): Uncommented, finished
        implementation.

libjava/ChangeLog:

2014-05-13  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Fix current cygwin-64 build problems.
        * configure.host: Added handling for x86_64-*-cygwin/mingw.
        * boehm.cc (_Jv_GCAttachThread, _Jv_GCDetachThread): Don't compile if
        GC_WIN32_THREADS is defined.
        * java/lang/natClass.cc (_Jv_InterfaceAssignableFrom): Rename interface
        to source_interface.

libjava/classpath/ChangeLog:

2014-05-13  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Fix current cygwin-64 build problems.
        * native/fdlibm/mprec.c (_REENT_CHECK_MP, _REENT_MP_FREELIST,
        _REENT_MP_P5S, __ULong, __Long): Undefine previous definitions.

From-SVN: r210386
2014-05-13 16:23:11 +00:00
Paolo Carlini
af2db4c577 re PR c++/54310 (Order of operations during overload resolution)
2014-05-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/54310
	* g++.dg/template/pr54310.C: New.

From-SVN: r210385
2014-05-13 16:14:19 +00:00
David Malcolm
9aa54cc915 gengtype: Support explicit pointers in template arguments
gcc/
2014-05-13  David Malcolm  <dmalcolm@redhat.com>

	* gengtype-parse.c (require3): Eliminate in favor of...
	(require4): New.
	(require_template_declaration): Update to support optional single *
	on a type.

	* gengtype.c (get_ultimate_base_class): Add a non-const overload.
	(create_user_defined_type): Handle a single level of explicit
	pointerness within template arguments.
	(struct write_types_data): Add field "kind".
	(filter_type_name): Handle "*" character.
	(write_user_func_for_structure_ptr): Require a write_types_data
	rather than just a prefix string, so that we can look up the kind
	of the wtd and use it as an index into wrote_user_func_for_ptr,
	ensuring that such functions are written at most once.  Support
	subclasses by invoking the marking function of the ultimate base
	class.
	(write_user_func_for_structure_body): Require a write_types_data
	rather than just a prefix string, so that we can pass this to
	write_user_func_for_structure_ptr.
	(write_func_for_structure): Likewise.
	(ggc_wtd): Add initializer of new "kind" field.
	(pch_wtd): Likewise.

	* gengtype.h (enum write_types_kinds): New.
	(struct type): Add field wrote_user_func_for_ptr to the "s"
	union member.

From-SVN: r210379
2014-05-13 15:17:34 +00:00
Richard Sandiford
5c0f009c92 fold-const.c (optimize_bit_field_compare): Use wi:: operations instead of const_binop.
gcc/
	* fold-const.c (optimize_bit_field_compare): Use wi:: operations
	instead of const_binop.
	(fold_binary_loc): Likewise.

From-SVN: r210378
2014-05-13 13:51:32 +00:00
Richard Sandiford
460d1e2235 tree-dfa.h (get_addr_base_and_unit_offset_1): Update array index calculation to match get_ref_base_and_extent.
gcc/
	* tree-dfa.h (get_addr_base_and_unit_offset_1): Update array index
	calculation to match get_ref_base_and_extent.

From-SVN: r210377
2014-05-13 13:51:20 +00:00
Catherine Moore
1e1f96b5f6 configure.ac: Fix assembly for explicit JALR relocation check.
2014-05-13  Catherine Moore  <clm@codesourcery.com>
	    Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* configure.ac: Fix assembly for explicit JALR relocation check.
	* configure: Regenerate.


Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>

From-SVN: r210375
2014-05-13 09:36:56 -04:00
Nathan Sidwell
8fa5aaf3c0 loongson-simd.c: Disable micromips too.
2014-05-13  Nathan Sidwell  <nathan@codesourcery.com>
	    Sandra Loosemore  <sandra@codesourcery.com>

	gcc/testsuite/
	* gcc.target/mips/loongson-simd.c: Disable micromips too.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>

From-SVN: r210374
2014-05-13 09:35:20 -04:00
Kyrylo Tkachov
411f86ad86 [ARM] Remove builtins for vzup, vuzp, vtrn and cleanup.
* config/arm/arm.c (neon_itype): Remove NEON_RESULTPAIR.
	(arm_init_neon_builtins): Remove handling of NEON_RESULTPAIR.
	Remove associated type declarations and initialisations.
	(arm_expand_neon_builtin): Likewise.
	(neon_emit_pair_result_insn): Delete.
	* config/arm/arm_neon_builtins (vtrn, vzip, vuzp): Delete.
	* config/arm/neon.md (neon_vtrn<mode>): Delete.
	(neon_vzip<mode>): Likewise.
	(neon_vuzp<mode>): Likewise.

From-SVN: r210369
2014-05-13 13:02:33 +00:00
Catherine Moore
9ce24424f4 near-far-1.c: Adjust expected output to allow the JALS instruction.
2014-05-13  Catherine Moore  <clm@cm00re.com>

        * gcc.target/mips/near-far-1.c: Adjust expected output
        to allow the JALS instruction.
        * gcc.target/mips/near-far-2.c: Likewise.
        * gcc.target/mips/near-far-4.c: Likewise.

From-SVN: r210368
2014-05-13 08:51:39 -04:00
Jonathan Wakely
75e75a087d re PR libstdc++/60497 (unique_ptr<T> tries to complete its type T even though it's not required to be a complete type)
PR libstdc++/60497
	* include/std/tuple (get, __tuple_compare): Qualify more calls to
	prevent ADL. Cast comparison results to bool.
	* testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
	* testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.

From-SVN: r210366
2014-05-13 12:18:01 +01:00
Richard Biener
6b77934ee0 re PR ipa/60973 (Invalid propagation of a tail call in devirt pass)
2014-05-13  Richard Biener  <rguenther@suse.de>

	PR ipa/60973
	* tree-inline.c (remap_gimple_stmt): Clear tail call flag,
	it needs revisiting whether the call still may be tail-called.

From-SVN: r210364
2014-05-13 11:04:44 +00:00
Richard Sandiford
da3cd11361 rtl.def (SYMBOL_REF): Remove middle "0" field.
gcc/
	* rtl.def (SYMBOL_REF): Remove middle "0" field.
	* rtl.h (block_symbol): Reduce number of fields to 2.
	(rtx_def): Add u2.symbol_ref_flags.
	(SYMBOL_REF_FLAGS): Use it.
	(SYMBOL_REF_DATA, SET_SYMBOL_REF_DECL, SYMBOL_REF_DECL)
	(SET_SYMBOL_REF_CONSTANT, SYMBOL_REF_CONSTANT): Lower index.
	* gengtype.c (adjust_field_rtx_def): Remove SYMBOL_REF_FLAGS handling.
	Lower index of SYMBOL_REF_DATA.
	* print-rtl.c (print_rtx): Lower index for SYMBOL_REF_DATA.
	Print SYMBOL_REF_FLAGS at the same time.
	* genattrtab.c (attr_rtx_1): Only initialize 1 "0" SYMBOL_REF field.

From-SVN: r210363
2014-05-13 10:39:16 +00:00
Richard Sandiford
fcc74520d0 rtl.def (VAR_LOCATION): Remove "i" field.
gcc/
	* rtl.def (VAR_LOCATION): Remove "i" field.
	* rtl.h (rtx_def): Add u2.var_location_status.
	(PAT_VAR_LOCATION_STATUS): Use it.
	(gen_rtx_VAR_LOCATION): Declare.
	* gengenrtl.c (excluded_rtx): Add VAR_LOCATION.
	* emit-rtl.c (gen_rtx_VAR_LOCATION): New function.
	* var-tracking.c (emit_note_insn_var_location): Remove casts.

From-SVN: r210362
2014-05-13 10:39:08 +00:00
Richard Sandiford
feb09dd93d rtl.def (scratch): Fix outdated comment and remove "0" field.
gcc/
	* rtl.def (scratch): Fix outdated comment and remove "0" field.
	* gengtype.c (adjust_field_rtx_def): Update accordingly.

From-SVN: r210361
2014-05-13 10:38:57 +00:00
Richard Sandiford
ed8921dc73 gcc/
* rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, JUMP_TABLE_DATA)
	(BARRIER, CODE_LABEL, NOTE): Remove first "i" field.
	* rtl.h (rtx_def): Add insn_uid to u2 field.
	(RTX_FLAG_CHECK8): Delete in favor of...
	(RTL_INSN_CHAIN_FLAG_CHECK): ...this new macro.
	(INSN_DELETED_P): Update accordingly.
	(INSN_UID): Use u2.insn_uid.
	(INSN_CHAIN_CODE_P): Define.
	(PREV_INSN, NEXT_INSN, BLOCK_FOR_INSN, PATTERN, INSN_LOCATION)
	(INSN_CODE, REG_NOTES, CALL_INSN_FUNCTION_USAGE, CODE_LABEL_NUMBER)
	(NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK, NOTE_EH_HANDLER)
	(NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_CFI, NOTE_LABEL_NUMBER)
	(NOTE_KIND, LABEL_NAME, LABEL_NUSES, JUMP_LABEL, LABEL_REFS): Lower
	indices accordingly.
	* print-rtl.c (print_rtx): Print INSN_UIDs before the main loop.
	Update indices for insn-chain rtxes.
	* gengtype.c (gen_rtx_next): Adjust test for insn-chain rtxes.
	(adjust_field_rtx_def): Lower '0' indices for all insn-chain rtxes.
	* emit-rtl.c (gen_label_rtx): Update gen_rtx_LABEL call.
	* caller-save.c (init_caller_save): Update gen_rtx_INSN calls.
	* combine.c (try_combine): Likewise.
	* ira.c (setup_prohibited_mode_move_regs): Likewise.

From-SVN: r210360
2014-05-13 10:38:50 +00:00
Richard Sandiford
fccc55155d rtl.def (REG): Remove middle field.
gcc/
	* rtl.def (REG): Remove middle field.
	* rtl.h (rtx_def): Add orignal_regno to u2.
	(ORIGINAL_REGNO): Use it instead of field 1.
	(REG_ATTRS): Lower field index accordingly.
	* gengtype.c (adjust_field_rtx_def): Remove handling of
	ORIGINAL_REGNO.  Move REG_ATTRS index down.
	* print-rtl.c (print_rtx): Move ORIGINAL_REGNO handling to the
	code that prints the REGNO.

From-SVN: r210359
2014-05-13 10:38:38 +00:00
Richard Sandiford
925c1bae48 print-rtl.c (print_rtx): Guard whole '0' block with ifndef GENERATOR_FILE.
gcc/
	* print-rtl.c (print_rtx): Guard whole '0' block with ifndef
	GENERATOR_FILE.

From-SVN: r210358
2014-05-13 10:38:27 +00:00
Richard Sandiford
13b0c5ac1e rtl.h (rtx_def): Mark u2 as GTY ((skip)).
gcc/
	* rtl.h (rtx_def): Mark u2 as GTY ((skip)).

From-SVN: r210357
2014-05-13 10:38:17 +00:00
Bin Cheng
be9a0da55e tree-ssa-loop-ivopts.c (contain_complex_addr_expr): New.
* tree-ssa-loop-ivopts.c (contain_complex_addr_expr): New.
	(alloc_iv): Lower base expressions containing ADDR_EXPR.

	* gcc.dg/tree-ssa/ivopts-lower_base.c: New test.

From-SVN: r210356
2014-05-13 10:09:54 +00:00
Ian Bolton
73d9ac6a6a Implement HARD_REGNO_CALLER_SAVE_MODE for AArch64
* config/aarch64/aarch64-protos.h
	(aarch64_hard_regno_caller_save_mode): New prototype.
	* config/aarch64/aarch64.c (aarch64_hard_regno_caller_save_mode):
	New function.
	* config/aarch64/aarch64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.

From-SVN: r210355
2014-05-13 09:28:35 +00:00
Christian Bruel
06b9060214 target.def (mode_switching): New hook vector.
2014-05-13  Christian Bruel  <christian.bruel@st.com>

	* target.def (mode_switching): New hook vector.
	(mode_emit, mode_needed, mode_after, mode_entry): New hooks.
	(mode_exit, modepriority_to_mode): Likewise.
	* mode-switching.c (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Hookify.
	(MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
	(default_priority_to_mode): Define.
	* targhooks.h (default_priority_to_mode): Declare.
	* target.h: Include tm.h and hard-reg-set.h.
	* doc/tm.texi.in (EMIT_MODE_SET, MODE_NEEDED, MODE_AFTER, MODE_ENTRY)
	(MODE_EXIT, MODE_PRIORITY_TO_MODE): Delete and hookify.
	* doc/tm.texi Regenerate.
	* config/sh/sh.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
	(MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
	* config/sh/sh.c (sh_emit_mode_set, sh_mode_priority): Hookify.
	(sh_mode_needed, sh_mode_after, sh_mode_entry, sh_mode_exit): Likewise.
	* config/i386/i386.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
	(MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
	* config/i386/i386-protos.h (ix86_mode_needed, ix86_mode_after)
	(ix86_mode_entrym, ix86_emit_mode_set): Remove external declaration.
	* config/i386/i386.c (ix86_mode_needed, ix86_mode_after, ix86_mode_exit,
	(ix86_mode_entry, ix86_mode_priority, ix86_emit_mode_set): Hookify.
	* config/epiphany/epiphany.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY):
	Delete
	(MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
	* config/sh/sh.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
	(MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
	* config/sh/sh.c (sh4_emit_mode_set, sh4_mode_needed): Hookify.
	(sh4_mode_after, sh4_mode_entry, sh4_mode_exit): Likewise.
	* config/epiphany/epiphany-protos.h (epiphany_mode_needed)
	(emit_set_fp_mode, epiphany_mode_entry_exit, epiphany_mode_after)
	(epiphany_mode_priority_to_mode): Remove declaration.
	* config/epiphany/epiphany.c (emit_set_fp_mode): Hookify.
	(epiphany_mode_needed, epiphany_mode_priority_to_mode): Likewise.
	(epiphany_mode_entry, epiphany_mode_exit, epiphany_mode_after):
	Likewise.
	(epiphany_mode_priority_to_mode): Change priority type. Hookify.
	(epiphany_mode_needed, epiphany_mode_entry_exit): Hookify.
	(epiphany_mode_after, epiphany_mode_entry, emit_set_fp_mode): Hookify.

From-SVN: r210354
2014-05-13 10:50:51 +02:00