Commit Graph

125505 Commits

Author SHA1 Message Date
François Dumont ea89b2482f predefined_ops.h: New.
2013-09-27  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/predefined_ops.h: New.
	* include/bits/stl_heap.h: Include <bits/predefined_ops.h>.
	(__is_heap_until, __push_heap, __adjust_heap, __pop_heap): Remove
	algo duplication.
	(__is_heap): Adapt.
	(__make_heap): New.
	(make_heap): Adapt to use latter.
	(__sort_heap): New.
	(sort_heap): Adapt to use latter.
	* include/bits/algobase.h: Include <bits/predefined_ops.h>.
	(__lexicographical_compare_impl): New.
	(__lexicographical_compare<false>::__lc): Adapt to use latter.
	(lexicographical_compare): Likewise.
	(__lower_bound): New.
	(lower_bound): Adapt to use latter.
	(equal): Use _GLIBCXX_STD_A::equal in N3671 overloads.
	(__mismatch): New.
	(mismatch): Use latter.
	* include/bits/algo.h: Include <bits/predefined_ops.h>. Remove
	<functional> include.
	(__move_median_first, __find, __find_if, __find_if_not): Remove
	algo duplication.
	(__find_end): Likewise.
	(__search_n): Rename into ...
	(__search_n_aux): ... this.
	(__search_n): Renew, use latter.
	(search_n): Use latter.
	(__search): New.
	(search): Use latter.
	(__find_end): Likewise.
	(__remove_copy_if): New.
	(remove_copy): Use latter.
	(__adjacent_find): New.
	(adjacent_find): Use latter.
	(__unique): New.
	(unique): Use latter.
	(__unique_copy): Remove algo duplication.
	(__stable_partition): New.
	(stable_partition): Use latter.
	(__heap_select): Remove algo duplication, use __make_heap.
	(__partial_sort): New, use latter.
	(partial_sort): Use latter.
	(__partial_sort_copy): New.
	(partial_sort_copy): Use latter.
	(__unguarded_linear_insert, __insertion_sort): Remove algo
	duplication.
	(__unguarded_insertion_sort, __final_insertion_sort): Likewise.
	(__unguarded_partition, __unguarded_partition_pivot): Likewise.
	(__partial_sort): New.
	(partial_sort): Use latter.
	(__sort): New.
	(sort): Use latter.
	(lower_bound): Use __lower_bound.
	(__upper_bound): New.
	(upper_bound): Use latter.
	(__equal_range): New.
	(equal_range): Use latter.
	(__move_merge_adaptive, __move_merge_adaptive_backward): Remove
	algo duplication.
	(__merge_adaptive, __merge_without_buffer): Likewise.
	(__inplace_merge): New.
	(inplace_merge): Use latter.
	(__move_merge, __merge_sort_loop, __chunk_insertion_sort): Remove
	algo duplication.
	(__merge_sort_with_buffer, __stable_sort_adaptive): Likewise.
	(__inplace_stable_sort): Likewise.
	(__include): New.
	(includes): Use latter.
	(__next_permutation): New.
	(next_permutation): Use latter.
	(__prev_permutation): New.
	(prev_permutation): Use latter.
	(__replace_copy_if): New.
	(replace_copy): Use latter.
	(__is_sorted_until): New.
	(is_sorted_unitl): Use latter.
	(__minmax_element): New.
	(minmax_element): Use latter.
	(__is_permutation): New.
	(is_permutation): Use latter.
	(__adjacent_find): New.
	(adjacent_find): Use latter.
	(__count_if): New.
	(count): Use latter.
	(count_if): Likewise.
	(__merge): New.
	(merge): Use latter.
	(__stable_sort): New.
	(stable_sort): Use latter.
	(__set_union): New.
	(set_union): Use latter.
	(__set_intersection): New.
	(set_intersection): Use latter.
	(__set_difference): New.
	(set_difference): Use latter.
	(__set_symmetric_difference): New.
	(set_symmetric_difference): Use latter.
	(__min_element): New.
	(min_element): Use latter.
	(__max_element): New.
	(max_element): Use latter.
	* include/Makefile.am: Add predefined_ops.h.
	* include/Makefile.in: Regenerate.
	* include/parallel/algobase.h (equal, mismatch): Add overloads
	from N3671.
	* testsuite/25_algorithms/is_permutation/vectorbool.cc: New.
	* testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
	* testsuite/25_algorithms/find/vectorbool.cc: Likewise.
	* testsuite/25_algorithms/find_if/vectorbool.cc: Likewise.
	* testsuite/25_algorithms/find_first_of/vectorbool.cc: Likewise.
	* testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
	* testsuite/25_algorithms/find_end/vectorbool.cc: Likewise.
	* testsuite/25_algorithms/find_if_not/vectorbool.cc: Likewise.

From-SVN: r202992
2013-09-27 21:17:36 +00:00
Jan-Benedict Glaw 522d4efcd3 lra-eliminations.c (init_elim_table): Guard value_p.
2013-09-27  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* lra-eliminations.c (init_elim_table): Guard value_p.

From-SVN: r202991
2013-09-27 20:20:35 +00:00
Janne Blomqvist 6029d9db70 Fix DATE_AND_TIME example.
2013-09-27  Janne Blomqvist  <jb@gcc.gnu.org>

	* intrinsic.texi (DATE_AND_TIME): Fix example.

From-SVN: r202986
2013-09-27 22:46:29 +03:00
Michael Meissner 19cdb489da rs6000.c (rs6000_hard_regno_mode_ok): Allow DFmode...
[gcc]
2013-09-27  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Allow
	DFmode, DImode, and SFmode in the upper VSX registers based on the
	-mupper-regs-{df,sf} flags.  Fix wu constraint to be ALTIVEC_REGS
	if -mpower8-vector.  Combine -mvsx-timode handling with the rest
	of the VSX register handling.

	* config/rs6000/rs6000.md (f32_lv): Use %x0 for VSX regsters.
	(f32_sv): Likewise.
	(zero_extendsidi2_lfiwzx): Add support for loading into the
	Altivec registers with -mpower8-vector.  Use wu/wv constraints to
	only do VSX memory options on Altivec registers.
	(extendsidi2_lfiwax): Likewise.
	(extendsfdf2_fpr): Likewise.
	(mov<mode>_hardfloat, SF/SD modes): Likewise.
	(mov<mode>_hardfloat32, DF/DD modes): Likewise.
	(mov<mode>_hardfloat64, DF/DD modes): Likewise.
	(movdi_internal64): Likewise.

[gcc/testsuite]
2013-09-27  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/p8vector-ldst.c: New test for -mupper-regs-sf
	and -mupper-regs-df.

From-SVN: r202984
2013-09-27 19:33:52 +00:00
Ian Lance Taylor 8bcd5487e5 reflect: Implement MakeFunc for amd64.
From-SVN: r202982
2013-09-27 17:53:46 +00:00
Diego Novillo f6113c278a * testsuite-management/x86_64-unknown-linux-gnu.xfail: Update.
From-SVN: r202981
2013-09-27 12:54:44 -04:00
Xinliang David Li d6d1127249 vectorizer cost model enhancement
From-SVN: r202980
2013-09-27 16:48:15 +00:00
Diego Novillo ac1857a3ef The gimple builder no longer support normal form.
The gimple builder no longer support normal form. The ssa_mode enum is
not needed now.

	* gimple.h (enum ssa_mode): Remove.

From-SVN: r202977
2013-09-27 12:23:41 -04:00
Paulo Matos 3c468b4cb9 re PR middle-end/58463 (ICE with -fdump-tree-all-all in vector indexed access)
PR middle-end/58463
        * gcc.dg/pr58463.c: New test.

From-SVN: r202976
2013-09-27 16:54:43 +02:00
Paulo Matos 0d0e2af66e * cfgloop.h (number_of_loops): Fix typo in check for null.
From-SVN: r202975
2013-09-27 16:37:48 +02:00
Jonathan Wakely d02dae41e3 re PR libstdc++/57465 (Failed postcondition for std::function constructed with null function pointer)
PR libstdc++/57465
	* include/std/functional
	(_Function_base::_Base_manager::_M_not_empty_function): Fix overload
	for pointers.
	* testsuite/20_util/function/cons/57465.cc: New.

From-SVN: r202974
2013-09-27 15:06:09 +01:00
Jakub Jelinek 09dc585e9a re PR middle-end/58551 (ICE with abort in OpenMP SESE region inside of some loop)
PR middle-end/58551
	* tree-cfg.c (move_sese_region_to_fn): Also move loops that
	are children of outermost saved_cfun's loop, and set it up to
	be moved to dest_cfun's outermost loop.  Fix up num_nodes adjustments
	if loop != loop0 and SESE region contains bbs that belong to loop0.

	* c-c++-common/gomp/pr58551.c: New test.

From-SVN: r202972
2013-09-27 15:44:10 +02:00
Richard Sandiford ec5a350405 rtlanal.c (must_be_base_p, [...]): Delete.
gcc/
	* rtlanal.c (must_be_base_p, must_be_index_p): Delete.
	(binary_scale_code_p, get_base_term, get_index_term): New functions.
	(set_address_segment, set_address_base, set_address_index)
	(set_address_disp): Accept the argument unconditionally.
	(baseness): Remove must_be_base_p and must_be_index_p checks.
	(decompose_normal_address): Classify as much as possible in the
	main loop.

From-SVN: r202970
2013-09-27 11:21:19 +00:00
Richard Sandiford f91aec98e2 cse.c (count_reg_usage): Handle INT_LIST.
gcc/
	* cse.c (count_reg_usage): Handle INT_LIST.
	* lra-eliminations.c (lra_eliminate_regs_1): Likewise.
	* reginfo.c (reg_scan_mark_refs): Likewise.
	* reload1.c (eliminate_regs_1): Likewise.

From-SVN: r202969
2013-09-27 11:17:34 +00:00
Iain Sandoe a9195970f0 re PR middle-end/58547 (rtlanal.c:5482:19: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare])
gcc:

	PR middle-end/58547
	* rtlanal.c (lsb_bitfield_op_p): Make both parts of the comparison
	signed.

From-SVN: r202967
2013-09-27 08:59:18 +00:00
Richard Biener e6f1c50939 re PR tree-optimization/58459 (Loop invariant is not hoisted out of loop after r202525.)
2013-09-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58459
	* tree-ssa-forwprop.c (forward_propagate_addr_expr): Remove
	restriction not propagating into loops.

	* gcc.dg/tree-ssa/ssa-pre-31.c: New testcase.

From-SVN: r202966
2013-09-27 08:14:53 +00:00
GCC Administrator 6bda61a272 Daily bump.
From-SVN: r202964
2013-09-27 00:16:56 +00:00
Tim Shen d4e1260101 regex_error.h: Remove _S_error_last to follow the standard.
2013-09-26  Tim Shen  <timshen91@gmail.com>

	* regex_error.h: Remove _S_error_last to follow the standard.
	* regex_scanner.tcc:
	(_Scanner<_FwdIter>::_M_scan_in_brace): Change error_brace to
	error_badbrace.
	(_Scanner<>::_M_eat_escape_posix): Extended doesn't support
	back-reference.
	* testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
	Move here from ../../extended.
	* testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
	Likewise.

From-SVN: r202958
2013-09-26 21:48:04 +00:00
Bernd Edlinger 13b670acd3 re PR fortran/58113 (gfortran.dg/round_4.f90 FAILs)
2013-09-26  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR fortran/58113
        * gfortran.dg/round_4.f90: Check for rounding support.

From-SVN: r202954
2013-09-26 17:44:13 +00:00
Florian Weimer 84f48495e9 tree-ssa.h (walk_use_def_chains_fn, [...]): Delete.
2013-09-26  Florian Weimer  <fw@deneb.enyo.de>

	* tree-ssa.h (walk_use_def_chains_fn, walk_use_def_chains): Delete.
	* tree-ssa.c (walk_use_def_chains_1, walk_use_def_chains): Delete.
	* doc/tree-ssa.texi (Walking use-def chains): Delete.

From-SVN: r202951
2013-09-26 18:39:28 +02:00
Richard Biener 74fc8b8ab9 tree-into-ssa.c (rewrite_into_ssa): Make more SSA names to anonymous.
2013-09-26  Richard Biener  <rguenther@suse.de>

	* tree-into-ssa.c (rewrite_into_ssa): Make more SSA names
	to anonymous.

From-SVN: r202949
2013-09-26 15:57:39 +00:00
Richard Biener b4ada06544 alias.h (component_uses_parent_alias_set): Rename to ...
2013-09-26  Richard Biener  <rguenther@suse.de>

	* alias.h (component_uses_parent_alias_set): Rename to ...
	(component_uses_parent_alias_set_from): ... this.
	* alias.c (component_uses_parent_alias_set): Rename to ...
	(component_uses_parent_alias_set_from): ... this and return
	the desired parent.
	(reference_alias_ptr_type_1): Use the result from
	component_uses_parent_alias_set_from instead of stripping
	components one at a time.
	* emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust.

From-SVN: r202948
2013-09-26 15:15:28 +00:00
James Greenhalgh 1aab66787a Fix PR58513 for -fPIC
gcc/testsuite/

	* g++.dg/vect/pr58513.cc (op): Make static.

From-SVN: r202947
2013-09-26 14:08:44 +00:00
Andrew MacLeod 78bca40d1d tree-ssa-live.h (find_replaceable_exprs, [...]): Move prototypes to...
2013-09-26  Andrew MacLeod  <amacleod@redhat.com>

	* tree-ssa-live.h (find_replaceable_exprs, dump_replaceable_exprs): Move
	prototypes to...
	* tree-ssa-ter.h: New File.  Move prototypes here.
	* tree-flow.h (stmt_is_replaceable_p): Remove prototype.
	* tree-outof-ssa.h: New. Rename ssaexpand.h, include tree-ssa-ter.h.
	* tree-outof-ssa.c (ssa_is_replaceable_p): New.  Refactor common bits
	from is_replaceable_p. 
	* tree-ssa-ter.c (is_replaceable_p, stmt_is_replaceable_p): Delete.
	(ter_is_replaceable_p): New.  Use new refactored ssa_is_replaceable_p.
	(process_replaceable): Use ter_is_replaceable_p.
	(find_replaceable_in_bb): Use ter_is_replaceable_p.
	* expr.c (stmt_is_replaceable_p): Relocate from tree-ssa-ter.c.  Use
	newly refactored ssa_is_replaceable_p.
	* cfgexpand.c: Include tree-outof-ssa.h.
	* ssaexpand.h: Delete.

From-SVN: r202946
2013-09-26 13:38:54 +00:00
Andrew MacLeod ff2a63a749 gimple.c (gimple_replace_lhs): Move to tree-ssa.c and rename.
2013-09-26  Andrew MacLeod <amacleod@redhat.com>

	* gimple.c (gimple_replace_lhs): Move to tree-ssa.c and rename.
	(struct count_ptr_d, count_ptr_derefs, count_uses_and_derefs): Move to
	tree-ssa.c
	(create_gimple_tmp): Delete.
	(get_expr_type, build_assign, build_type_cast): Move to...
	* gimple-builder.c: New File.
	(get_expr_type): Relocate from gimple.c.
	(build_assign, build_type_cast): Change to only create ssanames.
	* gimple.h: Move prototypes to...
	* gimple-builder.h: New File. Here.
	* tree-ssa.h: And here.
	* tree-ssa.c (struct count_ptr_d, count_ptr_derefs,
	count_uses_and_derefs): Relocate from gimple.c.
	(gimple_replace_ssa_lhs): Renamed gimple_replace_ssa from gimple.c
	* tree-ssa-reassoc.c (repropagate_negates): Use gimple_replace_ssa_lhs.
	* tree-ssa-math-opts (execute_cse_reciprocals): Use
	gimple_replace_ssa_lhs.
	* asan.c: Include gimple-builder.h.
	* Makefile.in: Add gimple-builder.o.

From-SVN: r202945
2013-09-26 13:23:31 +00:00
Richard Biener a2544177b9 tree-ssa-live.c (var_map_base_init): Handle SSA names with DECL_IGNORED_P base VAR_DECLs like anonymous SSA names.
2013-09-26  Richard Biener  <rguenther@suse.de>

	* tree-ssa-live.c (var_map_base_init): Handle SSA names with
	DECL_IGNORED_P base VAR_DECLs like anonymous SSA names.
	(loe_visit_block): Use gcc_checking_assert.
	* tree-ssa-coalesce.c (create_outofssa_var_map): Use
	gimple_assign_ssa_name_copy_p.
	(gimple_can_coalesce_p): Adjust according to the var_map_base_init
	change.

	* gcc.dg/tree-ssa/coalesce-2.c: New testcase.

From-SVN: r202944
2013-09-26 13:18:31 +00:00
David Edelsohn 6d1ca9a0f3 t-rs6000 (rs6000.o): Remove.
* config/rs6000/t-rs6000 (rs6000.o): Remove.
        (rs6000-c.o): Use COMPILE and POSTCOMPILE.

From-SVN: r202943
2013-09-26 08:53:20 -04:00
Richard Biener 46e950dbb1 re PR tree-optimization/58539 (ICE with segfault at -O3 with -g enabled on x86_64-linux-gnu)
2013-09-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58539
	* tree-vect-loop.c (vect_create_epilog_for_reduction): Honor
	the fact that debug statements are not taking part in loop-closed
	SSA construction.

	* gcc.dg/torture/pr58539.c: New testcase.

From-SVN: r202942
2013-09-26 12:45:19 +00:00
Nick Clifton 40ada30a79 msp430.c (msp430_expand_epilogue): Fix compile time warning message.
* config/msp430/msp430.c (msp430_expand_epilogue): Fix compile
	time warning message.
	(msp430_print_operand_raw): Delete unused letter parameter.
	(TARGET_PRINT_OPERAND_ADDRESS): Define.
	(msp430_print_operand_address): New function.
	(msp430_print_operand): Move address printing code from here to
	new function.
	* config/msp430/msp430.md (movsipsi2): Add comment in generated
	assembler.
	(zero_extendpsisi2): Likewise.
	(extendpsisi2): New pattern.
	(andneghi3): New pattern.

From-SVN: r202941
2013-09-26 09:38:13 +00:00
Yvan Roux 38e8f66392 aarch64.opt (mlra): New option.
2013-09-26  Yvan Roux  <yvan.roux@linaro.org>

	* config/aarch64/aarch64.opt (mlra): New option.
	* config/aarch64/aarch64.c (aarch64_lra_p): New function.
	(TARGET_LRA_P): Define.

From-SVN: r202940
2013-09-26 09:09:30 +00:00
Eric Botcazou 4167e8d415 * expr.c (expand_assignment): Remove obsolete comment.
From-SVN: r202938
2013-09-26 08:04:09 +00:00
Jeff Law 5254eac41d tree-flow.h (thread_through_all_blocks): Prototype moved into tree-ssa-threadupdate.h.
* tree-flow.h (thread_through_all_blocks): Prototype moved into
	tree-ssa-threadupdate.h.
	(register_jump_thread): Similarly.
	* tree-ssa-threadupdate.h: New header file.
	* tree-ssa-dom.c: Include tree-ssa-threadupdate.h.
	* tree-vrp.c: Likewise.
	* tree-ssa-threadedge.c: Include tree-ssa-threadupdate.h.
	(thread_around_empty_blocks): Change type of path vector argument to
	an edge,type pair from just an edge.  Initialize both elements when
	appending to a jump threading path.  Tweak references to elements
	appropriately.
	(thread_across_edge): Similarly.  Release memory for the elements
	as needed.
	* tree-ssa-threadupdate.c: Include tree-ssa-threadupdate.h.
	(dump_jump_thread_path): New function broken out from
	register_jump_thread.
	(register_jump_thread): Use dump_jump_thread_path.  Change type of
	path vector entries.  Search the path for NULL edges and dump
	the path if one is found.  Tweak the conversion of path to 3-edge
	form to use the block copy type information embedded in the path.

	* gcc.dg/tree-ssa/ssa-dom-thread-3.c: Update expected output.

From-SVN: r202933
2013-09-25 21:28:03 -06:00
GCC Administrator 9adc2b3c52 Daily bump.
From-SVN: r202931
2013-09-26 00:16:59 +00:00
Marc Glisse 34e6625aa2 re PR libstdc++/58338 (Add noexcept to functions with a narrow contract)
2013-09-25  Marc Glisse  <marc.glisse@inria.fr>

	PR libstdc++/58338
	* include/bits/forward_list.h (_Fwd_list_node_base::_M_transfer_after):
	Mark as noexcept.
	(_Fwd_list_iterator) [_Fwd_list_iterator, operator*, operator->,
	operator++, operator==, operator!=, _M_next]: Likewise.
	(_Fwd_list_const_iterator) [_Fwd_list_const_iterator, operator*,
	operator->, operator++, operator==, operator!=, _M_next]: Likewise.
	(operator==(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&),
	operator!=(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&)):
	Likewise.
	* include/bits/hashtable_policy.h (_Hash_node_base::_Hash_node_base,
	_Hash_node::_M_next, _Node_iterator_base::_Node_iterator_base,
	_Node_iterator_base::_M_incr, operator==(const _Node_iterator_base&,
	const _Node_iterator_base&), operator!=(const _Node_iterator_base&,
	const _Node_iterator_base&)): Likewise.
	(_Node_iterator) [_Node_iterator, operator*, operator->, operator++]:
	Likewise.
	(_Node_const_iterator) [_Node_const_iterator, operator*, operator->,
	operator++]: Likewise.
	* include/debug/safe_iterator.h (_Safe_iterator) [_Safe_iterator,
	operator=, operator*, operator->, operator++, operator--, operator[],
	operator+=, operator+, operator-=, operator-, base, operator _Iterator]:
	Likewise.
	(operator==(const _Safe_iterator&, const _Safe_iterator&),
	operator!=(const _Safe_iterator&, const _Safe_iterator&),
	operator<(const _Safe_iterator&, const _Safe_iterator&),
	operator<=(const _Safe_iterator&, const _Safe_iterator&),
	operator>(const _Safe_iterator&, const _Safe_iterator&),
	operator>=(const _Safe_iterator&, const _Safe_iterator&),
	operator-(const _Safe_iterator&, const _Safe_iterator&),
	operator+(difference_type, const _Safe_iterator&)): Likewise.
	* include/profile/iterator_tracker.h (__iterator_tracker)
	[__iterator_tracker, base, operator _Iterator, operator->, operator++,
	operator--, operator=, operator*, operator[], operator+=, operator+,
	operator-=, operator-]: Likewise.
	(operator==(const __iterator_tracker&, const __iterator_tracker&),
	operator!=(const __iterator_tracker&, const __iterator_tracker&),
	operator<(const __iterator_tracker&, const __iterator_tracker&),
	operator<=(const __iterator_tracker&, const __iterator_tracker&),
	operator>(const __iterator_tracker&, const __iterator_tracker&),
	operator>=(const __iterator_tracker&, const __iterator_tracker&),
	operator-(const __iterator_tracker&, const __iterator_tracker&),
	operator+(difference_type, const __iterator_tracker&)): Likewise.

From-SVN: r202924
2013-09-25 20:28:12 +00:00
Tobias Burnus 7017a7a9f8 re PR fortran/58436 ([OOP] ICE (segfault) in generate_finalization_wrapper for CLASS(*))
2013-09-25  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58436
        * class.c (generate_finalization_wrapper): Handle CLASS(*).

2013-09-25  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58436
        * gfortran.dg/finalize_21.f90: New.

From-SVN: r202923
2013-09-25 21:56:20 +02:00
Tobias Burnus 71e482dcc0 re PR fortran/57697 ([OOP] Segfault with defined assignment for components during intrinsic assignment)
2013-09-25  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57697
        PR fortran/58469
        * resolve.c (generate_component_assignments): Avoid double free
        at runtime and freeing a still-being used expr.

2013-09-25  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57697
        PR fortran/58469
        * gfortran.dg/defined_assignment_8.f90: New.
        * gfortran.dg/defined_assignment_9.f90: New.

From-SVN: r202922
2013-09-25 21:54:12 +02:00
Jayant Sonar 2272ddac7e Updating my mail ID.
From-SVN: r202921
2013-09-25 19:04:13 +00:00
Caroline Tice 56fc78353e Fix issue with libvtv testsuite being run (and failing)
when GCC was not configured with --enable-vtable-verify.

From-SVN: r202918
2013-09-25 11:44:48 -07:00
Yvan Roux 20f114a35a lra.c (update_inc_notes): Remove all REG_DEAD and REG_UNUSED notes.
2013-09-25  Yvan Roux  <yvan.roux@linaro.org>

	* lra.c (update_inc_notes): Remove all REG_DEAD and REG_UNUSED notes.

From-SVN: r202915
2013-09-25 18:35:02 +00:00
Yvan Roux 3936bafc7e rtlanal.c (lsb_bitfield_op_p): New predicate for bitfield operations from the least significant bit.
2013-09-25  Yvan Roux  <yvan.roux@linaro.org>
	    Vladimir Makarov  <vmakarov@redhat.com>

	* rtlanal.c (lsb_bitfield_op_p): New predicate for bitfield operations
	from the least significant bit.
	(strip_address_mutations): Add bitfield operations handling.
	(must_be_index_p): Add shifting and rotate operations handling.
	(set_address_base): Use must_be_base_p predicate.
	(set_address_index):Use must_be_index_p predicate.


Co-Authored-By: Vladimir Makarov <vmakarov@redhat.com>

From-SVN: r202914
2013-09-25 18:31:13 +00:00
Alexander Ivchenko b86f6e9e46 i386.c (ix86_avx256_split_vector_move_misalign): Use new names.
* config/i386/i386.c (ix86_avx256_split_vector_move_misalign):
	Use new names.
	(ix86_expand_vector_move_misalign): Support new unaligned load and
	stores and use new names.
	(CODE_FOR_sse2_storedqu): Rename to ...
	(CODE_FOR_sse2_storedquv16qi): ... this.
	(CODE_FOR_sse2_loaddqu): Rename to ...
	(CODE_FOR_sse2_loaddquv16qi): ... this.
	(CODE_FOR_avx_loaddqu256): Rename to ...
	(CODE_FOR_avx_loaddquv32qi): ... this.
	(CODE_FOR_avx_storedqu256): Rename to ...
	(CODE_FOR_avx_storedquv32qi): ... this.
	* config/i386/i386.md (fpint_logic): New.
	* config/i386/sse.md (VMOVE): Extend for AVX512.
	(VF): Ditto.
	(VF_128_256): New.
	(VF_512): Ditto.
	(VI_UNALIGNED_LOADSTORE): Ditto.
	(sse2_avx_avx512f): Ditto.
	(sse2_avx2): Extend for AVX512.
	(sse4_1_avx2): Ditto.
	(avx2_avx512f): New.
	(sse): Extend for AVX512.
	(sse2): Ditto.
	(sse4_1): Ditto.
	(avxsizesuffix): Ditto.
	(sseintvecmode): Ditto.
	(ssePSmode): Ditto.
	(<sse>_loadu<ssemodesuffix><avxsizesuffix>): Ditto.
	(<sse>_storeu<ssemodesuffix><avxsizesuffix>): Ditto.
	(<sse2>_loaddqu<avxsizesuffix>): Extend for AVX512 and rename to ...
	(<sse2_avx_avx512f>_loaddqu<mode>): ... this.
	(<sse2>_storedqu<avxsizesuffix>): Extend for AVX512 and rename to ...
	(<sse2_avx_avx512f>_storedqu<mode): ... this.
	(<sse>_movnt<mode>): Replace constraint "x" with "v".
	(STORENT_MODE): Extend for AVX512.
	(*absneg<mode>2): Replace constraint "x" with "v".
	(*mul<mode>3): Ditto.
	(*ieee_smin<mode>3): Ditto.
	(*ieee_smax<mode>3): Ditto.
	(avx_cmp<mode>3): Replace VF with VF_128_256.
	(*<sse>_maskcmp<mode>3_comm): Ditto.
	(<sse>_maskcmp<mode>3): Ditto.
	(<sse>_andnot<mode>3): Extend for AVX512.
	(<code><mode>3, anylogic): Replace VF with VF_128_256.
	(<code><mode>3, fpint_logic): New.
	(*<code><mode>3): Extend for AVX512.
	(avx512flogicsuff): New.
	(avx512f_<logic><mode>): Ditto.
	(<sse>_movmsk<ssemodesuffix><avxsizesuffix>): Replace VF with
	VF_128_256.
	(<sse4_1>_blend<ssemodesuffix><avxsizesuffix>): Ditto.
	(<sse4_1>_blendv<ssemodesuffix><avxsizesuffix>): Ditto.
	(<sse4_1>_dp<ssemodesuffix><avxsizesuffix>): Ditto.
	(avx_vtest<ssemodesuffix><avxsizesuffix>): Ditto.
	(<sse4_1>_round<ssemodesuffix><avxsizesuffix>): Ditto.
	(xop_vpermil2<mode>3): Ditto.
	(*avx_vpermilp<mode>): Extend for AVX512 and rename to ...
	(*<sse2_avx_avx512f>_vpermilp<mode>): ... this.
	(avx_vpermilvar<mode>3): Extend for AVX512 and rename to ...
	(<sse2_avx_avx512f>_vpermilvar<mode>3): ... this.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r202913
2013-09-25 18:01:43 +00:00
Tom Tromey 4d44d03c72 * Makefile.in (PARTITION_H, LTO_SYMTAB_H, COMMON_TARGET_DEF_H)
(RTL_ERROR_H, TRANS_MEM_H, COVERAGE_H, DEMANGLE_H, ALIAS_H)
	(SCHED_INT_H, SEL_SCHED_IR_H, SEL_SCHED_DUMP_H, VALTRACK_H, DDG_H)
	(GGC_INTERNAL_H, DECNUM_H, BACKTRACE_H, MKDEPS_H, TREE_HASHER_H)
	(TREE_SSA_LIVE_H, SSAEXPAND_H, DWARF2OUT_H, SCEV_H, OMEGA_H)
	(TREE_DATA_REF_H, IRA_INT_H, LRA_INT_H, DBGCNT_H, DATA_STREAMER_H)
	(GIMPLE_STREAMER_H, TREE_STREAMER_H, STREAMER_HOOKS_H)
	(TREE_VECTORIZER_H, IPA_INLINE_H, GSTAB_H, LIBFUNCS_H)
	(GRAPHITE_HTAB_H): Remove.

From-SVN: r202912
2013-09-25 16:33:30 +00:00
Tom Tromey 86aaf68dc0 * config/mcore/t-mcore (CROSS_FLOAT_H): Remove.
From-SVN: r202911
2013-09-25 16:32:56 +00:00
Tom Tromey c987deb8ea * config/t-glibc (glibc-c.o): Use COMPILE and POSTCOMPILE.
From-SVN: r202910
2013-09-25 16:32:02 +00:00
Tom Tromey 9439747ead t-i386 (i386.o): Remove.
* config/i386/t-i386 (i386.o): Remove.
	(i386-c.o): Use COMPILE and POSTCOMPILE.

From-SVN: r202909
2013-09-25 16:31:29 +00:00
Tom Tromey aefc31a199 * Makefile.in ($(out_object_file)): Use COMPILE and POSTCOMPILE.
From-SVN: r202908
2013-09-25 16:30:39 +00:00
Tom Tromey b6541edc52 * Makefile.in (graph.o, sbitmap.o, sparseset.o, gcc-ar.o)
(gcc-ranlib.o, gcc-nm.o, collect2.o, collect2-aix.o, tlink.o)
	(lto-wrapper.o, default-c.o, attribs.o, incpath.o, prefix.o)
	(gcc.o, options.o, options-save.o, version.o, gtype-desc.o)
	(trans-mem.o, ggc-common.o, ggc-page.o, ggc-none.o, stringpool.o)
	(convert.o, double-int.o, lto-compress.o, data-streamer-in.o)
	(data-streamer-out.o, data-streamer.o, gimple-streamer-in.o)
	(gimple-streamer-out.o, tree-streamer.o, tree-streamer-in.o)
	(tree-streamer-out.o, streamer-hooks.o, lto-cgraph.o)
	(lto-streamer-in.o, lto-streamer-out.o, lto-section-in.o)
	(lto-section-out.o, lto-opts.o, lto-streamer.o, langhooks.o)
	(test-dump.o, tree.o, tree-dump.o, tree-inline.o, print-tree.o)
	(stor-layout.o, asan.o, tsan.o, ubsan.o, tree-ssa-tail-merge.o)
	(tree-ssa-structalias.o, tree-ssa-uninit.o, tree-ssa.o)
	(tree-into-ssa.o, tree-ssa-ter.o, tree-ssa-coalesce.o)
	(tree-outof-ssa.o, tree-ssa-dse.o, tree-ssa-forwprop.o)
	(tree-ssa-phiprop.o, tree-ssa-ifcombine.o, tree-ssa-phiopt.o)
	(tree-nrv.o, tree-ssa-copy.o, tree-ssa-propagate.o)
	(tree-ssa-dom.o, tree-ssa-uncprop.o, tree-ssa-threadedge.o)
	(tree-ssa-threadupdate.o, tree-ssanames.o, tree-phinodes.o)
	(domwalk.o, tree-ssa-live.o, tree-ssa-copyrename.o)
	(tree-ssa-pre.o, tree-ssa-sccvn.o)
	(gimple-ssa-strength-reduction.o, tree-vrp.o, tree-cfg.o)
	(tree-cfgcleanup.o, tree-tailcall.o, tree-ssa-sink.o)
	(tree-nested.o, tree-if-conv.o, tree-iterator.o, tree-dfa.o)
	(tree-ssa-operands.o, tree-eh.o, tree-ssa-loop.o)
	(tree-ssa-loop-unswitch.o, tree-ssa-address.o)
	(tree-ssa-loop-niter.o, tree-ssa-loop-ivcanon.o)
	(tree-ssa-loop-ch.o, tree-ssa-loop-prefetch.o, tree-predcom.o)
	(tree-ssa-loop-ivopts.o, tree-affine.o, tree-ssa-loop-manip.o)
	(tree-ssa-loop-im.o, tree-ssa-math-opts.o, tree-ssa-alias.o)
	(tree-ssa-reassoc.o, tree-optimize.o, gimplify.o)
	(gimple-iterator.o, gimple-fold.o, gimple-low.o, omp-low.o)
	(tree-browser.o, omega.o, tree-chrec.o, tree-scalar-evolution.o)
	(tree-data-ref.o, sese.o, graphite.o, graphite-blocking.o)
	(graphite-clast-to-gimple.o, graphite-dependences.o)
	(graphite-interchange.o, graphite-poly.o)
	(graphite-scop-detection.o, graphite-sese-to-poly.o)
	(graphite-optimize-isl.o, tree-vect-loop.o)
	(tree-vect-loop-manip.o, tree-vect-patterns.o, tree-vect-slp.o)
	(tree-vect-stmts.o, tree-vect-data-refs.o, tree-vectorizer.o)
	(vtable-verify.o, tree-loop-distribution.o, tree-parloops.o)
	(tree-stdarg.o, tree-object-size.o, internal-fn.o, gimple.o)
	(gimple-pretty-print.o, tree-mudflap.o, tree-nomudflap.o)
	(tree-pretty-print.o, tree-diagnostic.o, fold-const.o)
	(diagnostic.o, diagnostic-color.o, opts.o, opts-global.o)
	(opts-common.o, targhooks.o, common/common-targhooks.o, input.o)
	(toplev.o, hwint.o, passes.o, plugin.o, main.o, host-default.o)
	(rtl-error.o, rtl.o, print-rtl.o, rtlanal.o, varasm.o, function.o)
	(statistics.o, stmt.o, except.o, expr.o, dojump.o, builtins.o)
	(calls.o, expmed.o, explow.o, optabs.o, dbxout.o, debug.o)
	(sdbout.o, dwarf2out.o, dwarf2cfi.o, dwarf2asm.o, vmsdbgout.o)
	(xcoffout.o, godump.o, emit-rtl.o, real.o, realmpfr.o, dfp.o)
	(fixed-value.o, jump.o, simplify-rtx.o, symtab.o, cgraph.o)
	(cgraphunit.o, cgraphclones.o, cgraphbuild.o, varpool.o, ipa.o)
	(ipa-profile.o, ipa-devirt.o, ipa-prop.o, ipa-ref.o, ipa-cp.o)
	(ipa-split.o, ipa-inline.o, ipa-inline-analysis.o)
	(ipa-inline-transform.o, ipa-utils.o, ipa-reference.o)
	(ipa-pure-const.o, coverage.o, cselib.o, cse.o, dce.o, dumpfile.o)
	(dse.o, fwprop.o, web.o, ree.o, cprop.o, gcse.o, store-motion.o)
	(resource.o, lcm.o, mode-switching.o, tree-ssa-dce.o)
	(tree-call-cdce.o, tree-ssa-ccp.o, tree-ssa-strlen.o, tree-sra.o)
	(tree-switch-conversion.o, tree-complex.o, tree-emutls.o)
	(tree-vect-generic.o, df-core.o, df-problems.o, df-scan.o)
	(regstat.o, valtrack.o, var-tracking.o, profile.o, mcf.o)
	(tree-profile.o, value-prof.o, loop-doloop.o, alloc-pool.o)
	(auto-inc-dec.o, cfg.o, cfghooks.o, cfgexpand.o, cfgrtl.o)
	(cfganal.o, cfgbuild.o, cfgcleanup.o, cfgloop.o, cfgloopanal.o)
	(graphds.o, loop-iv.o, loop-invariant.o, cfgloopmanip.o)
	(loop-init.o, loop-unswitch.o, loop-unroll.o, dominance.o)
	(et-forest.o, combine.o, reginfo.o, bitmap.o, vec.o, hash-table.o)
	(reload.o, reload1.o, rtlhooks.o, postreload.o, postreload-gcse.o)
	(caller-save.o, bt-load.o, reorg.o, alias.o, stack-ptr-mod.o)
	(init-regs.o, ira-build.o, ira-costs.o, ira-conflicts.o)
	(ira-color.o, ira-emit.o, ira-lives.o, ira.o, lra.o)
	(lra-assigns.o, lra-coalesce.o, lra-constraints.o)
	(lra-eliminations.o, lra-lives.o, lra-spills.o, regmove.o)
	(combine-stack-adj.o, compare-elim.o, ddg.o, modulo-sched.o)
	(haifa-sched.o, sched-deps.o, sched-rgn.o, sched-ebb.o)
	(sched-vis.o, sel-sched.o, sel-sched-dump.o, sel-sched-ir.o)
	(final.o, recog.o, reg-stack.o, sreal.o, predict.o, lists.o)
	(bb-reorder.o, tracer.o, timevar.o, regcprop.o, regrename.o)
	(ifcvt.o, params.o, pointer-set.o, hooks.o, pretty-print.o)
	(errors.o, dbgcnt.o, lower-subreg.o, target-globals.o)
	(hw-doloop.o, file-find.o, context.o, $(common_out_object_file))
	(insn-attrtab.o, insn-automata.o, insn-dfatab.o, insn-emit.o)
	(insn-enums.o, insn-extract.o, insn-latencytab.o, insn-modes.o)
	(insn-opinit.o, insn-output.o, insn-peep.o, insn-preds.o)
	(insn-recog.o, intl.o, cppbuiltin.o, cppdefault.o, gcov.o)
	(gcov-dump.o): Remove.
	(default-c.o): Use COMPILE and POSTCOMPILE.
	(CFLAGS-gcc.o): New variable.
	($(common_out_object_file)): Use COMPILE and POSTCOMPILE.

From-SVN: r202907
2013-09-25 16:29:41 +00:00
Tom Tromey 7c6fedd2ff * Make-lang.in (LTO_H, LINKER_PLUGIN_API_H, LTO_TREE_H)
(lto/lto-lang.o, lto/lto.o, lto/lto-partition.o)
	(lto/lto-object.o): Remove.

From-SVN: r202906
2013-09-25 16:28:35 +00:00
Tom Tromey 9318a011e0 Make-lang.in (gospec.o): Remove.
* Make-lang.in (gospec.o): Remove.
	(CFLAGS-go/gospec.o): New variable.
	(GCCGO_OBJS): Update to use go/gospec.o.
	(go_OBJS): Define.
	(GO_SYSTEM_H, GO_C_H, GO_LINEMAP_H, GO_LEX_H, GO_PARSE_H)
	(GO_GOGO_H, GO_TYPES_H, GO_STATEMENTS_H, GO_EXPRESSIONS_H)
	(GO_EXPORT_H, GO_IMPORT_H, GO_RUNTIME_H, GO_AST_DUMP_H)
	(go/go-backend.o, go/go-lang.o, go/go-gcc.o, go/go-linemap.o)
	(go/ast-dump.o, go/dataflow.o, go/export.o, go/expressions.o)
	(go/go.o, go/go-dump.o, go/go-optimize.o, go/gogo-tree.o)
	(go/gogo.o, go/import.o, go/import-archive.o, go/lex.o)
	(go/parse.o, go/runtime.o, go/statements.o, go/types.o)
	(go/unsafe.o): Remove.
	(CFLAGS-go/go-gcc.o, CFLAGS-go/go-linemap.o): New variables.
	(go/%.o: go/gofrontend/%.cc): Use COMPILE and POSTCOMPILE.

From-SVN: r202905
2013-09-25 16:27:49 +00:00
Tom Tromey 9e33f72300 Make-lang.in (fortran_OBJS): Use fortran/gfortranspec.o.
* Make-lang.in (fortran_OBJS): Use fortran/gfortranspec.o.
	(gfortranspec.o): Remove.
	(CFLAGS-fortran/gfortranspec.o): New variable.
	(GFORTRAN_D_OBJS): Update.
	($(F95_PARSER_OBJS), fortran/openmp.o, GFORTRAN_TRANS_DEPS)
	(fortran/f95-lang.o, fortran/scanner.o, fortran/convert.o)
	(fortran/frontend-passes.o, fortran/trans.o, fortran/trans-decl.o)
	(fortran/trans-types, fortran/trans-const.o, fortran/trans-expr.o)
	(fortran/trans-stmt.o, fortran/trans-openmp.o, fortran/trans-io.o)
	(fortran/trans-array.o, fortran/trans-intrinsic.o)
	(fortran/dependency.o, fortran/trans-common.o, fortran/resolve.o)
	(fortran/data.o, fortran/options.o, fortran/cpp.o)
	(fortran/scanner.o, fortran/module.o): Remove.

From-SVN: r202904
2013-09-25 16:27:04 +00:00