Commit Graph

123330 Commits

Author SHA1 Message Date
Richard Biener
afb119beca tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not disable peeling when we version for aliasing.
2013-05-10  Richard Biener  <rguenther@suse.de>

	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not
	disable peeling when we version for aliasing.
	(vector_alignment_reachable_p): Honor explicit user alignment.
	(vect_supportable_dr_alignment): Likewise.
	* tree-vect-loop-manip.c (vect_can_advance_ivs_p): Use
	STMT_VINFO_LOOP_PHI_EVOLUTION_PART instead of recomputing it.
	* tree-vect-loop.c (vect_transform_loop): First apply versioning,
	then peeling to arrange for the cost-model check to come first.

	* gcc.target/i386/avx256-unaligned-load-2.c: Make well-defined.
	* gcc.target/i386/l_fma_double_1.c: Adjust.
	* gcc.target/i386/l_fma_double_2.c: Likewise.
	* gcc.target/i386/l_fma_double_3.c: Likewise.
	* gcc.target/i386/l_fma_double_4.c: Likewise.
	* gcc.target/i386/l_fma_double_5.c: Likewise.
	* gcc.target/i386/l_fma_double_6.c: Likewise.
	* gcc.target/i386/l_fma_float_1.c: Likewise.
	* gcc.target/i386/l_fma_float_2.c: Likewise.
	* gcc.target/i386/l_fma_float_3.c: Likewise.
	* gcc.target/i386/l_fma_float_4.c: Likewise.
	* gcc.target/i386/l_fma_float_5.c: Likewise.
	* gcc.target/i386/l_fma_float_6.c: Likewise.

From-SVN: r198767
2013-05-10 07:52:25 +00:00
Alan Modra
01ae486155 configure.ac (HAVE_AS_TLS): Swap powerpc64 and powerpc cases.
* configure.ac (HAVE_AS_TLS): Swap powerpc64 and powerpc cases.
	(HAVE_LD_LARGE_TOC): Don't mention AIX in help text.
	* configure: Regenerate.

From-SVN: r198766
2013-05-10 11:37:53 +09:30
Alan Modra
ebc9a431c4 re PR target/55033 (PowerPC section type conflict error)
PR target/55033
	* varasm.c (default_elf_select_section): Move !DECL_P check..
	(get_named_section): ..to here before calling get_section_name.
	Adjust assertion.
	(default_section_type_flags): Add DECL_P check.
	* config/i386/winnt.c (i386_pe_section_type_flags): Likewise.
	* config/rs6000/rs6000.c (rs6000_xcoff_section_type_flags): Likewise.

From-SVN: r198762
2013-05-10 10:36:49 +09:30
GCC Administrator
65267ae956 Daily bump.
From-SVN: r198760
2013-05-10 00:16:21 +00:00
Jason Merrill
392807f0b0 * decl.c (cp_finish_decl): Only check VLA bound in C++1y mode.
From-SVN: r198756
2013-05-09 18:08:59 -04:00
Joern Rennecke
d4bca93ce1 epiphany.c (epiphany_expand_prologue): When using gen_stack_adjust_str with a register offset...
* config/epiphany/epiphany.c (epiphany_expand_prologue):
        When using gen_stack_adjust_str with a register offset, add a
        REG_FRAME_RELATED_EXPR note.

From-SVN: r198753
2013-05-09 21:11:12 +01:00
Uros Bizjak
60ca9a652f sse.md (*vec_extractv4si_0_zext): New pattern.
* config/i386/sse.md (*vec_extractv4si_0_zext): New pattern.
	(*vec_extractv4si_zext_mem): Ditto.
	(*vec_extractv2di): Add 0->x and x->x alternatives.
	* config/i386/mmx.md (*vec_extractv2si_zext_mem): New pattern.
	* config/i386/i386.md (*zero_extendsidi2): Add *Yj->?r alternative.

From-SVN: r198752
2013-05-09 21:36:56 +02:00
Jason Merrill
26863a324a re PR c++/57222 (Template alias not working in argument of template class template method)
PR c++/57222
	* pt.c (lookup_template_class_1): Handle getting a template
	template parameter as D1.

From-SVN: r198747
2013-05-09 12:43:49 -04:00
Jason Merrill
a57dbdaac4 N3639 C++1y VLA diagnostics
* decl.c (grokdeclarator): Complain about reference, pointer, or
	typedef to VLA.
	(create_array_type_for_decl): Complain about array of VLA.
	* pt.c (tsubst): Likewise.
	* rtti.c (get_tinfo_decl): Talk about "array of runtime bound".
	* semantics.c (finish_decltype_type): Complain about decltype of VLA.
	* typeck.c (cp_build_addr_expr_1): Complain about VLA.
	(cxx_sizeof_or_alignof_type): Likewise.

From-SVN: r198746
2013-05-09 12:43:43 -04:00
Jason Merrill
0138d6b24f N3639 C++1y VLA support
gcc/
	* gimplify.c (gimplify_vla_decl): Don't touch an existing
	DECL_VALUE_EXPR.
gcc/cp/
	* decl.c (compute_array_index_type): Allow VLAs in C++1y mode.
	(check_array_initializer): Allow VLA init.
	(reshape_init_array_1): Adjust.
	(cp_finish_decl): Check for invalid VLA length.
	* typeck2.c (process_init_constructor_array): Adjust.
	(store_init_value): Use build_vec_init for VLAs.
	* semantics.c (add_capture): Capture VLA as ptr+len.
	(vla_capture_type): New.
	(build_capture_proxy): Rebuild the VLA.
	* typeck.c (build_simple_component_ref): Split out from...
	(build_ptrmemfunc_access_expr): ...here.
	* tree.c (array_of_runtime_bound_p): New.
	* init.c (throw_bad_array_length): New.
	(build_vec_init): Use it.
	* parser.c (cp_convert_range_for): When iterating over a VLA,
	use it directly rather than bind a reference.
	* cp-tree.h: Declare new functions.
libstdc++-v3/
	* libsupc++/new: Add std::bad_array_length.
	* libsupc++/bad_array_length.cc: New.
	* libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
	* libsupc++/Makefile.in: Build them.
	* config/abi/pre/gnu.ver: Add new symbols.
	* config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.

From-SVN: r198745
2013-05-09 12:43:36 -04:00
Jason Merrill
a3409c0279 tree.c (build_constructor_va): New.
* tree.c (build_constructor_va): New.
	* tree.h: Declare it.

From-SVN: r198744
2013-05-09 12:43:27 -04:00
Martin Jambor
66e6b9905b re PR lto/57084 (483. xalancbmk run fails with -O2 -flto for i686)
2013-05-09  Martin Jambor  <mjambor@suse.cz>

	PR lto/57084
	* gimple-fold.c (canonicalize_constructor_val): Call
	cgraph_get_create_real_symbol_node instead of cgraph_get_create_node.

From-SVN: r198743
2013-05-09 18:32:17 +02:00
Jan Hubicka
64cfa6c0db Jan Hubicka <jh@suse.cz>
Richard Biener  <rguenther@suse.de>

	PR lto/54095
	* symtab.c (symtab_make_decl_local): Do not add private names.

	* lto.c (lto_register_var_decl_in_symtab): Don't do renaming.
	(lto_register_var_decl_in_symtab): Likewise.
	(lto_main): Promote statics.
	* lto-partition.c (privatize_symbol_name): New function.
	(promote_symbol): Use it.
	(may_need_named_section_p): New predicate.
	(rename_statics): New functions.
	(lto_promote_cross_file_statics): Simplify; do renaming.
	(lto_promote_statics_nonwpa): New function.
	* lto-partition.h (lto_promote_statics_nonwpa): New function.

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

From-SVN: r198741
2013-05-09 15:37:12 +00:00
Jan Hubicka
c3167b004d re PR lto/54095 (Unnecessary static variable renaming)
PR lto/54095
	* symtab.c (insert_to_assembler_name_hash): Handle clones.
	(unlink_from_assembler_name_hash): Likewise.
	(symtab_prevail_in_asm_name_hash, symtab_register_node,
	symtab_unregister_node, symtab_initialize_asm_name_hash,
	change_decl_assembler_name): Update.

From-SVN: r198736
2013-05-09 09:51:52 +00:00
Sofiane Naci
12dc697479 aarch64.md: New movtf split.
* config/aarch64/aarch64.md: New movtf split.
	(*movtf_aarch64): Update.
	(aarch64_movdi_tilow): Handle TF modes and rename to
	aarch64_movdi_<mode>low.
	(aarch64_movdi_tihigh): Handle TF modes and rename to
	aarch64_movdi_<mode>high
	(aarch64_movtihigh_di): Handle TF modes and rename to
	aarch64_mov<mode>high_di
	(aarch64_movtilow_di): Handle TF modes and rename to
	aarch64_mov<mode>low_di
	(aarch64_movtilow_tilow): Remove spurious whitespace.
	* config/aarch64/aarch64.c (aarch64_split_128bit_move): Handle TFmode
	splits.
	(aarch64_print_operand): Update.

From-SVN: r198735
2013-05-09 08:25:30 +00:00
Alan Modra
227eb34360 configure.ac (HAVE_AS_TLS): Enable tests for powerpcle and powerpc64le.
* configure.ac (HAVE_AS_TLS): Enable tests for powerpcle and
	powerpc64le.
	* configure: Regenerate.

From-SVN: r198734
2013-05-09 16:56:56 +09:30
Andi Kleen
a062bb4ba6 Mark all member functions with memory models always inline v2
When a non constant memory model is passed to __atomic_*
gcc falls back to seq_cst. This drops any HLE acquire or release bits.

This can happen when <atomic> is used with -O0
as the member functions are not always inlined then and the memory
argument passed in ends up being non-constant.

v2: Use _GLIBCXX_ALWAYS_INLINE

libstdc++-v3/:

2013-05-08  Andi Kleen  <ak@linux.intel.com>

	PR target/55947
	* libstdc++-v3/include/bits/atomic_base.h
	(_GLIBCXX_ALWAYS_INLINE): Add new macro.
	(atomic_thread_fence, atomic_signal_fence, test_and_set,
	clear, store, load, exchange, compare_exchange_weak)
	compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
	fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.

From-SVN: r198733
2013-05-09 04:22:11 +00:00
Jason Merrill
785b887ee8 except.c (is_admissible_throw_operand_or_catch_parameter): Check variably_modified_type_p.
* except.c (is_admissible_throw_operand_or_catch_parameter): Check
	variably_modified_type_p.
	(expand_start_catch_block): Mark the typeinfo used here.
	* semantics.c (finish_handler_parms): Not here.

	* error.c (dump_type_suffix): Try harder on VLA length.

From-SVN: r198732
2013-05-08 23:58:07 -04:00
Jason Merrill
7d5e76c8de Core 624/N2932: Throw bad_array_new_length on overflow
in array new size calculation.

libstdc++-v3/
	* libsupc++/new: Add std::bad_array_new_length.
	* libsupc++/bad_array_new.cc: New.
	* libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
	* libsupc++/Makefile.in: Build them.
	* config/abi/pre/gnu.ver: Add new symbols.
	* config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
gcc/cp/
	* init.c (throw_bad_array_new_length): New.
	(build_new_1): Use it.  Don't warn about braced-init-list.
	(build_vec_init): Use it.
	* call.c (build_operator_new_call): Use it.

From-SVN: r198731
2013-05-08 23:58:00 -04:00
Jason Merrill
b0f36e5ee0 re PR c++/57068 (gcc prints warning "ref-qualifiers only available with -std=c++0x or -std=gnu++0x" for operator&)
PR c++/57068
	* decl.c (grokdeclarator): Warn about ref-qualifiers here.
	* parser.c (cp_parser_ref_qualifier_seq_opt): Not here.
	* error.c (maybe_warn_cpp0x): s/0x/11/.

From-SVN: r198730
2013-05-08 23:57:53 -04:00
GCC Administrator
654246455d Daily bump.
From-SVN: r198729
2013-05-09 00:16:40 +00:00
Uros Bizjak
36c4015b4d mmx.md (*vec_extract* splitters): Simplify post-reload splitter preparation statements.
* config/i386/mmx.md (*vec_extract* splitters): Simplify post-reload
	splitter preparation statements.
	* config/i386/sse.md (*vec_extract* splitters): Ditto.
	(*avx_vperm_broadcast_<mode>): Use adjust_address instead of
	adjust_address_nv.

From-SVN: r198723
2013-05-08 22:52:46 +02:00
Andoni Morales Alastruey
ea31132e78 re PR libstdc++/57212 (Don't use pe-coff weak support with mingw)
2013-05-08  Andoni Morales Alastruey <ylatuya@gmail.com>

	PR libstdc++/57212
	* include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
	to __MINGW32__.
	* include/Makefile.in: Regenerated.

From-SVN: r198720
2013-05-08 21:08:32 +02:00
Kai Tietz
492a80292b cygming-crtbegin.c (__register_frame_info): Make weak.
* config/i386/cygming-crtbegin.c (__register_frame_info): Make weak.
	(__deregister_frame_info): Likewise.

From-SVN: r198719
2013-05-08 20:33:52 +02:00
Uros Bizjak
0b013847f8 mmx.md (*vec_extract* splitters): Simplify post-reload splitter preparation statements.
* config/i386/mmx.md (*vec_extract* splitters): Simplify post-reload
	splitter preparation statements.
	* config/i386/sse.md (*vec_extract* splitters): Ditto.
	(*avx_vperm_broadcast_<mode>): Use adjust_address instead of
	adjust_address_nv.

From-SVN: r198718
2013-05-08 20:05:41 +02:00
Bill Schmidt
1dc3d6e9e1 gimple-ssa-strength-reduction.c (count_candidates): Change return value to int.
2013-05-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gimple-ssa-strength-reduction.c (count_candidates): Change
	return value to int.
	(analyze_candidates_and_replace): Change type of length to int.

From-SVN: r198715
2013-05-08 17:05:59 +00:00
Paolo Carlini
b0cda57f7b re PR c++/51226 ([c++0x] ICE with opaque enum and invalid template)
/cp
2013-05-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51226
	* parser.c (cp_parser_enum_specifier): Handle nested_name_specifier
	== error_mark_node.

/testsuite
2013-05-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51226
	* g++.dg/cpp0x/pr51226.C: New.

From-SVN: r198714
2013-05-08 15:22:03 +00:00
Uros Bizjak
e61e7d2846 sse.md (PEXTR_MODE, [...]): Remove.
* config/i386/sse.md (PEXTR_MODE, PEXTR_MODEx): Remove.
	(*vec_extract<mode>): Use VI12_128 mode iterator.
	(*vec_extract<mode>_mem): Ditto.
	(*vec_extract*_mem splitters): Merge splitters using VI_128 mode
	attribute.

From-SVN: r198713
2013-05-08 16:43:01 +02:00
Diego Novillo
4fbfcf44ba re PR bootstrap/54659 (Bootstrap with --disable-nls broken under Windows)
PR bootstrap/54659

	Revert:

	2012-08-17  Diego Novillo  <dnovillo@google.com>

		PR bootstrap/54281
		* configure.ac: Add libintl.h to AC_CHECK_HEADERS list.
		* config.in: Regenerate.
		* configure: Regenerate.
		* intl.h: Always include libintl.h if HAVE_LIBINTL_H is
		set.

From-SVN: r198711
2013-05-08 09:22:14 -04:00
Jan Hubicka
702d870328 re PR lto/54095 (Unnecessary static variable renaming)
PR lto/54095
	* cgraph.c (cgraph_make_node_local_1): Se unique_name.
	* cgraph.h (symtab_node_base): Add unique_name.
	* lto-cgraph.c (lto_output_node, lto_output_varpool_node,
	input_overwrite_node, input_varpool_node): Stream unique_name.
	* cgraphclones.c (cgraph_create_virtual_clone,
	cgraph_function_versioning): Set unique_name.
	* ipa.c (function_and_variable_visibility): Set unique_name.

From-SVN: r198710
2013-05-08 12:59:21 +00:00
Bill Schmidt
8b28cf47bf gimple-ssa-strength-reduction.c (find_phi_def): Revert former "fix."
2013-05-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gimple-ssa-strength-reduction.c (find_phi_def): Revert former	"fix."
	(alloc_cand_and_find_basis): Restrict conditional candidate
	processing to CAND_MULTs.

From-SVN: r198709
2013-05-08 12:22:32 +00:00
Jan Hubicka
e86074fd9a re PR lto/54095 (Unnecessary static variable renaming)
PR lto/54095
	lto-symtab.c (lto_symtab_symbol_p): New function.
	(lto_symtab_resolve_can_prevail_p, lto_symtab_resolve_symbols,
	lto_symtab_resolve_symbols, lto_symtab_merge_decls_2,
	lto_symtab_merge_decls_1, lto_symtab_merge_cgraph_nodes_1):
	Skip static symbols.

From-SVN: r198707
2013-05-08 11:00:55 +00:00
Eric Botcazou
a9073727f2 Minor tweaks
From-SVN: r198706
2013-05-08 09:51:25 +00:00
Paolo Carlini
44398cbede re PR tree-optimization/57200 (aggressive-loop-optimizations notes appear even when warning itself is suppressed)
2013-05-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR tree-optimization/57200
	* tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations):
	Only call inform if the preceding warning_at returns true.

From-SVN: r198704
2013-05-08 09:09:52 +00:00
GCC Administrator
90c3375239 Daily bump.
From-SVN: r198703
2013-05-08 00:16:44 +00:00
Han Shen
1258436201 2013-05-07 Han Shen <shenhan@google.com>
Added 2 missing files that should be included in the previous
    submitted patch trunk@r198699.

From-SVN: r198700
2013-05-07 23:33:40 +00:00
Han Shen
f6bc1c4a12 cfgexpand.c (record_or_union_type_has_array_p): New function.
2013-05-07  Han Shen  <shenhan@google.com>

    gcc/
    * cfgexpand.c (record_or_union_type_has_array_p): New function.
    (expand_used_vars): Add logic handling '-fstack-protector-strong'.
    * common.opt (fstack-protector-strong): New option.
    * doc/cpp.texi (__SSP_STRONG__): New builtin "__SSP_STRONG__".
    * doc/invoke.texi (Optimization Options): Document
    "-fstack-protector-strong".
    * gcc.c (LINK_SSP_SPEC): Add 'fstack-protector-strong'.

    gcc/testsuite/
    * gcc.dg/fstack-protector-strong.c: New.
    * g++.dg/fstack-protector-strong.C: New.

    gcc/c-family/
    * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".

From-SVN: r198699
2013-05-07 21:33:01 +00:00
François Dumont
703f140fb8 unordered_base.h: New.
2013-05-07  François Dumont  <fdumont@gcc.gnu.org>

	* include/profile/unordered_base.h: New.
	* include/Makefile.am: Add new profile header.
	* include/Makefile.in: Regenerate.
	* include/profile/impl/profiler.h
	(__profcxx_inefficient_hash_is_on): New macro.
	* include/profile/unordered_map (std::profile::unordered_map<>):
	Use new _Unordered_profile base class. Use default implementations
	for special functions.
	(std::profile::unordered_multimap<>): Likewise.
	* include/profile/unordered_set (std::profile::unordered_set<>):
	Likewise.
	(std::profile::unordered_multiset<>): Likewise.
	* testsuite/23_containers/unordered_multiset/55043.cc: Fix
	MoveOnly equality operator signature.

From-SVN: r198698
2013-05-07 20:26:15 +00:00
Steven Bosscher
4ffecb1fed * config/mips/mips.c (mips_machine_reorg2): Return 0.
From-SVN: r198696
2013-05-07 19:34:35 +00:00
Vladimir Makarov
5a107a0f0c ira.c (update_equiv_regs): Add insn having equiv memory even if it is not lhs of the insn.
2013-05-07  Vladimir Makarov  <vmakarov@redhat.com>

	* ira.c (update_equiv_regs): Add insn having equiv memory even if
	it is not lhs of the insn.
	(setup_reg_equiv): Remove insn having equiv memory which it is not
	lhs of the insn.
	* lra-constraints.c (process_address): Try to improve generation
	code for address base + disp.
	(lra_constraints): Make correct the code for checking insn setting
	up backward equivalence.  Remove insn only if it is in the init
	insn list.
	* lra-eliminations.c (update_reg_eliminate): Change return value.
	(lra_eliminate): Use the result.

From-SVN: r198695
2013-05-07 19:29:05 +00:00
Uros Bizjak
3f5783ea1b sse.md (ssescalarnummask): New mode attribute.
* config/i386/sse.md (ssescalarnummask): New mode attribute.
	(PEXTR_MODE, PEXTR_MODEx): New mode iterators.
	(*vec_extract<mode>): Merge from *sse4_1_pextrb_memory and
	*sse4_1_pextrw_memory. Handle register target operands.
	(*vec_extractv8hi_sse2): New pattern.
	(*vec_extractv16qi_zext): Rename from *sse4_1_pextrb_<mode>.
	(*vec_extractv8hi_zext): Rename from *sse2_pextrw_<mode>.
	(*vec_extract<mode>_mem): New insn and split pattern.

From-SVN: r198691
2013-05-07 19:57:10 +02:00
Ian Bolton
924af4dc3e AArch64 testcases for ANDS instruction
From-SVN: r198684
2013-05-07 14:41:17 +00:00
Christophe Lyon
8a5800b82f arm.c (arm_asan_shadow_offset): New function.
2013-05-06  Christophe Lyon  <christophe.lyon@linaro.org>

	gcc/
	* config/arm/arm.c (arm_asan_shadow_offset): New function.
	(TARGET_ASAN_SHADOW_OFFSET): Define.
	* config/arm/linux-eabi.h (ASAN_CC1_SPEC): Define.
	(LINUX_OR_ANDROID_CC): Add ASAN_CC1_SPEC.

	libsanitizer/
	* configure.tgt: Add ARM pattern.

	testsuite/
	* lib/target-supports.exp (check_effective_target_hw): New
	function.
	* c-c++-common/asan/clone-test-1.c: Call
	check_effective_target_hw.
	* c-c++-common/asan/rlimit-mmap-test-1.c: Likewise.
	* c-c++-common/asan/heap-overflow-1.c: Update regexps to accept
	possible decorations.
	* c-c++-common/asan/null-deref-1.c: Likewise.
	* c-c++-common/asan/stack-overflow-1.c: Likewise.
	* c-c++-common/asan/strncpy-overflow-1.c: Likewise.
	* c-c++-common/asan/use-after-free-1.c: Likewise.
	* g++.dg/asan/deep-thread-stack-1.C: Likewise.
	* g++.dg/asan/large-func-test-1.C: Likewise.

From-SVN: r198683
2013-05-07 16:17:50 +02:00
Bill Schmidt
7bf55a70ea gimple-ssa-strength-reduction.c (MAX_INCR_VEC_LEN): New constant.
2013-05-07  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gimple-ssa-strength-reduction.c (MAX_INCR_VEC_LEN): New constant.
	(incr_vec_index): Return -1 if increment not found.
	(create_add_on_incoming_edge): Assert if increment not found.
	(record_increment): Limit number of increments recorded.
	(all_phi_incrs_profitable): Return false if an increment not found.
	(replace_profitable_candidates): Don't process increments that were
	not recorded.
	(analyze_candidates_and_replace): Limit size of incr_vec.

From-SVN: r198682
2013-05-07 14:11:21 +00:00
Richard Biener
3f8825c030 calls.c (special_function_p): setjmp-like functions are leaf.
2013-05-07  Richard Biener  <rguenther@suse.de>

	* calls.c (special_function_p): setjmp-like functions are leaf.
	* builtins.def (BUILT_IN_SETJMP): setjmp is leaf.
	* tree-inline.c (update_ssa_across_abnormal_edges): Remove assert.

From-SVN: r198681
2013-05-07 13:02:36 +00:00
Sofiane Naci
fd4842cd67 aarch64-simd.md (*aarch64_simd_mov<mode>): call splitter.
gcc/
	* config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): call splitter.
	(aarch64_simd_mov<mode>): New expander.
	(aarch64_simd_mov_to_<mode>low): New instruction pattern.
	(aarch64_simd_mov_to_<mode>high): Likewise.
	(aarch64_simd_mov_from_<mode>low): Likewise.
	(aarch64_simd_mov_from_<mode>high): Likewise.
	(aarch64_dup_lane<mode>): Update.
	(aarch64_dup_lanedi): New instruction pattern.
	* config/aarch64/aarch64-protos.h (aarch64_split_simd_move): New prototype.
	* config/aarch64/aarch64.c (aarch64_split_simd_move): New function.

	testsuites/
	* gcc.target/aarch64/scalar_intrinsics.c: Update.

From-SVN: r198680
2013-05-07 12:47:18 +00:00
Bill Schmidt
a7a7d10ed5 gimple-ssa-strength-reduction.c (lazy_create_slsr_reg): Remove.
2013-05-07  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gimple-ssa-strength-reduction.c (lazy_create_slsr_reg): Remove.
	(replace_mult_candidate): Remove unnecessary argument; remove
	unnecessary parameter from call to introduce_cast_before_cand.
	(replace_unconditional_candidate): Remove unnecessary parameter
	from call to replace_mult_candidate.
	(replace_conditional_candidate): Likewise.
	(insert_initializers): Use make_temp_ssa_name.
	(introduce_cast_before_cand): Remove unnecessary argument; use
	make_temp_ssa_name.
	(replace_one_candidate): Remove unnecessary argument; remove
	unnecessary parameter from calls to introduce_cast_before_cand.
	(replace_profitable_candidates): Remove unnecessary parameters
	from calls to replace_one_candidate.

From-SVN: r198679
2013-05-07 12:44:50 +00:00
Bill Schmidt
2910586822 gimple-ssa-strength-reduction.c (find_phi_def): Don't record a phi def as possibly hiding a basis for a CAND_ADD whose operands...
2013-05-07  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gimple-ssa-strength-reduction.c (find_phi_def): Don't record a
	phi def as possibly hiding a basis for a CAND_ADD whose operands
	have been commuted in the analysis.
	(alloc_cand_and_find_basis): Add parms to call to find_phi_def.

From-SVN: r198678
2013-05-07 12:39:32 +00:00
Naveen H.S
4095f9fa67 AArch64: Restrict the shift value in compare extended shift operation
2013-05-07  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

	* config/aarch64/aarch64.md
	(cmp_swp_<optab><ALLX:mode>_shft_<GPI:mode>): Restrict the
	shift value between 0-4.

From-SVN: r198677
2013-05-07 12:20:24 +00:00
Richard Biener
39e843e8a7 double-int.h (rshift): New overload.
2013-05-07  Richard Biener  <rguenther@suse.de>

	* double-int.h (rshift): New overload.
	* double-int.c (rshift): New function.
	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Optimize.
	(create_reference_ops_from_ref): Remove.
	(vn_reference_insert): Use shared ops for constructing the
	reference and copy it.

From-SVN: r198676
2013-05-07 11:26:58 +00:00