1. 10 Nov, 2014 40 commits
    • Major maintenance patch of the profile mode. · b12db708
      2014-11-10  François Dumont  <fdumont@gcc.gnu.org>
      
      	Major maintenance patch of the profile mode.
      	* include/profile/impl/profiler_container_size.h
      	(__container_size_info()): Delete.
      	(__container_size_info(const __container_size_info&)): Delete.
      	(virtual ~__container_size_info()): Delete.
      	(__container_size_info(__stack_t, size_t)): Delete.
      	(__container_size_info(__stack_t)): New.
      	(__container_size_info::__init(size_t)): New.
      	(__container_size_info::__merge): Call __object_info_base::__merge.
      	(__trace_container_size::__construct): Delete declaration.
      	(__trace_container_size::__insert): Return __container_size_info*,
      	call __init.
      	* include/profile/impl/profiler_hash_func.h
      	(__hashfunc_into()): Delete.
      	(__hashfunc_info(const __hashfunc_info&)): Delete.
      	(virtual ~__hashfunc_info()): Delete.
      	(__hashfunc_info::__merge): Call __object_info_base::__merge.
      	(__trace_hash_func::__insert): Delete.
      	(__trace_hash_func_free): New.
      	(__trace_hash_func_report): Call __trace_report.
      	(__trace_hash_func_construct): Return __hashfunc_info*. Add check for
      	reentrancy.
      	* include/profile/impl/profiler_hashtable_size.h
      	(__trace_hashtable_size_free): New.
      	(__trace_hashtable_size_report): Call __trace_report.
      	(__trace_hashtable_size_construct): Return __container_size_info*. Add
      	check for reentrancy.
      	* include/profile/impl/profiler_list_to_slist.h
      	(__list2slist_info()): Delete.
      	(__list2slist_info(const __list2slist_info&)): Delete.
      	(virtual ~__list2slist_info()): Delete.
      	(__trace_list_to_slist::__merge(const __list2slist_info&)): Delete.
      	(__trace_list_to_slist::__opr_rewind(const void*)): Delete.
      	(__trace_list_to_slist::__record_operation(const void*)): Delete.
      	(__trace_list_to_slist::__insert(const __object_t, __stack_t)): Delete.
      	(__trace_list_to_slist::__destruct): Only call __retire_object.
      	(__trace_list_to_slist_free()): New.
      	(__trace_list_to_slist_report): Call __trace_report.
      	(__trace_list_to_slist_construct): Return __list2slist_info*. Add check
      	for reentrancy.
      	* include/profile/impl/profiler_list_to_vector.h
      	(__list2vector_info()): Delete.
      	(__list2vector_info(const __list2vector_info&)): Delete.
      	(virtual ~__list2vector_info()): Delete.
      	(_list2vector_info::__is_valid): Delete.
      	(_list2vector_info::__set_invalid): Delete.
      	(_list2vector_info::__opr_iterate): Use atomic operation.
      	(_list2vector_info::_M_valid): Delete.
      	(__trace_list_to_vector::__insert): Delete.
      	(__trace_list_to_vector::__find): Delete.
      	(__trace_list_to_vector::__opr_insert): Delete.
      	(__trace_list_to_vector::__opr_iterate): Delete.
      	(__trace_list_to_vector::__invalid_operator): Delete.
      	(__trace_list_to_vector::__resize): Delete.
      	(__trace_list_to_vector_free): New.
      	(__trace_list_to_vector_report): Call __trace_report.
      	(__trace_list_to_vector_construct): Return __list2vector_info*. Add
      	check for reentrancy.
      	* include/profile/impl/profiler_map_to_unordered_map.h
      	(__map2umap_info()): Delete.
      	(__map2umap_info(const __map2umap_info&)): Delete.
      	(virtual ~__map2umap_info()): Delete.
      	(__map2umap_info::__record_iterate): Use atomic operation.
      	(__map2umap_info::__set_iterate_costs): New.
      	(__map2umap_info::__record_invalidate): Delete.
      	(__map2umap_info::_M_valid): Delete.
      	(__trace_map2umap::__destruct): New.
      	(__trace_map_to_unordered_map_free): New.
      	(__trace_map_to_unordered_map_report): Call __trace_report.
      	(__trace_map_to_unordered_map_construct): Return __map2umap_info*. Add
      	check for reentrancy.
      	* include/profile/impl/profiler_node.h (__object_t): Delete typedef.
      	(__get_stack): Return null stack trace in case of (bad_alloc) exception.
      	(__object_info_base()): Delete.
      	(__object_info_base(const __object_info_base&)): Delete.
      	(virtual ~__object_info_base()): Delete.
      	(__object_info_base::__set_invalid): New.
      	(__object_info_base::__merge): New.
      	(virtual void __write(FILE*)): Delete.
      	(class __stack_info_base): Delete.
      	* include/profile/impl/profiler_trace.h (__global_lock): Rename into
      	__global_mutex.
      	(__trace_vector_size_free): New declaration.
      	(__trace_hashtable_size_free): Likewise.
      	(__trace_hash_func_free): Likewise.
      	(__trace_vector_to_list_free): Likewise.
      	(__trace_list_to_slist_free): Likewise.
      	(__trace_list_to_vector_free): Likewise.
      	(__trace_map_to_unordered_map_free): Likewise.
      	(__trace_base::~__trace_base()): Not virtual anymore. Delete stored
      	backtrace information.
      	(__trace_base::__add_object): Return __object_info*, take only a stack
      	trace.
      	(__trace_base::__get_object_info): Delete.
      	(__trace_base::__retire_object): Take __object_info* instead of
      	__object_t.
      	(__trace_base::__object_table_lock): Delete.
      	(__trace_base::__stack_table_lock): Delete.
      	(__trace_base::__object_table_t): Delete typedef.
      	(__trace_base::__object_table): Delete.
      	(__trace_base::__trace_mutex): New.
      	(__trace_base::__object_byte_size): New.
      	(__trace_report): New.
      	(__report): Use __gnu_cxx::__scoped_lock to lock/unlock __global_mutex
      	rather than explicitely calling lock() method, exception safe.
      	(__report_and_free): New. Call __report and free all profile mode
      	resources.
      	(__profcxx_init_unconditional): Use __scoped_lock. Register
      	__report_and_free with atexit.
      	* include/profile/impl/profiler_vector_size.h
      	(__trace_vector_size_free): New.
      	(__trace_vector_size_report): Call __trace_report.
      	(__trace_vector_size_construct): Return __container_size_info*. Add
      	check for reentrancy.
      	* include/profile/impl/profiler_vector_to_list.h
      	(__vector2list_info()): Delete.
      	(virtual ~__vector2list_info()): Delete.
      	(__vector2list_info(const __vector2list_info&)): Delete.
      	(__vector2list_info::__merge): Call __object_info_base::__merge.
      	(__vector2list_info::__is_valid): Delete.
      	(__vector2list_info::__set_valid): Delete.
      	(__vector2list_info::__opr_find): Delete.
      	(__vector2list_info::_M_valid): Delete.
      	(__trace_vector_to_list::__insert): Delete.
      	(__trace_vector_to_list::__find): Delete.
      	(__trace_vector_to_list::__opr_insert): Delete.
      	(__trace_vector_to_list::__opr_iterate): Delete.
      	(__trace_vector_to_list::__invalid_operator): Delete.
      	(__trace_vector_to_list::__resize): Delete.
      	(__trace_vector_to_list::__opr_find): Delete.
      	(__trace_vector_to_list_free): New.
      	(__trace_vector_to_list_report): Call __trace_report.
      	(__trace_vector_to_list_construct): Return __vector2list_info*. Add
      	check for reentrancy.
      	* include/profile/iterator_tracker.h
      	(__iterator_tracker<>::operator=): Add missing _M_ds assignment.
      	(__iterator_tracker<>::_M_find): Delete.
      	* include/profile/impl/profiler.h
      	([_GLIBCXX_PROFILE_REENTRANCE_GUARD]): Delete.
      	(__container_size_info): Add class declaration.
      	(__hashfunc_info): Likewise.
      	(__map2umap_info): Likewise.
      	(__vector2list_info): Likewise.
      	(__list2slist_info): Likewise.
      	(__list2vector_info): Likewise.
      	(__trace_list_to_set_destruct): Delete declaration.
      	(__trace_list_to_set_construct): Likewise.
      	(__trace_list_to_set_insert): Likewise.
      	(__trace_list_to_set_iterate): Likewise.
      	(__trace_list_to_set_invalid_operator): Likewise.
      	(__trace_list_to_set_find): Likewise.
      	([__profcxx_report]): Remove usage of _GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	([__profcxx_turn_on]): Likewise.
      	([__profcxx_turn_off]): Likewise.
      	([__profcxx_is_invalid]): Likewise.
      	([__profcxx_is_on]): Likewise.
      	([__profcxx_is_off]): Likewise.
      	([__profcxx_hashtable_resize]): Likewise.
      	([__profcxx_hashtable_destruct]): Likewise.
      	([__profcxx_hashtable_construct]): Likewise.
      	([__profcxx_vector_size_construct]): Likewise.
      	([__profcxx_vector_size_resize]): Likewise.
      	([__profcxx_vector_size_destruct]): Likewise.
      	([__profcxx_inefficient_hash_is_on]): Delete.
      	([__profcxx_hash_func_construct]): Remove usage of
      	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	([__profcxx_hash_func_destruct]): Likewise.
      	([__profcxx_vector_construct2]): Rename into...
      	([__profcxx_vector2list_construct]): ... this. Remove usage of
      	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	([__profcxx_vector_insert]): Rename into...
      	([__profcxx_vector2list_insert]): ... this. Remove usage of
      	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	([__profcxx_vector_iterate]): Rename into...
      	([__profcxx_vector2list_iterate]): ... this. Remove usage of
      	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	([__profcxx_vector_invalid_operator]): Rename into...
      	([__profcxx_vector2list_invalid_operator]): ... this. Remove usage of
      	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	([__profcxx_vector_resize2]): Rename into...
      	([__profcxx_vector2list_resize]): ... this. Remove usage of
      	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	([__profcxx_vector_destruct2]): Rename into...
      	([__profcxx_vector2list_destruct]): ... this. Remove usage of
      	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	([__profcxx_vector_find]): Delete.
      	([__profcxx_list_construct2]): Rename into...
      	([__profcxx_list2vector_construct]): ... this. Remove usage of
      	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	([__profcxx_list_insert]): Rename into...
      	([__profcxx_list2vector_insert]): ... this. Remove usage of
      	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	([__profcxx_list_iterate]): Rename into...
      	([__profcxx_list2vector_iterate]): ... this. Remove usage of
      	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	([_profcxx_list_invalid_operator]): Rename into...
      	([__profcxx_list2vector_invalid_operator]): ... this. Remove usage of
      	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	([__profcxx_list_destruct2]): Rename into...
      	([__profcxx_list2vector_destruct]): ... this. Remove usage of
      	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	([__profcxx_list_construct]): Rename into...
      	([__profcxx_list2slist_construct]): ... this. Remove usage of
      	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	([__profcxx_list_rewind]): Rename into...
      	([__profcxx_list2slist_rewind]): ... this. Remove usage of
      	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	([__profcxx_list_operation]): Rename into...
      	([__profcxx_list2slist_operation]): ... this. Remove usage of
      	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	([__profcxx_list_destruct]): Rename into...
      	([__profcxx_list2slist_destruct]): ... this. Remove usage of
      	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	([__profcxx_map_to_unordered_map_construct]): Rename into...
      	([__profcxx_map2umap_construct]): ... this. Remove usage of
      	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	([__profcxx_map_to_unordered_map_insert]): Rename into...
      	([__profcxx_map2umap_insert]): ... this. Remove usage of
      	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	([__profcxx_map_to_unordered_map_erase]): Rename into...
      	([__profcxx_map2umap_erase]): ... this. Remove usage of
      	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	([__profcxx_map_to_unordered_map_iterate]): Rename into...
      	([__profcxx_map2umap_iterate]): ... this. Remove usage of
      	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	([__profcxx_map_to_unordered_map_invalidate]): Rename into...
      	([__profcxx_map2umap_invalidate]): ... this. Remove usage of
      	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	([__profcxx_map_to_unordered_map_find]): Rename into...
      	([__profcxx_map2umap_find]): ... this. Remove usage of
      	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	([__profcxx_map_to_unordered_map_destruct]): Rename into...
      	([__profcxx_map2umap_destruct]): ... this. Remove usage of
      	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
      	* include/profile/list
      	(_List_profile): Adapt.
      	(_List_profile::_M_profile_construct): New.
      	(_List_profile()): Call latter.
      	(_List_profile::_M_profile_destruct): New.
      	(~_List_profile()): Call latter.
      	(_List_profile::_M_swap): New.
      	(_List_profile(_List_profile&&)): Call latter.
      	(_List_profile::operator=(const _List_profile&)): Reinit profile
      	structures.
      	(_List_profile::operator=(_List_profile&&)): Move profile struct and
      	re-init profile structures on moved instance.
      	(std::__profile::list<>): Adapt.
      	* include/profile/ordered_base.h
      	(_Ordered_profile::_M_profile_iterate): New.
      	(_Ordered_profile::_M_profile_construct): New.
      	(_Ordered_profile()): Call latter.
      	(_Ordered_profile::_M_swap): New.
      	(_Ordered_profile(_Ordered_profile&&)): Call latter.
      	(_Ordered_profile::operator=(const _Ordered_profile&)): Reinit
      	profiling.
      	(_Ordered_profile::operator=(_Ordered_profile&&)): Swap and reinit
      	profiling on the moved instance.
      	(_Ordered_profile::_M_profile_destruct): New.
      	(~_Ordered_profile()): Call latter.
      	* include/profile/map.h (std::__profile::map<>): Add profiling on
      	iterators. Adapt.
      	* include/profile/multimap.h (std::__profile::multimap<>): Likewise.
      	* include/profile/set.h (std::__profile::set<>): Likewise.
      	* include/profile/multiset.h (std::__profile::multiset<>): Likewise.
      	* include/profile/unordered_base.h
      	(_Unordered_profile::_M_profile_construct): New.
      	(_Unordered_profile()): Call latter.
      	(_Unordered_profile::_M_swap): New.
      	(_Unordered_profile(_Unordered_profile&&)): Call latter.
      	(_Unordered_profile::operator=(const _Unordered_profile&)): Reinit
      	profiling.
      	(_Unordered_profile::operator=(_Unordered_profile&&)): Swap and reinit
      	profiling on the moved instance.
      	(_Unordered_profile::_M_profile_destruct): New.
      	(~_Ordered_profile()): Call latter.
      	* include/profile/unordered_map
      	(std::__profile::unordered_map<>): Adapt.
      	(std::__profile::unordered_multimap<>): Adapt.
      	* include/profile/unordered_set
      	(std::__profile::unordered_set<>): Adapt.
      	(std::__profile::unordered_multiset<>): Adapt.
      	* include/profile/vector
      	(_Vector_profile_pre::_M_profile_destruct): Move...
      	(_Vector_profile_post::_M_profile_destruct): ...here.
      	(_Vector_profile_post::_M_profile_construct): New.
      	(_Vector_profile_post()): Call latter.
      	(std::__profile::vector<>): Adapt.
      	* testsuite/ext/profile/mh.cc: Rename into...
      	* testsuite/ext/profile/replace_new.cc: ... this and fix test.
      
      From-SVN: r217321
      François Dumont committed
    • re PR rtl-optimization/63620 (RELOAD lost SET_GOT dependency on Darwin) · 6750565c
      2014-11-10  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/63620
      	PR rtl-optimization/63799
      	* lra-lives.c (process_bb_lives): Do not delete EH_REGION, trapped
      	and setting PIC pseudo insns.
      	(lra_create_live_ranges): Fix the typo.
      
      From-SVN: r217320
      Vladimir Makarov committed
    • re PR tree-optimization/63748 (wrong may be used uninitialized warning (abnormal edges)) · c7488fba
      2014-11-10  Patrick Palka  <ppalka@gcc.gnu.org>
      
      gcc/
      	PR middle-end/63748
      	* tree-ssa-propagate.c (may_propagate_copy): Allow propagating
      	SSA copies whose source and destination names both occur in
      	abnormal PHIs.
      
      gcc/testsuite/
      	PR middle-end/63748
      	* gcc.dg/pr63748.c: New testcase.
      
      From-SVN: r217317
      Patrick Palka committed
    • Add missing braces in gcc.dg/pr44194-1.c · 3bbddc8e
      	* gcc.dg/pr44194-1.c (dg-do): Add missing braces.
      
      From-SVN: r217316
      H.J. Lu committed
    • Makefile.in: Remove the compilation of graphite-clast-to-gimple.o. · b1274923
      [gcc/]
      
      	* Makefile.in: Remove the compilation of graphite-clast-to-gimple.o.
      	* common.opt: Remove using of fgraphite-code-generator flag.
      	* flag-types.h: Likewise.
      	* graphite.c: Remove using of CLooG.
      	* graphite-blocking.c: Likewise.
      	* graphite-dependences.c: Likewise.
      	* graphite-poly.c: Likewise.
      	* graphite-poly.h: Likewise.
      	* graphite-scop-detection.c: Likewise.
      	* graphite-sese-to-poly.c: Likewise.
      	* graphite-clast-to-gimple.c: Removed.
      	* graphite-clast-to-gimple.h: Likewise.
      	* graphite-htab.h: Likewise.
      
      [gcc/testsuite]
      
      	* gcc.dg/graphite/isl-ast-gen-blocks-1.c: Remove using of
      	fgraphite-code-generator flag.
      	* gcc.dg/graphite/isl-ast-gen-blocks-2.c: Likewise.
      	* gcc.dg/graphite/isl-ast-gen-blocks-3.c: Likewise.
      	* gcc.dg/graphite/isl-ast-gen-blocks-4.c: Likewise.
      	* gcc.dg/graphite/isl-ast-gen-user-1.c: Likewise.
      	* gcc.dg/graphite/isl-codegen-loop-dumping.c: Likewise.
      	* gcc.dg/graphite/pr35356-2.c: Likewise.
      	* gcc.dg/graphite/isl-ast-gen-single-loop-1.c: Likewise.
      	* gcc.dg/graphite/isl-ast-gen-single-loop-2.c: Likewise.
      	* gcc.dg/graphite/isl-ast-gen-single-loop-3.c: Likewise.
      	* gcc.dg/graphite/isl-ast-gen-if-1.c: Likewise.
      	* gcc.dg/graphite/isl-ast-gen-if-2.c: Likewise.
      
      From-SVN: r217315
      Roman Gareev committed
    • Revert the last change on gcc.c-torture/compile/pr35468.c · 642fe4a9
      	* gcc.c-torture/compile/pr35468.c: Revert the last change.
      
      From-SVN: r217314
      H.J. Lu committed
    • invoke.texi ([-Wshift-count-negative, [...]): Add. · 13c21655
      2014-11-10  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* doc/invoke.texi ([-Wshift-count-negative, -Wshift-count-overflow]):
      	Add.
      
      /c-family
      2014-11-10  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
      
      /cp
      2014-11-10  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* typeck.c (cp_build_binary_op): Use OPT_Wshift_count_negative and
      	OPT_Wshift_count_overflow in the warnings.
      
      /c
      2014-11-10  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* c-typeck.c (build_binary_op): Use OPT_Wshift_count_negative and
      	OPT_Wshift_count_overflow in the warnings.
      
      /testsuite
      2014-11-10  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* c-c++-common/Wshift-count-overflow-1.c: New.
      	* c-c++-common/Wshift-count-overflow-2.c: Likewise.
      	* c-c++-common/Wshift-count-negative-1.c: Likewise.
      	* c-c++-common/Wshift-count-negative-2.c: Likewise.
      
      From-SVN: r217313
      Paolo Carlini committed
    • frv.c (frv_io_handle_use_1): Delete. · de2b09ec
      gcc/
      	* config/frv/frv.c (frv_io_handle_use_1): Delete.
      	(frv_io_handle_use): Use find_all_hard_regs.
      
      From-SVN: r217311
      Richard Sandiford committed
    • frv.c (frv_registers_conflict_p_1): Take an rtx rather than an rtx *. · cc6b9196
      gcc/
      	* config/frv/frv.c (frv_registers_conflict_p_1): Take an rtx rather
      	than an rtx *.  Take the regstate_t directly rather than via a void *.
      	Return a bool rather than an int.  Iterate over all subrtxes here.
      	(frv_registers_conflict_p): Update accordingly.
      
      From-SVN: r217310
      Richard Sandiford committed
    • frv.c: Include rtl-iter.h. · cc665e56
      gcc/
      	* config/frv/frv.c: Include rtl-iter.h.
      	(frv_acc_group_1): Delete.
      	(frv_acc_group): Use FOR_EACH_SUBRTX.
      
      From-SVN: r217309
      Richard Sandiford committed
    • frv.c: Move include of rtl.h after hard-reg-set.h. · 7e8e4cf9
      gcc/
      	* config/frv/frv.c: Move include of rtl.h after hard-reg-set.h.
      	(frv_clear_registers_used): Delete.
      	(frv_ifcvt_modify_tests): Use find_all_hard_regs.
      
      From-SVN: r217308
      Richard Sandiford committed
    • re PR bootstrap/63573 (libgo: ICE building libgo on powerpc-linux-gnu) · fe8dd12e
      
      	PR bootstrap/63573
      	* calls.c (initialize_argument_information): When emitting thunk call
      	use original memory placement of the argument.
      
      From-SVN: r217307
      Jan Hubicka committed
    • fshort-wchar.c: Use arm_eabi instead of arm*-*-*eabi*. · be8118c5
      2014-11-10  Andreas Tobler  <andreast@gcc.gnu.org>
      
          * gcc.dg/fshort-wchar.c: Use arm_eabi instead of arm*-*-*eabi*.
          * gcc.target/arm/aapcs/neon-vect1.c: Likewise.
          * gcc.target/arm/aapcs/neon-vect2.c: Likewise.
          * gcc.target/arm/aapcs/neon-vect3.c: Likewise.
          * gcc.target/arm/aapcs/neon-vect4.c: Likewise.
          * gcc.target/arm/aapcs/neon-vect5.c: Likewise.
          * gcc.target/arm/aapcs/neon-vect6.c: Likewise.
          * gcc.target/arm/aapcs/neon-vect7.c: Likewise.
          * gcc.target/arm/aapcs/neon-vect8.c: Likewise.
          * gcc.target/arm/aapcs/vfp1.c: Likewise.
          * gcc.target/arm/aapcs/vfp2.c: Likewise.
          * gcc.target/arm/aapcs/vfp3.c: Likewise.
          * gcc.target/arm/aapcs/vfp4.c: Likewise.
          * gcc.target/arm/aapcs/vfp5.c: Likewise.
          * gcc.target/arm/aapcs/vfp6.c: Likewise.
          * gcc.target/arm/aapcs/vfp7.c: Likewise.
          * gcc.target/arm/aapcs/vfp8.c: Likewise.
          * gcc.target/arm/aapcs/vfp9.c: Likewise.
          * gcc.target/arm/aapcs/vfp10.c: Likewise.
          * gcc.target/arm/aapcs/vfp11.c: Likewise.
          * gcc.target/arm/aapcs/vfp12.c: Likewise.
          * gcc.target/arm/aapcs/vfp13.c: Likewise.
          * gcc.target/arm/aapcs/vfp14.c: Likewise.
          * gcc.target/arm/aapcs/vfp15.c: Likewise.
          * gcc.target/arm/aapcs/vfp16.c: Likewise.
          * gcc.target/arm/aapcs/vfp17.c: Likewise.
      
      From-SVN: r217306
      Andreas Tobler committed
    • Add a testcase for PR tree-optimization/63778 · b488ccab
      	PR tree-optimization/63778
      	* gfortran.dg/pr63778.f: New test.
      
      From-SVN: r217304
      H.J. Lu committed
    • [PATCH] Partially fix PR61529, bound basic block frequency · 202d5941
        2014-11-10  Renlin Li <Renlin.Li@arm.com>
      
        PR middle-end/61529
      
        gcc/
          * tree-ssa-threadupdate.c (compute_path_counts): Bound path_in_freq.
      
        gcc/testsuite/
          * gcc.dg/pr61529.c: New.
      
      From-SVN: r217303
      Renlin Li committed
    • expmed.c (expand_shift_1): Expand 8 bit rotate of 16 bit value to bswaphi if available. · a25efea0
      2014-11-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          * expmed.c (expand_shift_1): Expand 8 bit rotate of 16 bit value to
          bswaphi if available.
      
      From-SVN: r217302
      Thomas Preud'homme committed
    • ptx testsuite fix for return addresses. · 02ff56e6
      	* lib/target-supports.exp (check_effective_target_return_address):
      	New function.
      	* gcc.c-torture/execute/20010122-1.c: Require return_address.
      	* gcc.c-torture/execute/20030323-1.c: Likewise.
      	* gcc.c-torture/execute/20030811-1.c: Likewise.
      	* gcc.c-torture/execute/eeprof-1.c: Likewise.
      	* gcc.c-torture/execute/frame-address.c: Likewise.
      	* gcc.c-torture/execute/pr17377.c: Likewise.
      
      From-SVN: r217301
      Bernd Schmidt committed
    • Random testsuite tweaks for ptx. · 5ea6b1bd
      	* gcc.c-torture/compile/920625-2.c: Add return type to
      	freeReturnStruct.
      	* gcc.c-torture/execute/20091229-1.c: Declare main properly.
      	* gcc.c-torture/execute/pr61375.c: Likewise.
      	* gcc.c-torture/execute/20111208-1.c: Use __SIZE_TYPE__ for size_t.
      	* gcc.dg/pr30904.c: Remove extern from declaration of t.
      
      From-SVN: r217300
      Bernd Schmidt committed
    • ptx testsuite fixes for issues like indirect jumps and jump labels. · 631da28e
      	* lib/target-supports.exp (check_effective_target_indirect_jumps):
      	New function.
      	(check_effective_target_nonlocal_goto): New function.
      	(check_effective_target_label_values): New function.
      	* gcc.c-torture/execute/20071220-2.c: Require label_values.
      	* gcc.c-torture/compile/labels-2.c: Likewise.
      	* gcc.c-torture/compile/20000518-1.c: Likewise.
      	* gcc.c-torture/compile/20021108-1.c: Likewise.
      	* gcc.c-torture/compile/981006-1.c: Likewise.
      	* gcc.c-torture/execute/20040302-1.c: Likewise.
      	* gcc.dg/torture/pr33848.c: Likewise.
      
      	* gcc.c-torture/compile/pr46107.c: Require indirect jumps and
      	label values.
      	* gcc.c-torture/compile/pr32919.c: Likewise.
      	* gcc.c-torture/compile/pr17913.c: Likewise.
      	* gcc.c-torture/compile/pr51495.c: Likewise.
      	* gcc.c-torture/compile/pr25224.c: Likewise.
      	* gcc.c-torture/compile/labels-3.c: Likewise.
      	* gcc.c-torture/compile/pr27863.c: Likewise.
      	* gcc.c-torture/compile/20050510-1.c: Likewise.
      	* gcc.c-torture/compile/pr28489.c: Likewise.
      	* gcc.c-torture/compile/pr29128.c: Likewise.
      	* gcc.c-torture/compile/pr21356: Likewise.
      	* gcc.c-torture/execute/20071210-1.c: Likewise.
      	* gcc.c-torture/execute/200701220-1.c: Likewise.
      	* gcc.c-torture/execute/pr51447.c: Likewise.
      	* gcc.c-torture/execute/comp-goto-1.c: Likewise.
      	* gcc.c-torture/execute/comp-goto-2.c: Likewise.
      	* gcc.dg/20021029-1.c: Likewise.
      	* gcc.dg/pr43379.c: Likewise.
      	* gcc.dg/pr45259.c: Likewise.
      	* gcc.dg/torture/pr53695.c: Likewise.
      	* gcc.dg/torture/pr57584.c: Likewise.
      
      	* gcc.c-torture/execute/980526-1.c: Skip if -O0 and neither label_values
      	or indirect_jumps are available.
      	* gcc.c-torture/compile/920415-1.c: Likewise.  Remove NO_LABEL_VALUES
      	test.
      	* gcc.c-torture/compile/920428-3.c: Likewise.
      	* gcc.c-torture/compile/950613-1.c: Likewise.
      
      	* gcc.c-torture/compile/pr30984.c: Require indirect jumps.
      	* gcc.c-torture/compile/991213-3.c: Likewise.
      	* gcc.c-torture/compile/920825-1.c: Likewise.
      	* gcc.c-torture/compile/20011029-1.c: Likewise.
      	* gcc.c-torture/compile/complex-6.c: Likewise.
      	* gcc.c-torture/compile/pr27127.c: Likewise.
      	* gcc.c-torture/compile/pr58164.c: Likewise.
      	* gcc.c-torture/compile/20041214-1.c: Likewise.
      	* gcc.c-torture/execute/built-in-setjmp.c: Likewise.
      	* gcc.c-torture/execute/pr56982.c: Likewise.
      	* gcc.c-torture/execute/pr60003.c: Likewise.
      	* gcc.c-torture/execute/pr26983.c: Likewise.
      	* gcc.dg/pr57287-2.c: Likewise.
      	* gcc.dg/pr59920-1.c: Likewise.
      	* gcc.dg/pr59920-2.c: Likewise.
      	* gcc.dg/pr59920-3.c: Likewise.
      	* gcc.dg/setjmp-3.c: Likewise.
      	* gcc.dg/setjmp-4.c: Likewise.
      	* gcc.dg/setjmp-5.c: Likewise.
      	* gcc.dg/torture/pr48542.c: Likewise.
      	* gcc.dg/torture/pr57147-2.c: Likewise.
      	* gcc.dg/torture/pr59993.c: Likewise.
      
      	* gcc.dg/torture/stackalign/non-local-goto-1.c: Require nonlocal_goto.
      	* gcc.dg/torture/stackalign/non-local-goto-2.c: Likewise.
      	* gcc.dg/torture/stackalign/non-local-goto-3.c: Likewise.
      	* gcc.dg/torture/stackalign/non-local-goto-4.c: Likewise.
      	* gcc.dg/torture/stackalign/non-local-goto-5.c: Likewise.
      	* gcc.dg/torture/stackalign/setjmp-1.c: Likewise.
      	* gcc.dg/torture/stackalign/setjmp-3.c: Likewise.
      	* gcc.dg/torture/stackalign/setjmp-4.c: Likewise.
      	* gcc.dg/non-local-goto-1.c: Likewise.
      	* gcc.dg/non-local-goto-2.c: Likewise.
      	* gcc.dg/pr49994-1.c: Likewise.
      	* gcc.dg/torture/pr57036-2.c: Likewise.
      
      	* gcc.c-torture/compile/20040614-1.c: Require label_values.  Remove
      	NO_LABEL_VALUES test.
      	* gcc.c-torture/compile/920831-1.c: Likewise.
      	* gcc.c-torture/compile/920502-1.c: Likewise.
      	* gcc.c-torture/compile/920501-7.c: Likewise.
      	* gcc.dg/pr52139.c: Likewise.
      
      From-SVN: r217299
      Bernd Schmidt committed
    • XFAILs and such for ptx. · fb61af8b
      	* lib/target-supports.exp (check_effective_target_trampolines,
      	check_profiling_available, check_effective_target_lto,
      	check_effective_target_vect_natural): False for nvptx-*-*.
      	* gcc.c-torture/compile/limits-fndefn.c: Skip for nvptx-*-*.
      	* gcc.c-torture/compile/pr34334.c: Likewise.
      	* gcc.c-torture/compile/pr37056.c: Likewise.
      	* gcc.c-torture/compile/pr39423-1.c: Likewise.
      	* gcc.c-torture/compile/pr46534.c: Likewise.
      	* gcc.c-torture/compile/pr49049.c: Likewise.
      	* gcc.c-torture/compile/pr59417.c: Likewise.
      	* gcc.c-torture/compile/20080721-1.c: Likewise.
      	* gcc.c-torture/compile/920501-4.c: Likewise.
      	* gcc.c-torture/compile/921011-1.c: Likewise.
      	* gcc.dg/20040813-1.c: Likewise.
      	* gcc.dg/pr28755.c: Likewise.
      	* gcc.dg/pr44194-1.c: Likewise.
      	* gcc.c-torture/compile/pr42717.c: Xfail for nvptx-*-*.
      	* gcc.c-torture/compile/pr61684.c: Likewise.
      	* gcc.c-torture/compile/pr20601-1.c: Likewise.
      	* gcc.c-torture/compile/pr59221.c: Likewise.
      	* gcc.c-torture/compile/20060208-1.c: Likewise.
      	* gcc.c-torture/execute/pr52129.c: Likewise.
      	* gcc.c-torture/execute/20020310-1.c: Likewise.
      	* gcc.c-torture/execute/20101011-1.c: Define DO_TEST to 0 for nvptx.
      	* gcc.c-torture/execute20020312-2.c: Add case for for nvptx.
      	* gcc.c-torture/compile/pr60655-1.c: Don't add -fdata-sections
      	for nvptx-*-*.
      	* gcc.dg/pr36400.c: Xfail scan-assembler test on nvptx-*-*.
      	* gcc.dg/const-elim-2.c: Likewise.
      
      From-SVN: r217298
      Bernd Schmidt committed
    • Testsuite untyped assembly fixes for ptx. · c445c02a
      	* lib/target-supports.exp
      	(check_effective_target_untyped_assembly): New function.
      	* gcc.c-torture/compile/20091215-1.c: Require untyped_assembly.
      	* gcc.c-torture/compile/920917-1.c: Likewise.
      	* gcc.c-torture/compile/930120-1.c: Likewise.
      	* gcc.c-torture/compile/930411-1.c: Likewise.
      	* gcc.c-torture/compile/930529-1.c: Likewise.
      	* gcc.c-torture/compile/930623-1.c: Likewise.
      	* gcc.c-torture/compile/950329-1.c: Likewise.
      	* gcc.c-torture/compile/calls.c: Likewise.
      	* gcc.c-torture/compile/pr37258.c: Likewise.
      	* gcc.c-torture/compile/pr37327.c: Likewise.
      	* gcc.c-torture/compile/pr38360.c: Likewise.
      	* gcc.c-torture/compile/pr43635.c: Likewise.
      	* gcc.c-torture/compile/pr47428.c: Likewise.
      	* gcc.c-torture/compile/pr47967.c: Likewise.
      	* gcc.c-torture/compile/pr49145.c: Likewise.
      	* gcc.c-torture/compile/pr51694.c: Likewise.
      	* gcc.c-torture/compile/pr53411.c: Likewise.
      	* gcc.c-torture/execute/20001101.c: Likewise.
      	* gcc.c-torture/execute/20051012-1.c: Likewise.
      	* gcc.c-torture/execute/920501-1.c: Likewise.
      	* gcc.c-torture/execute/921202-1.c: Likewise.
      	* gcc.c-torture/execute/921208-2.c: Likewise.
      	* gcc.c-torture/execute/call-trap-1.c: Likewise.
      	* gcc.c-torture/compile/20010525-1.c: Likewise.
      	* gcc.c-torture/compile/20021015-2.c: Likewise.
      	* gcc.c-torture/compile/20031023-1.c: Likewise.
      	* gcc.c-torture/compile/20031023-2.c: Likewise.
      	* gcc.c-torture/compile/pr49206.c: Likewise.
      	* gcc.c-torture/execute/pr47237.c: Likewise.
      	* gcc.dg/torture/stackalign/builtin-apply-1.c: Likewise.
      	* gcc.dg/torture/stackalign/builtin-apply-2.c: Likewise.
      	* gcc.dg/torture/stackalign/builtin-apply-3.c: Likewise.
      	* gcc.dg/torture/stackalign/builtin-apply-4.c: Likewise.
      	* gcc.dg/torture/stackalign/builtin-return-1.c: Likewise.
      	* gcc.dg/builtin-apply1.c: Likewise.
      	* gcc.dg/builtin-apply2.c: Likewise.
      	* gcc.dg/builtin-apply3.c: Likewise.
      	* gcc.dg/builtin-apply4.c: Likewise.
      	* gcc.dg/pr38338.c: Likewise.
      	* gcc.dg/torture/pr41993.c: Likewise.
      	* gcc.c-torture/compile/386.c: Likewise.
      	* gcc.c-torture/compile/cmpsi386.c: Likewise.
      	* gcc.c-torture/compile/consec.c: Likewise.
      	* gcc.c-torture/compile/ex.c: Likewise.
      	* gcc.c-torture/compile/pass.c: Likewise.
      	* gcc.c-torture/compile/scal.c: Likewise.
      	* gcc.c-torture/compile/uuarg.c: Likewise.
      	* gcc.c-torture/compile/conv_tst.c: Likewise.
      
      From-SVN: r217297
      Bernd Schmidt committed
    • Testsuite alloca fixes for ptx. · e2acc079
      	* lib/target-supports.exp (check_effective_target_alloca): New function.
      	* gcc.c-torture/execute/20010209-1.c: Require alloca.
      	* gcc.c-torture/execute/20020314-1.c: Likewise.
      	* gcc.c-torture/execute/20020412-1.c: Likewise.
      	* gcc.c-torture/execute/20021113-1.c: Likewise.
      	* gcc.c-torture/execute/20040223-1.c: Likewise.
      	* gcc.c-torture/execute/20040308-1.c: Likewise.
      	* gcc.c-torture/execute/20040811-1.c: Likewise.
      	* gcc.c-torture/execute/20070824-1.c: Likewise.
      	* gcc.c-torture/execute/20070919-1.c: Likewise.
      	* gcc.c-torture/execute/built-in-setjmp.c: Likewise.
      	* gcc.c-torture/execute/pr22061-1.c: Likewise.
      	* gcc.c-torture/execute/pr22061-4.c: Likewise.
      	* gcc.c-torture/execute/pr43220.c: Likewise.
      	* gcc.c-torture/execute/vla-dealloc-1.c: Likewise.
      	* gcc.dg/torture/stackalign/alloca-1.c: Likewise.
      	* gcc.dg/torture/stackalign/vararg-1.c: Likewise.
      	* gcc.dg/torture/stackalign/vararg-2.c: Likewise.
      	* gcc.c-torture/compile/20000923-1.c: Likewise.
      	* gcc.c-torture/compile/20030224-1.c: Likewise.
      	* gcc.c-torture/compile/20071108-1.c: Likewise.
      	* gcc.c-torture/compile/20071117-1.c: Likewise.
      	* gcc.c-torture/compile/900313-1.c: Likewise.
      	* gcc.c-torture/compile/pr17397.c: Likewise.
      	* gcc.c-torture/compile/pr35006.c: Likewise.
      	* gcc.c-torture/compile/pr42956.c: Likewise.
      	* gcc.c-torture/compile/pr51354.c: Likewise.
      	* gcc.c-torture/compile/pr55851.c: Likewise.
      	* gcc.c-torture/compile/vla-const-1.c: Likewise.
      	* gcc.c-torture/compile/vla-const-2.c: Likewise.
      	* gcc.c-torture/compile/pr31507-1.c: Likewise.
      	* gcc.c-torture/compile/pr52714.c: Likewise.
      	* gcc.dg/20001012-2.c: Likewise.
      	* gcc.dg/auto-type-1.c: Likewise.
      	* gcc.dg/builtin-object-size-1.c: Likewise.
      	* gcc.dg/builtin-object-size-2.c: Likewise.
      	* gcc.dg/builtin-object-size-3.c: Likewise.
      	* gcc.dg/builtin-object-size-4.c: Likewise.
      	* gcc.dg/packed-vla.c: Likewise.
      	* gcc.c-torture/compile/parms.c: Likewise.
      	* gcc.c-torture/execute/920721-2.c: Skip -O0 unless alloca is available.
      	* gcc.c-torture/execute/920929-1.c: Likewise.
      	* gcc.c-torture/execute/921017-1.c: Likewise.
      	* gcc.c-torture/execute/941202-1.c: Likewise.
      	* gcc.c-torture/execute/align-nest.c: Likewise.
      	* gcc.c-torture/execute/alloca-1.c: Likewise.
      	* gcc.c-torture/execute/pr36321.c: Likewise.
      	* gcc.c-torture/compile/20001221-1.c: Likewise.
      	* gcc.c-torture/compile/20020807-1.c: Likewise.
      	* gcc.c-torture/compile/20050801-2.c: Likewise.
      	* gcc.c-torture/compile/920428-4.c: Likewise.
      	* gcc.c-torture/compile/debugvlafunction-1.c.c: Likewise.
      	* gcc.c-torture/compile/pr41469.c: Likewise.
      	* gcc.dg/torture/pr48953.c: Likewise.
      	* gcc.dg/torture/pr8081.c: Likewise.
      	* gcc.dg/torture/stackalign/inline-1.c: Skip if nvptx-*-*.
      	* gcc.dg/torture/stackalign/inline-2.c: Likewise.
      	* gcc.dg/torture/stackalign/nested-1.c: Likewise.
      	* gcc.dg/torture/stackalign/nested-2.c: Likewise.
      	* gcc.dg/torture/stackalign/nested-3.c: Likewise.
      	* gcc.dg/torture/stackalign/nested-4.c: Likewise.
      	* gcc.dg/torture/stackalign/nested-1.c: Likewise.
      	* gcc.dg/torture/stackalign/global-1.c: Likewise.
      	* gcc.dg/torture/stackalign/pr16660-1.c: Likewise.
      	* gcc.dg/torture/stackalign/pr16660-2.c: Likewise.
      	* gcc.dg/torture/stackalign/pr16660-3.c: Likewise.
      	* gcc.dg/torture/stackalign/ret-struct-1.c: Likewise.
      	* gcc.dg/torture/stackalign/struct-1.c: Likewise.
      
      From-SVN: r217296
      Bernd Schmidt committed
    • Add the nvptx port. · 738f2522
      	* configure.ac: Handle nvptx-*-*.
      	* configure: Regenerate.
      
      	gcc/
      	* config/nvptx/nvptx.c: New file.
      	* config/nvptx/nvptx.h: New file.
      	* config/nvptx/nvptx-protos.h: New file.
      	* config/nvptx/nvptx.md: New file.
      	* config/nvptx/t-nvptx: New file.
      	* config/nvptx/nvptx.opt: New file.
      	* common/config/nvptx/nvptx-common.c: New file.
      	* config.gcc: Handle nvptx-*-*.
      
      	libgcc/
      	* config.host: Handle nvptx-*-*.
      	* shared-object.mk (as-flags-$o): Define.
      	($(base)$(objext), $(base)_s$(objext)): Use it instead of
      	-xassembler-with-cpp.
      	* static-object.mk: Identical changes.
      	* config/nvptx/t-nvptx: New file.
      	* config/nvptx/crt0.s: New file.
      	* config/nvptx/free.asm: New file.
      	* config/nvptx/malloc.asm: New file.
      	* config/nvptx/realloc.c: New file.
      
      From-SVN: r217295
      Bernd Schmidt committed
    • Make thread_prologue_and_epilogue_insns callable from backends. · c81b4a0e
      	* function.c (thread_prologue_and_epilogue_insns): No longer static.
      	* function.h (thread_prologue_and_epilogue_insns): Declare.
      
      From-SVN: r217294
      Bernd Schmidt committed
    • Add a target hook for assembling undeclared decls. · 0d4b5b86
      	* target.def (assemble_undefined_decl): New hooks.
      	* hooks.c (hook_void_FILEptr_constcharptr_const_tree): New function.
      	* hooks.h (hook_void_FILEptr_constcharptr_const_tree): Declare.
      	* doc/tm.texi.in (TARGET_ASM_ASSEMBLE_UNDEFINED_DECL): Add.
      	* doc/tm.texi: Regenerate.
      	* output.h (assemble_undefined_decl): Declare.
      	(get_fnname_from_decl): Declare.
      	* varasm.c (assemble_undefined_decl): New function.
      	(get_fnname_from_decl): New function.
      	* final.c (rest_of_handle_final): Use it.
      	* varpool.c (varpool_output_variables): Call assemble_undefined_decl
      	for nodes without a definition.
      
      From-SVN: r217293
      Bernd Schmidt committed
    • cpplib.h (cpp_callbacks): Add has_attribute. · 42fd12b1
      libcpp:
      
      2014-11-10  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	* include/cpplib.h (cpp_callbacks): Add has_attribute.
      	* internal.h (lexer_state): Add in__has_attribute__.
      	* directives.c (lex_macro_node): Prevent use of __has_attribute__
      	as a macro.
      	* expr.c (parse_has_attribute): New function; (eval_token): Look for
      	__has_attribute__ and route to parse_has_attribute.
      	* identifiers.c (_cpp_init_hashtable): Initialize n__has_attribute__.
      	* pch.c (cpp_read_state): Initialize n__has_attribute__.
      	* traditional.c (enum ls): Add ls_has_attribute, ls_has_attribute_close;
      	(_cpp_scan_out_logical_line): Attend to __has_attribute__.
      
      
      gcc/c-family:
      
      2014-11-10  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	* c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
      	(__cpp_rtti, __cpp_exceptions): New macros for C++98;
      	(__cpp_range_based_for, __cpp_initializer_lists,
      	__cpp_delegating_constructors, __cpp_nsdmi,
      	__cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
      	for C++11; (__cpp_attribute_deprecated): Remove in favor of
      	__has_cpp_attribute.
      	* c-lex.c (cb_has_attribute): New callback CPP function;
      	(init_c_lex): Set has_attribute callback.
      
      
      gcc/testsuite:
      
      2014-11-10  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	* g++.dg/cpp1y/feat-cxx11.C: Test new feature macros for C++98
      	and C++11; Test existence of __has_cpp_attribute;  Test C++11
      	attributes.
      	* g++.dg/cpp1y/feat-cxx11-neg.C: Ditto.
      	* g++.dg/cpp1y/feat-cxx14.C: Ditto and test for C++14 attributes.
      	* g++.dg/cpp1y/feat-cxx98.C: Test new feature macros for C++98.
      	* g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
      	* g++.dg/cpp1y/feat-neg.C: Test that __cpp_rtti, _cpp_exceptions
      	will be undefined for -fno-rtti -fno-exceptions.
      
      From-SVN: r217292
      Edward Smith-Rowland committed
    • tree-ssa-operands.c (finalize_ssa_uses): Properly put released operands on the free list. · 6d64f20c
      2014-11-10  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-operands.c (finalize_ssa_uses): Properly put
      	released operands on the free list.
      
      From-SVN: r217291
      Richard Biener committed
    • match.pd: Implement pattern from simplify_mult. · a25454ea
      2014-11-10  Richard Biener  <rguenther@suse.de>
      
      	* match.pd: Implement pattern from simplify_mult.
      	* tree-ssa-forwprop.c (simplify_mult): Remove.
      	(pass_forwprop::execute): Do not call simplify_mult.
      
      From-SVN: r217290
      Richard Biener committed
    • re PR tree-optimization/63800 (ICE on valid code at -O3 on x86_64-linux-gnu) · 6be4c4ec
      2014-11-10  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/63800
      	* tree-ssa-pre.c (eliminate_push_avail): Push in a way so
      	we can restore the previous availability in after_dom_children.
      	(eliminate_dom_walker::after_dom_children): Restore
      	previous availability.
      
      	* gcc.dg/torture/pr63800.c: New testcase.
      
      From-SVN: r217288
      Richard Biener committed
    • re PR tree-optimization/63798 (FAIL: gcc.target/powerpc/ppc-fmadd-1.c… · 3090fa55
      re PR tree-optimization/63798 (FAIL: gcc.target/powerpc/ppc-fmadd-1.c scan-assembler-not f(add|sub|mul|neg))
      
      2014-11-10  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/63798
      	* expr.c (expand_expr_real_2): When expanding FMA_EXPRs
      	properly treat the embedded multiplication as commutative
      	when looking for feeding negates.
      
      From-SVN: r217287
      Richard Biener committed
    • * config/avr/avr.h (CPLUSPLUS_CPP_SPEC): Define. · 27be769c
      From-SVN: r217286
      Joern Rennecke committed
    • match.pd: Implement pattern from simplify_conversion_from_bitmask. · ea2042ba
      2014-11-10  Richard Biener  <rguenther@suse.de>
      
      	* match.pd: Implement pattern from simplify_conversion_from_bitmask.
      	* tree-ssa-forwprop.c (simplify_conversion_from_bitmask): Remove.
      	(pass_forwprop::execute): Do not call simplify_conversion_from_bitmask.
      
      From-SVN: r217284
      Richard Biener committed
    • align-7.c: Skip for -flto -fno-fat-lto-objects. · bb60d646
      	* c-c++-common/ubsan/align-7.c: Skip for -flto -fno-fat-lto-objects.
      	* c-c++-common/ubsan/align-8.c: Likewise.
      	* g++.dg/ubsan/null-4.C: Likewise.
      	* g++.dg/ubsan/null-5.C: Likewise.
      
      From-SVN: r217282
      Marek Polacek committed
    • match.pd: Move rest of the conversion combining patterns from tree-ssa-forwprop.c. · 1f00c1b9
      2014-11-10  Richard Biener  <rguenther@suse.de>
      
      	* match.pd: Move rest of the conversion combining patterns
      	from tree-ssa-forwprop.c.
      	* tree-ssa-forwprop.c (combine_conversions): Remove.
      	(pass_forwprop::execute): Do not call it.
      
      From-SVN: r217279
      Richard Biener committed
    • gimple-low.c (lower_function_body): Clear the location of the first inserted… · 67b69814
      gimple-low.c (lower_function_body): Clear the location of the first inserted representative return if...
      
      	* gimple-low.c (lower_function_body): Clear the location of the first
      	inserted representative return if it also fills in for the fallthru.
      
      From-SVN: r217278
      Eric Botcazou committed
    • tree-if-conv.c (add_to_predicate_list): Check unconditionally that bb is always… · bf42631e
      tree-if-conv.c (add_to_predicate_list): Check unconditionally that bb is always executed to early exit.
      
      gcc/
      
      	* tree-if-conv.c (add_to_predicate_list): Check unconditionally
      	that bb is always executed to early exit. Use predicate of
      	cd-equivalent block for join blocks if it exists.
      	(if_convertible_loop_p_1): Recompute POST_DOMINATOR tree.
      	(tree_if_conversion): Free post-dominance information.
      
      gcc/testsuite/
      
      	* gcc.dg/tree-ssa/ifc-cd.c: New test.
      
      From-SVN: r217277
      Yuri Rumyantsev committed
    • DR 799 · 6d1301f2
      	DR 799
      	* typeck.c (build_reinterpret_cast_1): reinterpret_cast to the
      	same scalar type is an rvalue.
      
      From-SVN: r217276
      Jason Merrill committed
    • DR 2007 · e1926435
      	DR 2007
      	* call.c (build_new_op_1): Don't do non-class lookup for =, -> or [].
      
      From-SVN: r217275
      Jason Merrill committed
    • avx512vldqintrin.h (_mm256_broadcast_f32x2): __mmask8. · 9ab4c07a
      	* config/i386/avx512vldqintrin.h (_mm256_broadcast_f32x2): __mmask8.
      	* config/i386/avx512vlintrin.h (_mm256_mask_cvtepi32_storeu_epi16)
      	(_mm_mask_cvtusepi32_storeu_epi16)
      	(_mm_mask_cvtsepi64_storeu_epi32): Return void.
      
      From-SVN: r217274
      Jason Merrill committed