Commit Graph

129595 Commits

Author SHA1 Message Date
Richard Biener 8d3c076f3d re PR rtl-optimization/56965 (nonoverlapping_component_refs_p is bogus and slow)
2014-04-15  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/56965
	* alias.c (ncr_compar, nonoverlapping_component_refs_p): Move ...
	* tree-ssa-alias.c (ncr_compar, nonoverlapping_component_refs_p):
	... here.
	* alias.c (true_dependence_1): Do not call
	nonoverlapping_component_refs_p.
	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Call
	nonoverlapping_component_refs_p.
	(indirect_refs_may_alias_p): Likewise.

	* gcc.dg/torture/pr56965-1.c: New testcase.
	* gcc.dg/torture/pr56965-2.c: Likewise.

From-SVN: r209423
2014-04-15 16:04:11 +00:00
Jonathan Wakely 4803acceb2 re PR libstdc++/60594 (std::function of a type with a declared (but not defined) return type fails to compile)
PR libstdc++/60594
	* include/std/functional (function::_Callable): Exclude own type
	from the callable checks.
	* testsuite/20_util/function/60594.cc: New.

From-SVN: r209422
2014-04-15 16:25:52 +01:00
Teresa Johnson d00e4baae7 cfg.c (dump_bb_info): Fix flags check.
2014-04-15  Teresa Johnson  <tejohnson@google.com>

	* cfg.c (dump_bb_info): Fix flags check.
	* tree-cfg.c (remove_bb): Only dump TDF_BLOCKS when removing.

2014-04-15  Teresa Johnson  <tejohnson@google.com>

	* gcc.dg/tree-prof/update-loopch.c: Update expected output.

From-SVN: r209421
2014-04-15 15:12:00 +00:00
Paolo Carlini fe9208efaf decl.c (duplicate_decls): Remove redundant TYPE_NAME use.
2014-04-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* decl.c (duplicate_decls): Remove redundant TYPE_NAME use.
	* name-lookup.c (pushdecl_maybe_friend_1): Likewise.
	(do_class_using_decl): Likewise.
	* mangle.c (dump_substitution_candidates): Use TYPE_NAME_STRING.

From-SVN: r209420
2014-04-15 14:31:40 +00:00
Kyrylo Tkachov 98a2fdfba6 re PR rtl-optimization/60663 (Errors out on valid inline asm)
PR rtl-optimization/60663
	* config/arm/arm.c (arm_new_rtx_costs): Improve ASM_OPERANDS case,
	avoid 0 cost.

From-SVN: r209419
2014-04-15 14:04:06 +00:00
Jonathan Wakely 9ffc6d0bc2 re PR libstdc++/60695 (std::atomic<X> doesn't work when X is of zero size)
PR libstdc++/60695
	* include/std/atomic (atomic<_Tp>): Add static assertion.
	* testsuite/29_atomics/atomic/60695.cc: New.

From-SVN: r209418
2014-04-15 14:48:07 +01:00
Richard Biener b9ed2c2ce1 lto-streamer.h (LTO_major_version): Bump to 4.
2014-04-15  Richard Biener  <rguenther@suse.de>

	* lto-streamer.h (LTO_major_version): Bump to 4.

From-SVN: r209417
2014-04-15 13:25:44 +00:00
Richard Biener 783dab6bd5 common.opt (lto_partition_model): New enum.
2014-04-15  Richard Biener  <rguenther@suse.de>

	* common.opt (lto_partition_model): New enum.
	(flto-partition=): Merge separate options with a single with argument,
	add -flto-partition=one support.
	* flag-types.h (enum lto_partition_model): Declare.
	* opts.c (finish_options): Remove duplicate -flto-partition=
	option check.
	* lto-wrapper.c (run_gcc): Adjust.

	lto/
	* lto.c: Include params.h.
	(do_whole_program_analysis): Switch on flag_lto_partition value,
	add support for LTO_PARTITION_ONE.
	* lto-partition.h (lto_balanced_map): Adjust.
	* lto-partition.c (lto_balanced_map): Get number of desired
	partitions as argument to support -flto-partition=one.

From-SVN: r209416
2014-04-15 12:56:16 +00:00
Eric Botcazou f51b85728a * gcc-interface/trans.c (Case_Statement_to_gnu): Revert latest change.
From-SVN: r209415
2014-04-15 11:09:33 +00:00
Jonathan Wakely 4b3f982994 re PR libstdc++/60734 (Undefined behavior in g++-v4/bits/stl_tree.h)
PR libstdc++/60734
	* include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.

From-SVN: r209414
2014-04-15 11:52:06 +01:00
Richard Biener d8e4ce6d85 alias.c (ncr_compar): New function.
2014-04-15  Richard Biener  <rguenther@suse.de>

	* alias.c (ncr_compar): New function.
	(nonoverlapping_component_refs_p): Re-implement in O (n log n).

From-SVN: r209413
2014-04-15 10:18:28 +00:00
Richard Biener 1999fd7dde alias.c (record_component_aliases): Do not walk BINFOs.
2014-04-15  Richard Biener  <rguenther@suse.de>

	* alias.c (record_component_aliases): Do not walk BINFOs.

From-SVN: r209412
2014-04-15 10:09:40 +00:00
Eric Botcazou e297e2eaa6 decl.c (gnat_to_gnu_entity): Create a mere scalar constant instead of a reference for renaming of scalar literal.
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create a mere
	scalar constant instead of a reference for renaming of scalar literal.
	Do not create a new object for constant renaming except for a function
	call.  Make sure a VAR_DECL is created for the renaming pointer.
	* gcc-interface/trans.c (constant_decl_with_initializer_p): New.
	(fold_constant_decl_in_expr): New function.
	(Identifier_to_gnu): Use constant_decl_with_initializer_p.
	For a constant renaming, try to fold a constant DECL in the result.
	(lvalue_required_p) <N_Object_Renaming_Declaration>: Always return 1.
	(Identifier_to_gnu): Reference the renamed object of constant renaming
	pointers directly.
	(Case_Statement_to_gnu): Do not re-fold the bounds of integer types.
	Assert that the case values are constant.
	* gcc-interface/utils.c (invalidate_global_renaming_pointers): Do not
	invalidate constant renaming pointers.

Co-Authored-By: Pierre-Marie de Rodat <derodat@adacore.com>

From-SVN: r209411
2014-04-15 09:23:21 +00:00
Eric Botcazou e63b36bda5 utils.c (type_for_vector_element_p): New predicate.
* gcc-interface/utils.c (type_for_vector_element_p): New predicate.
	(build_vector_type_for_size): New function.
	(build_vector_type_for_array): Likewise.
	(unchecked_convert): Build an intermediate vector type to convert
	from a generic array type to a vector type.
	(handle_vector_size_attribute): Reimplement.
	(handle_vector_type_attribute): Likewise.

From-SVN: r209410
2014-04-15 08:59:12 +00:00
Eric Botcazou bd6a077a91 decl.c (prepend_one_attribute_pragma): Call Is_OK_Static_Expression in lieu of Is_Static_Expression to detect valid...
* gcc-interface/decl.c (prepend_one_attribute_pragma): Call
	Is_OK_Static_Expression in lieu of Is_Static_Expression to
	detect valid arguments.

From-SVN: r209409
2014-04-15 08:47:29 +00:00
Richard Biener 628169e0d7 tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Add struct function argument and adjust.
2014-04-15  Richard Biener  <rguenther@suse.de>

	* tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
	Add struct function argument and adjust.
	(find_func_aliases_for_call): Likewise.
	(find_func_aliases): Likewise.
	(find_func_clobbers): Likewise.
	(intra_create_variable_infos): Likewise.
	(compute_points_to_sets): Likewise.
	(ipa_pta_execute): Adjust.  Do not push/pop cfun.

From-SVN: r209408
2014-04-15 08:21:56 +00:00
Eric Botcazou d6d215ac5e Minor tweaks
From-SVN: r209407
2014-04-15 08:16:10 +00:00
Richard Biener 349e621099 tree.c (iterative_hash_expr): Use enum tree_code_class to store TREE_CODE_CLASS.
2014-04-15  Richard Biener  <rguenther@suse.de>

	* tree.c (iterative_hash_expr): Use enum tree_code_class
	to store TREE_CODE_CLASS.
	(tree_block): Likewise.
	(tree_set_block): Likewise.
	* tree.h (fold_build_pointer_plus_loc): Use
	convert_to_ptrofftype_loc.

From-SVN: r209406
2014-04-15 08:08:06 +00:00
Jakub Jelinek 4f0ddb6ff6 re PR plugins/59335 (Plugin doesn't build on trunk)
PR plugins/59335
	* Makefile.in (PLUGIN_HEADERS): Add various headers that have been
	added in 4.9.

	* Make-lang.h (CP_PLUGIN_HEADERS): Add type-utils.h.

From-SVN: r209404
2014-04-15 10:02:46 +02:00
Eric Botcazou 718c46016e cfgloop.h (struct loop): Move force_vectorize down.
* cfgloop.h (struct loop): Move force_vectorize down.
	* gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Handle new kinds.
	(gimplify_expr) <ANNOTATE_EXPR>: Minor tweak.
	* lto-streamer-in.c (input_cfg): Read dont_vectorize field.
	* lto-streamer-out.c (output_cfg): Write dont_vectorize field.
	* tree-cfg.c (replace_loop_annotate): Revamp and handle new kinds.
	* tree-core.h (enum annot_expr_kind): Add new kind values.
	* tree-inline.c (copy_loops): Copy dont_vectorize field and reorder.
	* tree-pretty-print.c (dump_generic_node) <ANNOTATE_EXPR>: Handle new
	kinds.
	* tree.def (ANNOTATE_EXPR): Tweak comment.
ada/
	* gcc-interface/trans.c (gnat_gimplify_stmt): Propagate loop hints.

From-SVN: r209403
2014-04-15 08:01:01 +00:00
Max Ostapenko d2994b8069 null-deref-1.c: Change regexp to pass test under qemu-arm.
2014-04-15  Max Ostapenko  <m.ostapenko@partner.samsung.com>

	* c-c++-common/asan/null-deref-1.c: Change regexp to pass test
	under qemu-arm.
	* c-c++-common/ubsan/div-by-zero-1.c: Likewise.
	* c-c++-common/ubsan/div-by-zero-2.c: Likewise.
	* c-c++-common/ubsan/div-by-zero-3.c: Likewise.
	* c-c++-common/ubsan/load-bool-enum.c (foo): Likewise.
	* c-c++-common/ubsan/null-1.c: Likewise.
	* c-c++-common/ubsan/null-10.c: Likewise.
	* c-c++-common/ubsan/null-11.c: Likewise.
	* c-c++-common/ubsan/null-2.c: Likewise.
	* c-c++-common/ubsan/null-3.c: Likewise.
	* c-c++-common/ubsan/null-4.c: Likewise.
	* c-c++-common/ubsan/null-5.c: Likewise.
	* c-c++-common/ubsan/null-6.c: Likewise.
	* c-c++-common/ubsan/null-7.c: Likewise.
	* c-c++-common/ubsan/null-8.c: Likewise.
	* c-c++-common/ubsan/null-9.c: Likewise.
	* c-c++-common/ubsan/overflow-add-2.c: Likewise.
	* c-c++-common/ubsan/overflow-int128.c: Likewise.
	* c-c++-common/ubsan/overflow-mul-2.c: Likewise.
	* c-c++-common/ubsan/overflow-mul-4.c: Likewise.
	* c-c++-common/ubsan/overflow-negate-1.c: Likewise.
	* c-c++-common/ubsan/overflow-sub-2.c: Likewise.
	* c-c++-common/ubsan/pr59333.c: Likewise.
	* c-c++-common/ubsan/pr59667.c: Likewise.
	* c-c++-common/ubsan/pr60613-2.c: Likewise.
	* c-c++-common/ubsan/pr60636.c: Likewise.
	* c-c++-common/ubsan/shift-1.c: Likewise.
	* c-c++-common/ubsan/shift-2.c: Likewise.
	* c-c++-common/ubsan/vla-1.c: Likewise.

From-SVN: r209402
2014-04-15 10:31:51 +03:00
GCC Administrator 052d224e83 Daily bump.
From-SVN: r209399
2014-04-15 00:16:39 +00:00
Jonathan Wakely 025eac9b9e N3887 Consistent Metafunction Aliases
* include/std/tuple (tuple_element_t): Define.
	* testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
	test.
	* testsuite/20_util/tuple/tuple_element_t.cc: New.

From-SVN: r209395
2014-04-15 00:17:52 +01:00
Chris Manghane 7035307e8f Sync to current external repository.
user:        Ian Lance Taylor <iant@golang.org>
date:        Thu Apr 10 09:25:24 2014 -0700
files:       go/expressions.cc
description:
compiler: add checks for constant overflow

Prevent extremely large constants from eating all of memory.


user:        Chris Manghane <cmang@golang.org>
date:        Mon Apr 07 16:57:09 2014 -0700
files:       go/gogo-tree.cc go/gogo.cc go/gogo.h go/statements.cc
description:
compiler: Use backend interface for variable initialization.


user:        Chris Manghane <cmang@golang.org>
date:        Thu Apr 03 19:56:05 2014 -0700
files:       go/backend.h go/gogo-tree.cc go/gogo.cc go/gogo.h
description:
compiler: Use backend interface to build function code.


changeset:   1269:6e30875d539e
user:        Chris Manghane <cmang@golang.org>
date:        Wed Apr 02 13:16:00 2014 -0700
files:       go/backend.h go/gogo-tree.cc go/gogo.cc go/gogo.h
description:
compiler: Use backend interface for building function defer wrappers.


user:        Chris Manghane <cmang@golang.org>
date:        Mon Mar 31 12:42:49 2014 -0700
files:       go/expressions.cc go/gogo-tree.cc go/gogo.cc go/gogo.h
description:
compiler: Use backend interface for memory allocation.


user:        Chris Manghane <cmang@golang.org>
date:        Thu Mar 27 14:22:49 2014 -0700
files:       go/backend.h go/expressions.cc go/expressions.h
description:
compiler: Use backend interface for fixed array construction.


user:        Chris Manghane <cmang@golang.org>
date:        Mon Mar 17 21:25:04 2014 -0700
files:       go/expressions.cc
description:
compiler: Check for loops in self-referential array types. Fixes issue 7525.


user:        Chris Manghane <cmang@golang.org>
date:        Mon Mar 17 14:31:59 2014 -0700
files:       go/gogo.cc go/parse.cc
description:
compiler: Don't declare blank labels. Fixes issue 7539.


user:        Chris Manghane <cmang@golang.org>
date:        Mon Mar 17 13:12:32 2014 -0700
files:       go/backend.h go/expressions.cc go/expressions.h go/runtime.def
description:
compiler: Use backend interface for call expressions.


user:        Chris Manghane <cmang@golang.org>
date:        Wed Mar 12 13:34:27 2014 -0700
files:       go/expressions.cc go/expressions.h go/gogo-tree.cc go/statements.cc
description:
compiler: Use backend interface map construction.


user:        Chris Manghane <cmang@golang.org>
date:        Tue Mar 11 12:53:06 2014 -0700
files:       go/backend.h go/expressions.cc go/gogo-tree.cc go/gogo.h
description:
compiler: Use backend interface for string expressions.


user:        Chris Manghane <cmang@golang.org>
date:        Sat Mar 08 15:56:59 2014 -0800
files:       go/backend.h go/expressions.cc go/expressions.h
description:
compiler: Use backend interface for array and string indexing.


user:        Chris Manghane <cmang@golang.org>
date:        Fri Mar 07 16:02:18 2014 -0800
files:       go/expressions.cc
description:
compiler: Use backend interface for constant expressions.


user:        Chris Manghane <cmang@golang.org>
date:        Thu Mar 06 16:00:18 2014 -0800
files:       go/expressions.cc
description:
compiler: Use backend interface for struct construction.


user:        Chris Manghane <cmang@golang.org>
date:        Wed Mar 05 13:09:37 2014 -0800
files:       go/expressions.cc
description:
compiler: Use backend interface for type conversions.


user:        Chris Manghane <cmang@golang.org>
date:        Tue Mar 04 07:03:47 2014 -0800
files:       go/expressions.cc go/expressions.h go/gogo-tree.cc go/gogo.h go/runtime.def libgo/runtime/chan.c
description:
compiler: Use backend interface for channel receive.


user:        Chris Manghane <cmang@golang.org>
date:        Mon Mar 03 15:18:57 2014 -0800
files:       go/backend.h go/expressions.cc go/runtime.def
description:
compiler: Use backend interface for builtin calls.


user:        Chris Manghane <cmang@golang.org>
date:        Mon Mar 03 07:44:35 2014 -0800
files:       go/expressions.cc go/expressions.h go/types.cc go/types.h
description:
compiler: Use backend interface for string info.


user:        Chris Manghane <cmang@golang.org>
date:        Fri Feb 28 10:45:55 2014 -0800
files:       go/expressions.cc go/expressions.h go/gogo-tree.cc go/statements.cc
description:
compiler: Use backend interface for map indexing.


user:        Chris Manghane <cmang@golang.org>
date:        Wed Feb 26 14:13:10 2014 -0800
files:       go/expressions.cc go/expressions.h
description:
compiler: Use backend interface for slice value expressions.


user:        Chris Manghane <cmang@golang.org>
date:        Wed Feb 26 13:12:19 2014 -0800
files:       go/backend.h go/expressions.cc go/expressions.h go/gogo-tree.cc go/runtime.def go/statements.cc
description:
compiler: Use backend interface for interface values.


user:        Chris Manghane <cmang@golang.org>
date:        Mon Feb 24 12:30:13 2014 -0800
files:       go/expressions.cc go/expressions.h go/parse.cc go/statements.cc
description:
compiler: Change Heap_composite_expression to Heap_expression.


user:        Chris Manghane <cmang@golang.org>
date:        Thu Feb 20 19:47:06 2014 -0800
files:       go/expressions.cc go/expressions.h go/gogo-tree.cc go/gogo.cc go/gogo.h go/types.cc go/types.h
description:
compiler: Use backend interface for interface method table expressions.


user:        Chris Manghane <cmang@golang.org>
date:        Mon Feb 03 14:36:20 2014 -0800
files:       go/expressions.cc go/expressions.h
description:
compiler: Add compound expressions to the frontend.


	* go-gcc.cc: Include "convert.h".
	(Gcc_backend::string_constant_expression): New function.
	(Gcc_backend::real_part_expression): Likewise.
	(Gcc_backend::imag_part_expression): Likewise.
	(Gcc_backend::complex_expression): Likewise.
	(Gcc_backend::constructor_expression): Likewise.
	(Gcc_backend::array_constructor_expression): Likewise.
	(Gcc_backend::pointer_offset_expression): Likewise.
	(Gcc_backend::array_index_expression): Likewise.
	(Gcc_backend::call_expression): Likewise.
	(Gcc_backend::exception_handler_statement): Likewise.
	(Gcc_backend::function_defer_statement): Likewise.
	(Gcc_backend::function_set_parameters): Likewise.
	(Gcc_backend::function_set_body): Likewise.
	(Gcc_backend::convert_expression): Handle various type
	conversions.

From-SVN: r209393
2014-04-14 22:43:47 +00:00
Jan Hubicka 88f592e3f4 ipa-devirt.c (maybe_record_node): Ignore all non-methods (including cxa_pure_virtual).
* ipa-devirt.c (maybe_record_node): Ignore all non-methods (including
	cxa_pure_virtual).

From-SVN: r209391
2014-04-14 19:59:00 +00:00
Paolo Carlini 9dba4b5565 tree.h (TYPE_IDENTIFIER): Declare.
2014-04-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* tree.h (TYPE_IDENTIFIER): Declare.
	* tree.c (subrange_type_for_debug_p): Use it.
	* godump.c (go_format_type): Likewise.
	* dwarf2out.c (is_cxx_auto, modified_type_die,
	gen_type_die_with_usage, gen_type_die_with_usage): Likewise.
	* dbxout.c (dbxout_type, dbxout_symbol): Likewise.

/cp
2014-04-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* cp-tree.h (TYPE_IDENTIFIER): Remove declaration.
      	    
/objcp
2014-04-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* objcp-decl.h (OBJC_TYPE_NAME, OBJC_SET_TYPE_NAME): Use
	TYPE_IDENTIFIER.

/ada
2014-04-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity, components_to_record):
	Use TYPE_IDENTIFIER.
	* gcc-interface/utils.c (make_aligning_type, maybe_pad_type,
	finish_record_type, rest_of_record_type_compilation): Likewise.

From-SVN: r209390
2014-04-14 18:10:27 +00:00
Jan Hubicka 006202e8c0 re PR lto/60820 (ice in ctor_for_folding, at varpool.c:291)
PR lto/60820
	* varpool.c (varpool_remove_node): Do not alter decls when streaming.

From-SVN: r209389
2014-04-14 17:53:34 +00:00
Uros Bizjak e0a81db125 i386.c (examine_argument): Return bool.
* config/i386/i386.c (examine_argument): Return bool.  Return true if
	parameter should be passed in memory.
	<case X86_64_COMPLEX_X87_CLASS>: Adjust.
	(construct_container): Update calls to examine_argument.
	(function_arg_advance_64): Ditto.
	(return_in_memory_32): Merge with ix86_return_in_memory.
	(return_in_memory_64): Ditto.
	(return_in_memory_ms_64): Ditto.

From-SVN: r209388
2014-04-14 19:49:36 +02:00
Jan Hubicka cb90235dad ipa-utils.c (ipa_merge_profiles): Merge profile_id.
* ipa-utils.c (ipa_merge_profiles): Merge profile_id.
	* coverage.c (coverage_compute_profile_id): Handle externally visible
	symbols.

	* lto/lto-symtab.c (lto_cgraph_replace_node): Don't re-merge
	tp_first_run.

From-SVN: r209387
2014-04-14 17:18:54 +00:00
Martin Jambor 7b3b340eaf tree-sra.c (ipa_sra_preliminary_function_checks): Skip DECL_DISREGARD_INLINE_LIMITS functions.
2014-04-14  Martin Jambor  <mjambor@suse.cz>

	* tree-sra.c (ipa_sra_preliminary_function_checks): Skip
	DECL_DISREGARD_INLINE_LIMITS functions.

From-SVN: r209386
2014-04-14 19:17:27 +02:00
H.J. Lu 2ed3b4ee02 Revert the last change on *fixuns_trunc<mode>_1
PR target/60827
	* config/i386/i386.md (*fixuns_trunc<mode>_1): Revert the last
	change.

From-SVN: r209385
2014-04-14 10:01:03 -07:00
H.J. Lu 10fa463ff7 Check optimize_insn_for_speed_p in *fixuns_trunc<mode>_1
Since fixuns_trunc<mode>si2 expander checks optimize_insn_for_size_p
before generating *fixuns_trunc<mode>_1,  we should use
optimize_insn_for_speed_p in *fixuns_trunc<mode>_1 for consistency.

	PR target/60827
	* config/i386/i386.md (*fixuns_trunc<mode>_1): Check
	optimize_insn_for_speed_p instead of
	optimize_function_for_speed_p.

From-SVN: r209383
2014-04-14 09:49:24 -07:00
Jonathan Wakely 39e6a690ec 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): Qualify calls to prevent ADL.
	* testsuite/20_util/tuple/60497.cc: New.

From-SVN: r209381
2014-04-14 16:32:58 +01:00
Jonathan Wakely e364673d87 allocator.h (operator==, operator!=): Add exception specifications.
* include/bits/allocator.h (operator==, operator!=): Add exception
	specifications.

From-SVN: r209379
2014-04-14 16:13:02 +01:00
Jonathan Wakely 5b99e0a022 Limit operations on vector::pointer to NullablePointer requirements.
* include/bits/stl_vector.h (_Vector_base::_Vector_impl,
	_Vector_base::_M_allocate): NullablePointer requirements do not
	include initialization from literal zero, use value-initialization.
	* include/bits/vector.tcc (vector::_M_insert_aux,
	vector::_M_explace_back_aux): Likewise for assignment.

From-SVN: r209377
2014-04-14 15:51:35 +01:00
Yufeng Zhang b621e87556 invoke.texi (free): Document AArch64.
gcc/

	* doc/invoke.texi (free): Document AArch64.

From-SVN: r209376
2014-04-14 14:40:02 +00:00
Eric Botcazou 3418f5e92a snames.ads-tmpl (Name_Ivdep): New pragma-related name.
* snames.ads-tmpl (Name_Ivdep): New pragma-related name.
	* sem_prag.adb (Analyze_Pragma) <Pragma_Loop_Optimize>: Add support
	for Ivdep hint.
	* gnat_rm.texi (Implementation Defined Pragmas): Document new Ivdep
	hint for Loop_Optimize.
	* gnat_ugn.texi (Vectorization of loops): Mention new Ivdep hint.
	* gcc-interface/trans.c (Pragma_to_gnu) <Pragma_Loop_Optimize>: Deal
	with new Ivdep hint.
	* gcc-interface/ada-tree.h (LOOP_STMT_IVDEP): New macro.
	* gcc-interface/trans.c (Pragma_to_gnu) <Pragma_Loop_Optimize>: Deal
	with new Ivdep hint.
	(gnat_gimplify_stmt) <LOOP_STMT>: Propagate the loop hints.

From-SVN: r209375
2014-04-14 14:18:26 +00:00
Richard Biener cddaefa376 re PR tree-optimization/60042 (vectorizer still does too many dependence tests for himeno:jacobi)
2014-04-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/60042
	* tree-ssa-pre.c (inhibit_phi_insertion): Remove.
	(insert_into_preds_of_block): Do not prevent PHI insertion
	for REFERENCE exprs here ...
	(eliminate_dom_walker::before_dom_children): ... but prevent
	their use here under similar conditions when applied to the
	IL after PRE optimizations.

From-SVN: r209374
2014-04-14 13:57:00 +00:00
Richard Biener a9e4c82f99 passes.def: Move early points-to after early SRA.
2014-04-14  Richard Biener  <rguenther@suse.de>

	* passes.def: Move early points-to after early SRA.

From-SVN: r209373
2014-04-14 13:55:46 +00:00
Richard Biener 7b4cae1b53 tree-ssa-forwprop.c (simplify_gimple_switch): Enhance check for which sign-changes we allow when...
2014-04-14  Richard Biener  <rguenther@suse.de>

	* tree-ssa-forwprop.c (simplify_gimple_switch): Enhance
	check for which sign-changes we allow when forwarding
	a converted value into a switch.

	* g++.dg/tree-ssa/forwprop-switch.C: New testcase.

From-SVN: r209372
2014-04-14 13:53:35 +00:00
Eric Botcazou 4116e7d0e0 opt.ads (Suppress_Back_Annotation): Remove as unused.
* opt.ads (Suppress_Back_Annotation): Remove as unused.
	* fe.h (Back_Annotate_Rep_Info): Likewise.
	(Global_Discard_Names): Likewise.
	(List_Representation_Info): Declare.
	* types.h (Uint_Minus_1): Likewise.
	* repinfo.ads: Document back-annotation change.
	* gcc-interface/gigi.h (init_gnat_decl): Declare.
	(destroy_gnat_decl): Likewise.
	* gcc-interface/decl.c (annotate_value): Do not create the cache of
	annotated values here but...
	<CALL_EXPR>: Only inline the call if -gnatR3 is specified or we are
	in ASIS mode.
	(init_gnat_decl): ...here instead.  New function.
	(destroy_gnat_decl): Likewise.
	* gcc-interface/trans.c (gigi): Call {init|destroy}_gnat_decl.
	* gcc-interface/utils.c (init_gnat_utils): Minor reformatting.

Co-Authored-By: Robert Dewar <dewar@adacore.com>

From-SVN: r209371
2014-04-14 13:51:42 +00:00
Eric Botcazou cb27986c9b stor-layout.c (place_field): Finalize non-constant offset for the field, if any.
* stor-layout.c (place_field): Finalize non-constant offset for the
	field, if any.
ada/
	* gcc-interface/decl.c (create_field_decl_from): Finalize non-constant
	offset for the field, if any.

From-SVN: r209369
2014-04-14 13:33:23 +00:00
Rainer Orth 069fdd05da Skip gcc.dg/lto/pr55113 on Solaris 10+/x86
* gcc.dg/lto/pr55113_0.c: Skip on i?86-*-solaris2.1[0-1]*.

From-SVN: r209367
2014-04-14 12:52:00 +00:00
Richard Biener b0f1bf3681 re PR c/60819 (dse1 removing not-dead insn (aliasing issue?))
2014-04-14  Richard Biener  <rguenther@suse.de>
	Marc Glisse  <marc.glisse@inria.fr>

	PR c/60819
	c-family/
	* c-common.c (convert_vector_to_pointer_for_subscript): Properly
	apply may-alias the scalar pointer type when applicable.

	* gcc.target/i386/vec-may_alias.c: New testcase.

Co-Authored-By: Marc Glisse <marc.glisse@inria.fr>

From-SVN: r209365
2014-04-14 11:49:42 +00:00
Richard Biener 7279878442 tree-switch-conversion.c (lshift_cheap_p): Get speed_p as argument.
2014-04-14  Richard Biener  <rguenther@suse.de>

	* tree-switch-conversion.c (lshift_cheap_p): Get speed_p
	as argument.
	(expand_switch_using_bit_tests_p): Likewise.
	(process_switch): Compute and pass on speed_p based on the
	switch stmt.
	* tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
	optimize_bb_for_speed_p.

From-SVN: r209364
2014-04-14 11:48:22 +00:00
Eric Botcazou b15b597946 cfgloop.h (struct loop): Rename force_vect into force_vectorize.
* cfgloop.h (struct loop): Rename force_vect into force_vectorize.
	* function.h (struct function): Rename has_force_vect_loops into
	has_force_vectorize_loops.
	* lto-streamer-in.c (input_cfg): Adjust for renaming.
	(input_struct_function_base): Likewise.
	* lto-streamer-out.c (output_cfg): Likewise.
	(output_struct_function_base): Likewise.
	* omp-low.c (expand_omp_simd): Likewise.
	* tree-cfg.c (move_sese_region_to_fn): Likewise.
	* tree-if-conv.c (ifcvt_can_use_mask_load_store): Likewise.
	(version_loop_for_if_conversion): Likewise.
	(tree_if_conversion): Likewise.
	(main_tree_if_conversion): Likewise.
	(gate_tree_if_conversion): Likewise.
	* tree-inline.c (copy_loops): Likewise.
	* tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Likewise.
	* tree-ssa-loop.c (tree_loop_vectorize): Likewise.
	* tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
	* tree-vect-loop.c (vect_estimate_min_profitable_iters): Likewise.
	* tree-vectorizer.c (vectorize_loops): Likewise.
	* tree-vectorizer.h (unlimited_cost_model): Likewise.

From-SVN: r209362
2014-04-14 10:42:12 +00:00
Rainer Orth e5b1a4bc24 Fix vect_widen_mult_si_to_di_pattern on non-x86/ia64 targets
* lib/target-supports.exp
	(check_effective_target_vect_widen_mult_si_to_di_pattern):
	Initialize et_vect_widen_mult_si_to_di_pattern_saved.
	Fix formatting.

From-SVN: r209361
2014-04-14 10:23:25 +00:00
Paolo Carlini 8095617bca pt.c (mark_template_parm): Use template_parm_level_and_index.
2014-04-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* pt.c (mark_template_parm): Use template_parm_level_and_index.

From-SVN: r209360
2014-04-14 09:29:09 +00:00
Richard Biener 8359c87e12 re PR lto/60720 (clisp fails to build with -flto: internal compiler error: tree check: expected array_type, have record_type in array_ref_low_bound, at expr.c:6941)
2014-04-14  Richard Biener  <rguenther@suse.de>

	PR lto/60720
	* lto-streamer-out.c (wrap_refs): New function.
	(lto_output): Wrap symbol references in global initializes in
	type-preserving MEM_REFs.

	* gcc.dg/lto/pr60720_0.c: New testcase.
	* gcc.dg/lto/pr60720_1.c: Likewise.

From-SVN: r209359
2014-04-14 08:35:22 +00:00
Christian Bruel 9447df74c0 sh-mem.cc (sh_expand_strlen): Unroll last word.
2014-04-14  Christian Bruel  <christian.bruel@st.com>

       * config/sh/sh-mem.cc (sh_expand_strlen): Unroll last word.

From-SVN: r209358
2014-04-14 10:31:34 +02:00