Richard Henderson [Wed, 1 Aug 2012 20:26:58 +0000 (13:26 -0700)]
 
Allow MODE_PARTIAL_INT in expmed costs
From-SVN: r190050
Richard Henderson [Wed, 1 Aug 2012 20:26:49 +0000 (13:26 -0700)]
 
m32c: Don't use set_optab_handler
From-SVN: r190049
Richard Guenther [Wed, 1 Aug 2012 17:25:56 +0000 (17:25 +0000)]
 
tree-flow-inline.h (referenced_var): Remove.
2012-08-01  Richard Guenther  <rguenther@suse.de>
	* tree-flow-inline.h (referenced_var): Remove.
	* tree-ssa-coalesce.c (create_outofssa_var_map): Remove duplicate
	checking code.
	* tree-sra.c (candidates): New global hashtable.
	(candidate): New function.
	(sra_initialize): Initialize candidates.
	(sra_deinitialize): Free candidates.
	(disqualify_candidate): Remove candidate from candidates.
	(maybe_add_sra_candidate): New function.
	(find_var_candidates): Walk over all local decls and parameters,
	add candidates to candidates hashtable.
	(find_param_candidates): Add candidates to candidates hashtable.
	(analyze_all_variable_accesses): Use candidate instead of
	referenced_var.
From-SVN: r190047
Tom de Vries [Wed, 1 Aug 2012 16:53:15 +0000 (16:53 +0000)]
 
vrp76.c: New test.
2012-08-01  Tom de Vries  <tom@codesourcery.com>
	* gcc.dg/tree-ssa/vrp76.c: New test.
From-SVN: r190044
Tom de Vries [Wed, 1 Aug 2012 16:53:05 +0000 (16:53 +0000)]
 
tree-vrp.c (find_case_label_ranges): New function.
2012-08-01  Tom de Vries  <tom@codesourcery.com>
	* tree-vrp.c (find_case_label_ranges): New function.
	(vrp_visit_switch_stmt, simplify_switch_using_ranges): Use
	find_case_label_ranges instead of find_case_label_range.  Handle second
	range.
From-SVN: r190043
Michael Matz [Wed, 1 Aug 2012 14:58:38 +0000 (14:58 +0000)]
 
tree-complex.c (init_parameter_lattice_values): Don't call var_ann.
	* tree-complex.c (init_parameter_lattice_values): Don't call var_ann.
	* tree-dfa.c (struct dfa_stats_d): Remove num_var_anns member.
	(dump_dfa_stats): Don't dump stats about var anns.
	(collect_dfa_stats): Don't collect them.
	(add_referenced_var_1): Don't set var annotation pointers.
	(remove_referenced_var): Ditto, and only remove it it's in the
	hash table.
	* tree-flow-inline.h (var_ann): Remove.
	* tree-flow.h (struct var_ann_d, var_ann_t): Remove.
	* tree-inline.c (remapped_type): Remove.
	(can_be_nonlocal): Most variable will be considered live here,
	return false earlier.
	(remap_decls): Don't call var_ann, all variables will be considered
	referenced here.
	(copy_debug_stmt): Ditto, and use is_global_var.
	* tree-into-ssa.c (rewrite_debug_stmt_uses): Use get_current_def to
	determine if a variable was referred to, not var_ann.
	* tree-ssa-live.c (remove_unused_scope_block_p): Don't check var_ann.
	(remove_unused_locals): Ditto.
	* tree-ssa.c (delete_tree_ssa): Don't free/clear var ann pointers.
	* tree-tailcall.c (arg_needs_copy_p): Don't check var_ann.
	* tree.c (copy_node_stat): Don't clear var ann pointer.
	* tree.h (tree_result_decl, tree_parm_decl, tree_var_decl): Remove
	ann member.
	(DECL_VAR_ANN_PTR): Remove.
	* tree-flow.h (struct var_ann_d): Rename used member.
	(set_is_used): Don't declare.
	* tree-flow-inline.h (clear_is_used): Remove.
	(set_is_used, is_used_p): Move to ...
	* tree-ssa-live.c (set_is_used, is_used_p): ... here, and use
	on the side bitmap.
	(usedvars): New bitmap.
	(dump_scope_block): Don't dump unusedness.
	(remove_unused_locals): Allocate and free usedvars.
	* tree-nrv.c (tree_nrv): Don't clear used flags here.
	* tree-flow.h (struct var_ann_d): Remove base_var_processed and
	base_index members.
	* tree-ssa-live.h (struct _var_map): Remove basevars member.
	(VAR_ANN_BASE_INDEX): Remove.
	* tree-ssa-live.c (var_map_base_init): Use a hash table instead
	of var annotation to compress index space.  Don't deal with above
	removed members.
	(var_map_base_fini): Don't free basevars.
	(init_var_map): Don't clear basevars.
From-SVN: r190039
Bill Schmidt [Wed, 1 Aug 2012 14:00:35 +0000 (14:00 +0000)]
 
gimple-ssa-strength-reduction.c (struct slsr_cand_d): Change base_name to base_expr.
2012-08-01  Bill Schmidt  <wschmidt@linux.ibm.com>
	* gimple-ssa-strength-reduction.c (struct slsr_cand_d): Change
	base_name to base_expr.
	(struct cand_chain_d): Likewise.
	(base_cand_hash): Likewise.
	(base_cand_eq): Likewise.
	(record_potential_basis): Likewise.
	(alloc_cand_and_find_basis): Likewise.
	(create_mul_ssa_cand): Likewise.
	(create_mul_imm_cand): Likewise.
	(create_add_ssa_cand): Likewise.
	(create_add_imm_cand): Likewise.
	(slsr_process_cast): Likewise.
	(slsr_process_copy): Likewise.
	(dump_candidate): Likewise.
	(base_cand_dump_callback): Likewise.
	(unconditional_cands_with_known_stride_p): Likewise.
	(cand_increment): Likewise.
From-SVN: r190038
Bill Schmidt [Wed, 1 Aug 2012 13:02:38 +0000 (13:02 +0000)]
 
re PR tree-optimization/46556 (Code size regression in struct access)
gcc:
	PR tree-optimization/46556
	* gimple-ssa-strength-reduction.c (enum cand_kind): Add CAND_REF.
	(base_cand_map): Change to hash table.
	(base_cand_hash): New function.
	(base_cand_free): Likewise.
	(base_cand_eq): Likewise.
	(lookup_cand): Change base_cand_map to hash table.
	(find_basis_for_candidate): Likewise.
	(base_cand_from_table): Exclude CAND_REF.
	(restructure_reference): New function.
	(slsr_process_ref): Likewise.
	(find_candidates_in_block): Call slsr_process_ref.
	(dump_candidate): Handle CAND_REF.
	(base_cand_dump_callback): New function.
	(dump_cand_chains): Change base_cand_map to hash table.
	(replace_ref): New function.
	(replace_refs): Likewise.
	(analyze_candidates_and_replace): Call replace_refs.
	(execute_strength_reduction): Change base_cand_map to hash table.
gcc/testsuite:
	PR tree-optimization/46556
	* testsuite/gcc.dg/tree-ssa/slsr-27.c: New.
	* testsuite/gcc.dg/tree-ssa/slsr-28.c: New.
	* testsuite/gcc.dg/tree-ssa/slsr-29.c: New.
From-SVN: r190037
Uros Bizjak [Wed, 1 Aug 2012 12:08:53 +0000 (14:08 +0200)]
 
i386.c (ix86_address_subreg_operand): Reject stack pointer.
        * config/i386/i386.c (ix86_address_subreg_operand): Reject
        stack pointer.
        (ix86_print_operand_address): Assert that parts.base and parts.index
        are non-NULL after call to simplify_subreg.
From-SVN: r190036
Richard Guenther [Wed, 1 Aug 2012 11:51:51 +0000 (11:51 +0000)]
 
tree-ssa.texi: Remove pieces mentioning mark_sym_for_renaming.
2012-08-01  Richard Guenther  <rguenther@suse.de>
	* doc/tree-ssa.texi: Remove pieces mentioning mark_sym_for_renaming.
From-SVN: r190035
Richard Guenther [Wed, 1 Aug 2012 11:48:56 +0000 (11:48 +0000)]
 
graphite-clast-to-gimple.c (translate_clast_user): Rename virtual operands.
2012-08-01  Richard Guenther  <rguenther@suse.de>
	* graphite-clast-to-gimple.c (translate_clast_user): Rename
	virtual operands.
	* sese.c (graphite_copy_stmts_from_block): Do not rename virtual
	operands here.
	* tree-call-cdce.c (tree_call_cdce): Use
	mark_virtual_operands_for_renaming.
	* tree-eh.c (sink_clobbers): Simplify.
	* tree-flow.h (mark_sym_for_renaming): Remove.
	(mark_virtual_operands_for_renaming): New function.
	* tree-if-conv.c (tree_if_conversion): Use
	mark_virtual_operands_for_renaming.
	* tree-inline.c (update_ssa_across_abnormal_edges): Likewise.
	* tree-into-ssa.c (mark_sym_for_renaming): Remove.
	(mark_virtual_operands_for_renaming): New function.
	* tree-loop-distribution.c (tree_loop_distribution): Use
	mark_virtual_operands_for_renaming.
	* tree-ssa-dce.c (mark_virtual_operand_for_renaming): Do not
	update stmts, use mark_virtual_operands_for_renaming.
	* tree-ssa-tail-merge.c (release_last_vdef): Remove.
	(replace_block_by): Adjust.
	(tail_merge_optimize): Use mark_virtual_operands_for_renaming.
	* tree-tailcall.c (tree_optimize_tail_calls_1): Use
	mark_virtual_operands_for_renaming.
	* tree-vect-slp.c (vect_slp_transform_bb): Likewise.
	* tree-vectorizer.c (vectorize_loops): Likewise.
From-SVN: r190034
Richard Guenther [Wed, 1 Aug 2012 11:48:04 +0000 (11:48 +0000)]
 
tree-flow.h (struct gimple_df): Remove syms_to_rename member, add ssa_renaming_needed and rename_vops flags.
2012-08-01  Richard Guenther  <rguenther@suse.de>
	* tree-flow.h (struct gimple_df): Remove syms_to_rename member,
	add ssa_renaming_needed and rename_vops flags.
	(SYMS_TO_RENAME): Remove.
	(symbol_marked_for_renaming): Likewise.
	(mark_virtual_ops_for_renaming): Likewise.
	* tree-into-ssa.c (symbols_to_rename_set, symbols_to_rename):
	New globals.
	(mark_for_renaming, marked_for_renaming): New functions.
	(symbol_marked_for_renaming): Remove.
	(dump_currdefs): Adjust.
	(maybe_replace_use): Likewise.
	(maybe_replace_use_in_debug_stmt): Likewise.
	(maybe_register_def): Likewise.
	(rewrite_update_phi_arguments): Likewise.
	(rewrite_update_enter_block): Likewise.
	(fini_ssa_renamer): Clear update SSA status here ...
	(delete_update_ssa): ... not here.  Free rename set.
	(prepare_block_for_update): Compute which decls need renaming.
	(dump_update_ssa): Adjust.
	(mark_sym_for_renaming): Adjust update SSA status for virtuals.
	(need_ssa_update_p): Adjust.
	(insert_updated_phi_nodes_for): Likewise.
	(update_ssa): Likewise.
	* tree-ssa-operands.c (finalize_ssa_defs): Adjust update SSA status
	for virtual and real operands.
	(finalize_ssa_uses): Likewise.
	* tree-ssanames.c (init_ssanames): Adjust.
	* tree-ssa.c (maybe_rewrite_mem_ref_base, maybe_optimize_var,
	execute_update_addresses_taken): Add bitmap to keep track of which
	candidates are suitable for rewriting and later renaming by SSA
	update.
	* matrix-reorg.c (transform_access_sites): Do not rename all defs.
	* tree-dfa.c (make_rename_temp): Do not mark real operands for renaming.
	* cgraphunit.c (assemble_thunk): Likewise.
	* gimplify.c (gimple_regimplify_operands): Likewise.
	(force_gimple_operand_1): Likewise.
	* ipa-prop.c (ipa_modify_formal_parameters): Likewise.
	* tree-inline.c (declare_return_variable): Likewise.
	* tree-parloops.c (separate_decls_in_region_stmt): Do not call
	mark_virtual_ops_for_renaming.
	(create_stores_for_reduction): Likewise.
	(create_loads_and_stores_for_name): Likewise.
	* tree-predcom.c (mark_virtual_ops_for_renaming): Remove.
	(initialize_root_vars_lm): Do not call mark_virtual_ops_for_renaming.
	(execute_load_motion): Likewise.
	(remove_stmt): Likewise.
	(execute_pred_commoning_chain): Likewise.
	* tree-sra.c (create_access_replacement): Do not rename real
	operands.
	(get_unrenamed_access_replacement): Unify with ...
	(get_access_replacement): ... this.
	(get_repl_default_def_ssa_name): Adjust.
	* tree-ssa-loop-im.c (move_computations_stmt): Manually update
	virtual SSA form.
	(rewrite_mem_ref_loc): Do not call mark_virtual_ops_for_renaming.
	* tree-ssa-loop-prefetch.c (emit_mfence_after_loop): Likewise.
From-SVN: r190033
Nick Clifton [Wed, 1 Aug 2012 09:36:01 +0000 (09:36 +0000)]
 
lib2funcs.c (__clrsbhi2): New function.
	* config/m32c/lib2funcs.c (__clrsbhi2): New function.
	Implements __clrsb for an HImode argument.
From-SVN: r190032
GCC Administrator [Wed, 1 Aug 2012 00:18:16 +0000 (00:18 +0000)]
 
Daily bump.
From-SVN: r190028
DJ Delorie [Tue, 31 Jul 2012 22:21:21 +0000 (18:21 -0400)]
 
s390.c (s390_option_override): Disable DWARF 3/4 extensions for TPF, unless specifically selected.
* config/s390/s390.c (s390_option_override): Disable DWARF 3/4
extensions for TPF, unless specifically selected.
From-SVN: r190023
Alan Modra [Tue, 31 Jul 2012 22:14:44 +0000 (07:44 +0930)]
 
re PR target/54131 (ICE building 416.gamess, reload_cse_simplify_operands)
	PR target/54131
	* config/rs6000/rs6000.c (mem_operand_gpr): Don't limit range
	of lo_sum offsets.  Comment.  Assert mode at least word size
	rather than bypassing powerpc64 word offset check.
From-SVN: r190022
Bill Schmidt [Tue, 31 Jul 2012 21:08:41 +0000 (21:08 +0000)]
 
rs6000.c (rs6000_builtin_vectorization_cost): Revise costs for vec_perm and vec_promote_demote down to more natural values.
2012-07-31  Bill Schmidt  <wschmidt@linux.ibm.com>
	* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise
	costs for vec_perm and vec_promote_demote down to more natural values.
	(struct _rs6000_cost_data): New data structure.
	(rs6000_density_test): New function.
	(rs6000_init_cost): Change to use rs6000_cost_data.
	(rs6000_add_stmt_cost): Likewise.
	(rs6000_finish_cost): Perform density test when vectorizing a loop.
From-SVN: r190019
Janus Weil [Tue, 31 Jul 2012 18:32:41 +0000 (20:32 +0200)]
 
re PR fortran/42418 (PROCEDURE: Rejects interface which is both specific and generic procedure)
2012-07-31  Janus Weil  <janus@gcc.gnu.org>
	PR fortran/42418
	* decl.c (match_procedure_interface): Move some checks to
	'resolve_procedure_interface'. Set flavor if appropriate.
	* expr.c (gfc_check_pointer_assign): Cleanup of 'gfc_is_intrinsic'.
	* intrinsic.c (gfc_is_intrinsic): Additional checks for attributes which
	identify a procedure as being non-intrinsic.
	* resolve.c (resolve_procedure_interface): Checks moved here from
	'match_procedure_interface'. Minor cleanup.
	(resolve_formal_arglist,resolve_symbol): Cleanup of
	'resolve_procedure_interface'
	(resolve_actual_arglist,is_external_proc): Cleanup of
	'gfc_is_intrinsic'.
2012-07-31  Janus Weil  <janus@gcc.gnu.org>
	PR fortran/42418
	* gfortran.dg/proc_decl_29.f90: New.
From-SVN: r190017
Steven Bosscher [Tue, 31 Jul 2012 18:24:40 +0000 (18:24 +0000)]
 
sched-vis.c (print_exp): Handle FMA explicitly.
	* sched-vis.c (print_exp): Handle FMA explicitly.  Simplify handling
	of RTX_UNARY function-like operations.  Print unknown expression
	RTX classes as pseudo-functions.
	(print_pattern): Simplify return pattern printing.
	(dump_insn_slim): Print the value of notes as a pattern for proper
	printing of CFA notes.
From-SVN: r190016
Dehao Chen [Tue, 31 Jul 2012 15:09:02 +0000 (15:09 +0000)]
 
predict.c (tree_estimate_probability_driver): Normalize the loop when initializing the loop optimizer.
2012-07-31  Dehao Chen  <dehao@google.com>
	* predict.c (tree_estimate_probability_driver): Normalize the
	loop when initializing the loop optimizer.
From-SVN: r190015
Paolo Carlini [Tue, 31 Jul 2012 13:57:23 +0000 (13:57 +0000)]
 
pt.c (check_default_tmpl_args): Change is_primary and is_partial parameters to bool type, adjust.
2012-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
	* pt.c (check_default_tmpl_args): Change is_primary and is_partial
	parameters to bool type, adjust.
	(push_template_decl_real): Tidy.
	* parser.c (cp_parser_init_declarator): Adjust.
	* decl.c (redeclaration_error_message): Likewise.
	* cp-tree.h (check_default_tmpl_args): Update prototype.
From-SVN: r190013
Richard Guenther [Tue, 31 Jul 2012 13:42:16 +0000 (13:42 +0000)]
 
tree-flow.h (struct var_ann_d): Remove need_phi_state and current_def members.
2012-07-31  Richard Guenther  <rguenther@suse.de>
	* tree-flow.h (struct var_ann_d): Remove need_phi_state
	and current_def members.
	* tree-into-ssa.c (struct def_blocks_d): Remove var member.
	(def_blocks): Remove.
	(struct var_info_d): New.
	(var_infos): New hashtable.
	(struct ssa_name_info): Add def_blocks member.
	(get_ssa_name_ann): Adjust.
	(get_var_info): New function.
	(get_phi_state, set_phi_state, get_current_def,
	set_current_def, get_def_blocks_for, find_def_blocks_for): Adjust.
	(insert_phi_nodes_compare_def_blocks): Rename to ...
	(insert_phi_nodes_compare_var_infos): ... this and adjust.
	(insert_phi_nodes): Adjust.
	(dump_tree_ssa, dump_tree_ssa_stats): Adjust.
	(def_blocks_hash, def_blocks_eq, def_blocks_free): Remove.
	(debug_def_blocks_r): Rename to ...
	(debug_var_infos_r): ... this and adjust.
	(var_info_hash): New function.
	(var_info_eq): Likewise.
	(rewrite_blocks): Adjust.
	(init_ssa_renamer): Likewise.
	(fini_ssa_renamer): Likewise.
	(delete_update_ssa): Likewise.
	(update_ssa): Likewise.
	* tree-ssanames.c (release_dead_ssa_names): Do not clear
	current defs.
From-SVN: r190012
Janus Weil [Tue, 31 Jul 2012 13:03:53 +0000 (15:03 +0200)]
 
re PR fortran/54134 ([OOP] ICE overriding derived type bound function with allocatable character as result)
2012-07-31  Janus Weil  <janus@gcc.gnu.org>
	PR fortran/54134
	* dependency.c (gfc_dep_compare_expr): Check if arguments are NULL.
2012-07-31  Janus Weil  <janus@gcc.gnu.org>
	PR fortran/54134
	* gfortran.dg/typebound_override_3.f90: New.
From-SVN: r190010
Nick Clifton [Tue, 31 Jul 2012 12:48:17 +0000 (12:48 +0000)]
 
stormy16.c (xstormy16_expand_prologue): Add support for reporting stack usage.
	* config/stormy16/stormy16.c (xstormy16_expand_prologue): Add
	support for reporting stack usage.
	* gcc.dg/stack-usage-1.c (SIZE): Define for FRV,
	and for XStormy16.
From-SVN: r190009
Bill Schmidt [Tue, 31 Jul 2012 12:25:04 +0000 (12:25 +0000)]
 
re PR tree-optimization/53773 (Vectorizer generates non-canonical multiplies)
gcc:
2012-07-31  Bill Schmidt  <wschmidt@linux.ibm.com>
	PR tree-optimization/53773
	* tree-vectorizer.h (struct _loop_vec_info): Add operands_swapped.
	(LOOP_VINFO_OPERANDS_SWAPPED): New macro.
	* tree-vect-loop.c (new_loop_vec_info): Initialize
	LOOP_VINFO_OPERANDS_SWAPPED field.
	(destroy_loop_vec_info): Restore canonical form.
	(vect_is_slp_reduction): Set LOOP_VINFO_OPERANDS_SWAPPED field.
	(vect_is_simple_reduction_1): Likewise.
gcc/testsuite:
2012-07-31  Bill Schmidt  <wschmidt@linux.ibm.com>
	PR tree-optimization/53773
	* testsuite/gcc.dg/vect/pr53773.c: New test.
From-SVN: r190007
Steven Bosscher [Tue, 31 Jul 2012 11:48:56 +0000 (11:48 +0000)]
 
sched-vis.c (dump_insn_slim): Print print_rtx_head at the start of each new line.
	* sched-vis.c (dump_insn_slim): Print print_rtx_head at the
	start of each new line.
	* final.c (final_scan_insn): If the final dump is requested as
	slim RTL, dump slim RTL to the assembly file also.
From-SVN: r190006
Andrey Belevantsev [Tue, 31 Jul 2012 10:56:52 +0000 (14:56 +0400)]
 
re PR target/53975 ([ia64] Target register of a speculative load moved to a branch register prior to the chk.s instruction)
        PR target/53975
        * sel-sched-ir.c (has_dependence_note_reg_use): Clarify comment.
        Revert
        2011-08-04  Sergey Grechanik  <mouseentity@ispras.ru>
        * sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge
        only if producer writes to the register given by regno.
From-SVN: r190005
Nick Clifton [Tue, 31 Jul 2012 10:29:49 +0000 (10:29 +0000)]
 
frv.c (frv_expand_prologue): Report stack usage.
	* config/frv/frv.c (frv_expand_prologue): Report stack usage.
	* gcc.dg/stack-usage-1.c (SIZE): Define for FRV.
From-SVN: r190004
Tobias Burnus [Tue, 31 Jul 2012 10:06:24 +0000 (12:06 +0200)]
 
interface.c (gfc_procedure_use): Return gfc_try instead of
2012-07-31  Tobias Burnus  <burnus@net-b.de>
        * interface.c (gfc_procedure_use): Return gfc_try instead of
        * void.
        * gfortran.h (gfc_procedure_use): Update prototype.
        * resolve.c (gfc_iso_c_func_interface): Allow noninteroperable
        procedures for c_funloc for TS29113.
        * (gfc_iso_c_sub_interface): Ditto for c_f_procpointer. Add
        diagnostic for c_ptr vs. c_funptr for c_f_(proc)pointer.
2012-07-31  Tobias Burnus  <burnus@net-b.de>
        * gfortran.dg/c_funloc_tests_6.f90: New.
        * gfortran.dg/c_funloc_tests_7.f90: New.
        * gfortran.dg/c_funloc_tests_5.f03: Compile with -std=f2003.
From-SVN: r190003
Nick Clifton [Tue, 31 Jul 2012 09:59:18 +0000 (09:59 +0000)]
 
* config/frv/frv.c (QUAD): Fix typo.
From-SVN: r190002
Paolo Carlini [Tue, 31 Jul 2012 09:46:46 +0000 (09:46 +0000)]
 
re PR c++/53624 (GCC rejects function local types in template function with default template arguments)
/cp
2012-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
	PR c++/53624
	* pt.c (check_default_tmpl_args): Don't check local types.
/testsuite
2012-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
	PR c++/53624
	* g++.dg/cpp0x/temp_default5.C: New.
From-SVN: r190001
Steven Bosscher [Tue, 31 Jul 2012 09:20:56 +0000 (09:20 +0000)]
 
re PR pch/53880 (compile time regression when generating precompiled headers for boost)
	PR pch/53880
	* gengtype.c (struct walk_type_data): Add have_this_obj field.
	(walk_type): For functions that take a this_obj argument and
	that process fields with a GTY((length)) argument, write the
	test that write_types_local_process_field will write also at the
	head of the loop, effectively unswitching the loop.
	(write_func_for_structure, write_local_func_for_structure): Clear
	have_this_obj before calling walk_type.
	(write_local_func_for_structure): Set have_this_obj before walk_type.
	(write_array): Set have_this_obj for output of local pointer walking
	functions but not for marker functions.
	(write_types_local_process_field): Assert have_this_obj is set.
	* rtl.h (simplify_using_condition): Adjust prototype using bitmap
	from coretypes.h.
From-SVN: r189999
Nick Clifton [Tue, 31 Jul 2012 09:09:29 +0000 (09:09 +0000)]
 
lib2funcs.c (__clrsbhi2): New function.
	* config/stormy16/lib2funcs.c (__clrsbhi2): New function.
	Implements __clrsb for an HImode argument.
	* config/stormy16/clrsbhi2.c: New file:
	* config/stormy16/t-stormy16 (LIB2ADD): Add clrsbhi2.c.
From-SVN: r189997
Mike Frysinger [Tue, 31 Jul 2012 06:38:27 +0000 (06:38 +0000)]
 
md5.c (md5_finish_ctx): Declare swap_bytes.
2012-07-27  Mike Frysinger  <vapier@gentoo.org>
	* md5.c (md5_finish_ctx): Declare swap_bytes.  Assign SWAP() output
	to swap_bytes, and then call memcpy to move it to ctx->buffer.
From-SVN: r189996
Nathan Froyd [Tue, 31 Jul 2012 02:46:05 +0000 (02:46 +0000)]
 
defaults.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* defaults.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* targhooks.c (default_mode_dependent_address_p): Delete code
	for GO_IF_MODE_DEPENDENT_ADDRESS.
	* system.h (GO_IF_MODE_DEPENDENT_ADDRESS): Poison.
	* doc/tm.texi.in (GO_IF_MODE_DEPENDENT_ADDRESS): Delete documention.
	* doc/tm.texi: Regenerate.
	* config/alpha.h (GO_IF_MODE_DEPENDENT_ADDRESS): Move code to...
	* config/alpha.c (alpha_mode_dependent_address_p): ...here.  New
	function.
	(TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
	* config/cr16/cr16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/mep/mep.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/vax/vax-protos.h (vax_mode_dependent_address_p): Delete.
	* config/vax/vax.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/vax/vax.c (vax_mode_dependent_address_p): Make static.
	Take a const_rtx.
	(TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
From-SVN: r189995
Nathan Froyd [Tue, 31 Jul 2012 02:44:35 +0000 (02:44 +0000)]
 
expmed.h (NUM_MODE_VECTOR_INT): Define.
	* expmed.h (NUM_MODE_VECTOR_INT): Define.
	(struct expmed_op_cheap, struct expmed_op_costs): New structures.
	(struct target_expmed): Convert x_mul_highpart_cost and
	x_mul_widen_cost fields to be indexed by integer modes.
	Convert x_sdiv_pow2_cheap and x_smod_pow2_cheap fields to be
	of type struct expmed_op_cheap.  Convert other cost fields to be
	of type struct_expmed_op_costs.
	(mul_widen_cost_ptr, mul_highpart_cost_ptr): Adjust for new
	indexing of respective fields.
	(expmed_op_cheap_ptr): New function.
	(sdiv_pow2_cheap_ptr, smod_pow2_cheap_ptr): Call it.
	(expmed_op_cost_ptr): New function.
	(add_cost_ptr, neg_cost_ptr, shift_cost_ptr, shiftadd_cost_ptr,
	shiftsub0_cost_ptr, shiftsub1_cost_ptr, mul_cost_ptr,
	sdiv_cost_ptr, udiv_cost_ptr): Call it.
From-SVN: r189994
GCC Administrator [Tue, 31 Jul 2012 00:18:17 +0000 (00:18 +0000)]
 
Daily bump.
From-SVN: r189993
Sandra Loosemore [Mon, 30 Jul 2012 21:49:40 +0000 (17:49 -0400)]
 
invoke.texi (MIPS Options): Document -mno-float.
2012-07-30  Sandra Loosemore  <sandra@codesourcery.com>
	    Julian Brown  <julian@codesourcery.com>
	gcc/
	* doc/invoke.texi (MIPS Options): Document -mno-float.
	* config/mips/mips.h (MIPS_ARCH_FLOAT_SPEC): Make it know
	about -mno-float.
Co-Authored-By: Julian Brown <julian@codesourcery.com>
From-SVN: r189989
Joseph Myers [Mon, 30 Jul 2012 21:45:06 +0000 (22:45 +0100)]
 
sourcebuild.texi (Subdirectories): Document common subdirectory.
	* doc/sourcebuild.texi (Subdirectories): Document common
	subdirectory.
From-SVN: r189988
François Dumont [Mon, 30 Jul 2012 20:08:59 +0000 (20:08 +0000)]
 
c++config (_GLIBCXX_END_NAMESPACE_CONTAINER): Fix order of closures.
2012-07-30  François Dumont  <fdumont@gcc.gnu.org>
	* include/bits/c++config (_GLIBCXX_END_NAMESPACE_CONTAINER): Fix
	order of closures.
	(_GLIBCXX_END_NAMESPACE_ALGO): Likewise.
From-SVN: r189986
Janus Weil [Mon, 30 Jul 2012 19:55:41 +0000 (21:55 +0200)]
 
re PR fortran/51081 ([F03] Proc-pointer assignment: Rejects valid internal proc)
2012-07-30  Janus Weil  <janus@gcc.gnu.org>
	PR fortran/51081
	* gfortran.h (gfc_resolve_intrinsic): Add prototype.
	* expr.c (gfc_check_pointer_assign): Set INTRINSIC attribute if needed.
	Check for invalid intrinsics.
	* primary.c (gfc_match_rvalue): Check for intrinsics came too early.
	Set procedure flavor if appropriate.
	* resolve.c (resolve_intrinsic): Renamed to gfc_resolve_intrinsic.
	(resolve_procedure_interface,resolve_procedure_expression,
	resolve_function,resolve_fl_derived0,resolve_symbol): Ditto.
2012-07-30  Janus Weil  <janus@gcc.gnu.org>
	PR fortran/51081
	* gfortran.dg/proc_ptr_37.f90: New.
From-SVN: r189985
John David Anglin [Mon, 30 Jul 2012 15:46:08 +0000 (15:46 +0000)]
 
re PR middle-end/53823 (FAIL: gcc.c-torture/execute/930921-1.c execution at -O0 and -O1)
	PR middle-end/53823
	* expmed.c (expand_mult): Skip synth_mult for constant double op1 except
	for special cases.  Don't initialize coeff and is_neg.
From-SVN: r189980
Arnaud Charlet [Mon, 30 Jul 2012 15:21:46 +0000 (17:21 +0200)]
 
[multiple changes]
2012-07-30  Robert Dewar  <dewar@adacore.com>
	* bindusg.adb: Clarify file in -A lines.
2012-07-30  Robert Dewar  <dewar@adacore.com>
	* freeze.adb: Minor reformatting.
2012-07-30  Robert Dewar  <dewar@adacore.com>
	* gnatcmd.adb, makeutl.adb, makeutl.ads: Minor code reorganization.
2012-07-30  Vincent Pucci  <pucci@adacore.com>
	* exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): Minor
	reformatting.
	* sem_ch9.adb (Allows_Lock_Free_Implementation): Minor reformatting.
	Capture the correct error message in case of a quantified expression.
2012-07-30  Thomas Quinot  <quinot@adacore.com>
	* g-socket.adb (Get_Socket_Option, Set_Socket_Option): On Windows, the
	value is a milliseconds count in a DWORD, not a struct timeval.
From-SVN: r189979
Arnaud Charlet [Mon, 30 Jul 2012 15:17:50 +0000 (17:17 +0200)]
 
[multiple changes]
2012-07-30  Hristian Kirtchev  <kirtchev@adacore.com>
	* sem_ch12.adb (Earlier): Add local variables T1 and T2. Minor code
	refactoring.
2012-07-30  Thomas Quinot  <quinot@adacore.com>
	* gnatcmd.adb, make.adb, makeutl.adb, makeutl.ads
	(Test_If_Relative_Path): Rename to Ensure_Absolute_Path to better
	reflect what this subprogram does. Rename argument Including_L_Switch
	to For_Gnatbind, and also exempt -A from rewriting.
	* bindusg.adb: Document optional =file argument to gnatbind -A.
2012-07-30  Ed Schonberg  <schonberg@adacore.com>
	* freeze.adb (Freeze_Entity): Do no apply restriction check on
	storage pools to access to subprogram types.
From-SVN: r189978
Robert Dewar [Mon, 30 Jul 2012 15:15:00 +0000 (15:15 +0000)]
 
par_sco.adb, [...]: Minor reformatting.
2012-07-30  Robert Dewar  <dewar@adacore.com>
	* par_sco.adb, a-cihama.adb, a-coinve.adb, exp_ch7.adb, a-ciorse.adb,
	exp_ch9.adb, sem_dim.adb, par-ch13.adb, sem_ch9.adb, a-cidlli.adb,
	a-cimutr.adb, freeze.adb, a-ciormu.adb, sem_res.adb, sem_attr.adb,
	a-cihase.adb, exp_ch4.adb, sem_ch4.adb, a-ciorma.adb,
	s-tasinf-linux.ads, sem_ch13.adb, a-coinho.adb: Minor reformatting.
	Add comments.
From-SVN: r189977
Vincent Pucci [Mon, 30 Jul 2012 15:12:15 +0000 (15:12 +0000)]
 
sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict implicit dereferences of access values.
2012-07-30  Vincent Pucci  <pucci@adacore.com>
	* sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict implicit
	dereferences of access values.
From-SVN: r189975
Ulrich Weigand [Mon, 30 Jul 2012 14:39:32 +0000 (14:39 +0000)]
 
target.def (vector_alignment): New target hook.
ChangeLog:
	* target.def (vector_alignment): New target hook.
	* doc/tm.texi.in (TARGET_VECTOR_ALIGNMENT): Document new hook.
	* doc/tm.texi: Regenerate.
	* targhooks.c (default_vector_alignment): New function.
	* targhooks.h (default_vector_alignment): Add prototype.
	* stor-layout.c (layout_type): Use targetm.vector_alignment.
	* config/arm/arm.c (arm_vector_alignment): New function.
	(TARGET_VECTOR_ALIGNMENT): Define.
	* tree-vect-data-refs.c (vect_update_misalignment_for_peel): Use
	vector type alignment instead of size.
	* tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Use
	element type size directly instead of computing it from alignment.
	Fix variable naming and comment.
testsuite/ChangeLog:
	* lib/target-supports.exp
	(check_effective_target_vect_natural_alignment): New function.
	* gcc.dg/align-2.c: Only run on targets with natural alignment
	of vector types.
	* gcc.dg/vect/slp-25.c: Adjust tests for targets without natural
	alignment of vector types.
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
From-SVN: r189974
Kirill Yukhin [Mon, 30 Jul 2012 13:40:25 +0000 (13:40 +0000)]
 
i386-common.c (OPTION_MASK_ISA_RDSEED_SET): New.
/
        * common/config/i386/i386-common.c (OPTION_MASK_ISA_RDSEED_SET): New.
        (OPTION_MASK_ISA_RDSEED_UNSET): Likewise.
        (ix86_handle_option): Handle mrdseed option.
        * config.gcc (i[34567]86-*-*): Add rdseedintrin.h.
        (x86_64-*-*): Likewise.
        * config/i386/prfchwintrin.h: New header.
        * config/i386/cpuid.h (bit_RDSEED): New.
        * config/i386/driver-i386.c (host_detect_local_cpu): Detect
        RDSEED support.
        * config/i386/i386-c.c: Define __RDSEED__ if needed.
        * config/i386/i386.c (ix86_target_string): Define
        -mrdseed option.
        (PTA_RDSEED): New.
        (ix86_option_override_internal): Handle new option.
        (ix86_valid_target_attribute_inner_p): Add OPT_mrdseed.
        (ix86_builtins): Add enum entries for RDSEED* builtins.
        (ix86_init_mmx_sse_builtins): Define new builtins.
        (ix86_expand_builtin): Expand RDSEED* builtins.
        * config/i386/i386.h (TARGET_RDSEED): New.
        * config/i386/i386.md (rdseed<mode>_1): New.
        * config/i386/i386.opt (mrdseed): New.
        * config/i386/x86intrin.h: Include rdseedintrin.h.
testsuite/
        * gcc.target/i386/rdseed16-1.c: New.
        * gcc.target/i386/rdseed32-1.c: Ditto
        * gcc.target/i386/rdseed64-1.c: Ditto
        * gcc.target/i386/sse-12.c: Add -mrdseed.
        * gcc.target/i386/sse-13.c: Ditto.
        * gcc.target/i386/sse-14.c: Ditto.
        * g++.dg/other/i386-2.C: Ditto.
        * g++.dg/other/i386-3.C: Ditto.
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r189973
Richard Guenther [Mon, 30 Jul 2012 11:18:15 +0000 (11:18 +0000)]
 
tree-into-ssa.c (mark_def_sites): Also process virtual operands.
2012-07-30  Richard Guenther  <rguenther@suse.de>
	* tree-into-ssa.c (mark_def_sites): Also process virtual operands.
	(rewrite_stmt): Likewise.
	(rewrite_enter_block): Likewise.
	(pass_build_ssa): Do not update virtual SSA form during TODO.
	(mark_symbol_for_renaming): Do nothing if we are not in SSA form.
	* lto-streamer-in.c (lto_read_body): Set in_ssa_p earlier.
	* gcc.dg/ipa/ipa-pta-3.c: Adjust.
	* gcc.dg/ipa/ipa-pta-4.c: Likewise.
	* gcc.dg/tm/memopt-3.c: Likewise.
From-SVN: r189969
Oleg Endo [Mon, 30 Jul 2012 06:48:40 +0000 (06:48 +0000)]
 
re PR target/39423 ([SH]  performance regression: lost mov @(disp,Rn))
	PR target/39423
	* config/gcc/sh/sh.md (*movsi_index_disp, *movhi_index_disp): New insns.
From-SVN: r189954
Oleg Endo [Mon, 30 Jul 2012 06:46:36 +0000 (06:46 +0000)]
 
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
	PR target/51244
	* config/sh/sh.md (mov_neg_si_t): Move to Scc instructions section.
	Use t_reg_operand predicate.  Add split for negated case.
	(ashrsi2_31): Pass get_t_reg_rtx to gen_mov_neg_si_t.
	* config/sh/sh.c (expand_ashiftrt): Likewise.
	PR target/51244
	* gcc.target/sh/pr51244-4.c: New.
From-SVN: r189953
Oleg Endo [Mon, 30 Jul 2012 06:43:20 +0000 (06:43 +0000)]
 
re PR target/54089 ([SH] Refactor shift patterns)
	PR target/54089
	* config/sh/sh.md (ashlsi3_d): Invoke gen_shifty_op directly instead
	of trying to emit ashlsi3_n.
From-SVN: r189952
Laurynas Biveinis [Mon, 30 Jul 2012 02:30:52 +0000 (02:30 +0000)]
 
gengtype.c (adjust_field_type): Diagnose duplicate "length" option applications and option being applied to...
gcc:
2012-07-27  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
	    Steven Bosscher  <steven@gcc.gnu.org>
	* gengtype.c (adjust_field_type): Diagnose duplicate "length"
	option applications and option being applied to arrays of atomic
	types.
	(walk_type): Allow "atomic" option on strings too.
	* dwarf2out.h (struct dw_vec_struct): Use the "atomic" GTY option
	for the array field.
	* vec.h: Describe the atomic object "A" type of the macros in
	the header comment.
	(VEC_T_GTY_ATOMIC, DEF_VEC_A, DEF_VEC_ALLOC_A): Define.
	* emit-rtl.c (locations_locators_vals): use the atomic object
	vector.
	* doc/gty.texi: Clarify that GTY option "length" is only for
	arrays of non-atomic objects.  Fix typo in the description of the
	"atomic" option.
gcc/java:
2012-07-24  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
	* jcf.h (CPool): Use the "atomic" GTY option for the tags field.
	(bootstrap_method): Likewise for the bootstrap_arguments field.
libcpp:
2012-07-24  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
	* include/line-map.h (line_map_macro): Use the "atomic" GTY option
	for the macro_locations field.
Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org>
From-SVN: r189951
GCC Administrator [Mon, 30 Jul 2012 00:17:22 +0000 (00:17 +0000)]
 
Daily bump.
From-SVN: r189950
François Dumont [Sun, 29 Jul 2012 16:44:18 +0000 (16:44 +0000)]
 
re PR libstdc++/54075 ([4.7.1] unordered_map insert still slower than 4.6.2)
2012-07-29  François Dumont  <fdumont@gcc.gnu.org>
	PR libstdc++/54075
	* include/bits/hashtable_policy.h
	(_Prime_rehash_policy::_M_next_bkt): Add a growth factor set to 2
	to boost growth in the number of buckets.
	* testsuite/performance/23_containers/insert/unordered_set.cc: New.
From-SVN: r189938
GCC Administrator [Sun, 29 Jul 2012 00:18:11 +0000 (00:18 +0000)]
 
Daily bump.
From-SVN: r189929
Uros Bizjak [Sat, 28 Jul 2012 09:16:52 +0000 (11:16 +0200)]
 
i386.c (ix86_avoid_lea_for_addr): Handle zero-extended addresses.
	* config/i386/i386.c (ix86_avoid_lea_for_addr): Handle
	zero-extended addresses.  Return false if the address has less
	than two components.
	(ix86_split_lea_for_addr): Unconditionally convert target and
	all address operands to requested mode.
	* config/i386/i386.md (*lea<mode>): Recover operands from curr_insn.
	Pass SImode to ix86_split_lea_for_addr when splitting zero-extended
	address.
	(zero-extended add splitter): New splitter to conditionally split
	non-destructive adds.
	(*zero_extendsidi2_rex64): Conditionally emit leal instead of movl.
From-SVN: r189925
GCC Administrator [Sat, 28 Jul 2012 00:18:39 +0000 (00:18 +0000)]
 
Daily bump.
From-SVN: r189924
Alan Modra [Sat, 28 Jul 2012 00:04:10 +0000 (09:34 +0930)]
 
re PR target/54093 (ICE in in extract_insn, at recog.c:2129)
	PR target/54093
	* config/rs6000/rs6000.c (rs6000_secondary_reload): Limit 32-bit
	multi-gpr reload to cases where predicate passes.  Do the same for
	64-bit multi-gpr reload.
From-SVN: r189921
Nathan Froyd [Fri, 27 Jul 2012 21:01:16 +0000 (21:01 +0000)]
 
expmed.h (alg_hash, [...]): Delete macro definitions and re-purpose as inline functions.
	* expmed.h (alg_hash, alg_hash_used_p, sdiv_pow2_cheap,
	smod_pow2_cheap, zero_cost, add_cost, neg_cost, shift_cost)
	shiftadd_cost, shiftsub0_cost, shiftsub1_cost, mul_cost,
	sdiv_cost, udiv_cost, mul_widen_cost, mul_highpart_cost): Delete
	macro definitions and re-purpose as inline functions.
	(alg_hash_entry_ptr, set_alg_hash_used_p, sdiv_pow2_cheap_ptr,
	set_sdiv_pow2_cheap, smod_pow2_cheap_ptr, set_smod_pow2_cheap,
	zero_cost_ptr, set_zero_cost, add_cost_ptr, set_add_cost,
	neg_cost_ptr, set_neg_cost, shift_cost_ptr, set_shift_cost,
	shiftadd_cost_ptr, set_shiftadd_cost, shiftsub0_cost_ptr,
	set_shiftsub0_cost, shiftsub1_cost_ptr, set_shiftsub1_cost,
	mul_cost_ptr, set_mul_cost, sdiv_cost_ptr, set_sdiv_cost,
	udiv_cost_ptr, set_udiv_cost, mul_widen_cost_ptr,
	set_mul_widen_cost, mul_highpart_cost_ptr, set_mul_highpart_cost):
	New functions.
	(convert_cost_ptr): New function, split out from...
	(set_convert_cost, convert_cost): ...here.
	* expmed.c, tree-ssa-loop-ivopts.c: Update for new functions.
	* gimple-ssa-strength-reduction.c: Likewise.
From-SVN: r189919
Ryan Mansfield [Fri, 27 Jul 2012 18:17:00 +0000 (18:17 +0000)]
 
Invoke GCC_DRIVER_HOST_INITIALIZATION after diagnostic_initialize
	* gcc.c (main): Move GCC_DRIVER_HOST_INITIALIZATION after
	diagnostic_initialize.
From-SVN: r189918
Oleg Endo [Fri, 27 Jul 2012 17:36:20 +0000 (17:36 +0000)]
 
re PR target/54089 ([SH] Refactor shift patterns)
	PR target/54089
	* config/sh/sh.c (shiftcosts): Remove case where first operand
	is a const_int.  Move COSTS_N_INSNS usage into caller ...
	(sh_rtx_costs) ... here.  Return false when shiftcosts cannot be
	calculated instead of MAX_COST.
From-SVN: r189917
Iain Sandoe [Fri, 27 Jul 2012 15:23:37 +0000 (15:23 +0000)]
 
system-darwin-ppc64.ads: Add Support_Atomic_Primitives, set to True.
        * system-darwin-ppc64.ads: Add Support_Atomic_Primitives, set to True.
-- This line and those below it will be ignored
M    ChangeLog
M    system-darwin-ppc64.ads
From-SVN: r189916
Richard Guenther [Fri, 27 Jul 2012 13:57:38 +0000 (13:57 +0000)]
 
tree-cfg.c (gimple_can_merge_blocks_p): Do more fine-grained check whether SSA form is not up-to-date.
2012-07-27  Richard Guenther  <rguenther@suse.de>
	* tree-cfg.c (gimple_can_merge_blocks_p): Do more fine-grained
	check whether SSA form is not up-to-date.
	* tree-flow.h (name_mappings_registered_p): Remove.
	* tree-into-ssa.c (struct repl_map_d): Remove.
	(repl_tbl): Likewise.
	(struct ssa_name_info): Add repl_set member.
	(update_ssa_obstack): New static global.
	(get_ssa_name_ann): Initialize repl_set.
	(clear_ssa_name_info): Assert age did not wrap.
	(repl_map_hash, repl_map_eq, repl_map_free): Remove.
	(names_replaced_by): Adjust.
	(add_to_repl_tbl): Likewise.
	(dump_tree_ssa_stats): Likewise.
	(init_update_ssa): Initialize update_ssa_obstack.
	(delete_update_ssa): Free update_ssa_obstack.
	(name_mappings_registered_p): Remove.
	(update_ssa): Adjust.
From-SVN: r189915
Segher Boessenkool [Fri, 27 Jul 2012 12:51:45 +0000 (14:51 +0200)]
 
constraints.md: Delete "q" constraint.
2012-07-27  Segher Boessenkool  <segher@kernel.crashing.org>
        * config/rs6000/constraints.md: Delete "q" constraint.
        * config/rs6000/dfp.md (movsd_hardfloat, movsd_softfloat):
        Delete the "q" alternative.
        * config/rs6000/predicates.md (gpc_reg_operand): Adjust.
        * config/rs6000/rs6000.c (rs6000_debug_reg_global,
        rs6000_init_hard_regno_mode_ok, rs6000_dbx_register_number):
        Adjust to MQ_REGNO removal.
        * config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Adjust
        comment.
        (REG_ALLOC_ORDER): Adjust comment.  Remove MQ from alloc order.
        (enum reg_class): Adjust comment.  Delete MQ_REGS.
        (REG_CLASS_CONTENTS): Adjust.
        (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust comment.
        * config/rs6000/rs6000.md: Delete MQ_REGNO.
        (movsi_internal1, movsi_internal1_single, movhi_internal,
        movqi_internal, movcc_internal1, movsf_hardfloat,
        movsf_softfloat): Delete the "q" alternative.
        (ctr<mode>_internal1, ctr<mode>_internal2, ctr<mode>_internal5,
        ctr<mode>_internal6): Delete "q" constraint.
From-SVN: r189913
Richard Guenther [Fri, 27 Jul 2012 12:31:49 +0000 (12:31 +0000)]
 
tree-into-ssa.c (def_blocks_p): New typedef.
2012-07-27  Richard Guenther  <rguenther@suse.de>
	* tree-into-ssa.c (def_blocks_p): New typedef.
	(insert_phi_nodes_compare_def_blocks): New function.
	(insert_phi_nodes): Do not walk over referenced vars, instead
	walk over recorded def_blocks, record relevant ones and sort
	them to avoid repeated hashtable lookups.
From-SVN: r189912
Richard Guenther [Fri, 27 Jul 2012 12:31:06 +0000 (12:31 +0000)]
 
invoke.texi (min-virtual-mappings, [...]): Remove param documentation.
2012-07-27  Richard Guenther  <rguenther@suse.de>
	* doc/invoke.texi (min-virtual-mappings, virtual-mappings-ratio):
	Remove param documentation.
	* params.def (PARAM_MIN_VIRTUAL_MAPPINGS,
	PARAM_VIRTUAL_MAPPINGS_TO_SYMS_RATIO): Remove.
	* tree-flow.h (mark_set_for_renaming): Remove.
	* tree-into-ssa.c (struct update_ssa_stats_d): Remove.
	(add_new_name_mapping): Remove bookkeeping code.
	(dump_update_ssa): Remove stats dumping code.
	(init_update_ssa): Remove stats allocation code.
	(delete_update_ssa): Remove stats freeing code.
	(mark_set_for_renaming): Remove.
	(switch_virtuals_to_full_rewrite_p): Likewise.
	(switch_virtuals_to_full_rewrite): Likewise.
	(update_ssa): Do not call switch_virtuals_to_full_rewrite.
From-SVN: r189911
Marek Polacek [Fri, 27 Jul 2012 12:09:30 +0000 (12:09 +0000)]
 
cgraphunit.c: Rename varpool_finalize_variable to varpool_finalize_decl in a comment.
2012-07-27  Marek Polacek  <polacek@redhat.com>
	* cgraphunit.c: Rename varpool_finalize_variable to
	varpool_finalize_decl in a comment.
From-SVN: r189910
Uros Bizjak [Fri, 27 Jul 2012 11:48:19 +0000 (13:48 +0200)]
 
bind_c_array_params_2.f90: Add "-mno-explicit-relocs" for alpha*-*-* targets.
	* gfortran.dg/bind_c_array_params_2.f90: Add "-mno-explicit-relocs"
	for alpha*-*-* targets.  Cleanup original tree dump.
From-SVN: r189909
Segher Boessenkool [Fri, 27 Jul 2012 11:44:37 +0000 (13:44 +0200)]
 
rs6000-common.c (rs6000_handle_option): Delete code for -mno-power, -mpower, and -mpower2.
2012-07-26  Segher Boessenkool  <segher@kernel.crashing.org>
gcc/
        * common/config/rs6000/rs6000-common.c (rs6000_handle_option):
        Delete code for -mno-power, -mpower, and -mpower2.
        * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete.
        (SUBTARGET_OVERRIDE_OPTIONS): Delete check for POWER together
        with -maix64.
        (ASM_CPU_SPEC): Delete support for POWER and POWER2.
        * config/rs6000/aix51.h (NON_POWERPC_MASKS): Delete.
        (SUBTARGET_OVERRIDE_OPTIONS): Delete check for POWER together
        with -maix64.
        (ASM_CPU_SPEC): Delete support for POWER and POWER2.
        * config/rs6000/aix52.h (NON_POWERPC_MASKS): Delete.
        (SUBTARGET_OVERRIDE_OPTIONS): Delete check for POWER together
        with -maix64.
        (TARGET_POWER): Delete.
        * config/rs6000/aix53.h (NON_POWERPC_MASKS): Delete.
        (SUBTARGET_OVERRIDE_OPTIONS): Delete check for POWER together
        with -maix64.
        (TARGET_POWER): Delete.
        * config/rs6000/aix61.h (NON_POWERPC_MASKS): Delete.
        (SUBTARGET_OVERRIDE_OPTIONS): Delete check for POWER together
        with -maix64.
        (TARGET_POWER): Delete.
        * config/rs6000/darwin.h (TARGET_POWER): Delete.
        * config/rs6000/driver-rs6000.c (struct asm_names): Delete
        support for -mpower, -mpower2, and -mno-power.
        * config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
        Likewise.
        (rs6000_cpu_cpp_builtins): Likewise.
        * config/rs6000/rs6000-cpus.def: Likewise.
        * config/rs6000/rs6000-tables.opt: Regenerate.
        * config/rs6000/rs6000.c (POWER_MASKS): Delete.
        (rs6000_option_override_internal): Adjust.
        (rs6000_conditional_register_usage): Adjust.
        (rs6000_emit_move): Adjust.
        (rs6000_common_init_builtins): Adjust.
        (rs6000_init_libfuncs): Adjust.
        (rs6000_output_function_prologue): Adjust.
        (rs6000_adjust_cost): Adjust.
        (struct rs6000_opt_masks): Delete MASK_POWER and MASK_POWER2.
        * config/rs6000/rs6000.h (ASM_CPU_SPEC): Delete support for
        POWER and POWER2.
        (TARGET_DEFAULT): Adjust.
        (PROCESSOR_POWER): Delete.
        (SHIFT_COUNT_TRUNCATED): Adjust.
        * config/rs6000/rs6000.md (extendqisi2): Delete POWER support.
        (extendqisi2_power): Delete.
        (extendqisi2_no_power): Adjust.
        (extendqihi2, extendqihi2_power, extendqihi2_no_power):
        Likewise.
        (sminsi3, smaxsi3, uminsi3, umaxsi3): Adjust.
        (anonymous doz insn patterns): Delete.
        (abssi2): Adjust.
        (abssi2_power): Delete.
        (abssi2_nopower): Adjust.
        (nabs_power, nabs_nopower): Likewise.
        (mulsi3, mulsi3_mq, mulsi3_no_mq, mulsi3_mq_internal1):
        Likewise.  Delete anonymous post-reload splitter.
        (mulsi3_no_mq_internal1): rename to...
        (mulsi3_internal1): New define_insn.
        (mulsi3_mq_internal2, mulsi3_no_mq_internal2, mulsi3_internal2):
        Likewise.
        (divmodsi4, divmodsi4_internal, udiv<mode>3, udivsi3_mq,
        udivsi3_no_mq, udivsi3, div<mode>3, divsi3_mq, div<mode>3_no_mq,
        udivmodsi4_normal, udivmodsi4_tests, udivmodsi4): Likewise.
        (mulh_call, mull_call, divss_call, divus_call, quoss_call,
        quous_call): Likewise.
        (maskir_internal1, maskir_internal2, maskir_internal3,
        maskir_internal4, maskir_internal5, maskir_internal6,
        maskir_internal7, maskir_internal8): Delete.
        (ashlsi3, ashlsi3_power, ashlsi3_no_power): Adjust.
        (anonymous sl insn patterns): Delete.
        (lshrsi3, lshrsi3_power, lshrsi3_no_power): Adjust.
        (lshrsi3_64): Adjust.
        (anonymous sr insn patterns): Delete.
        (anonymous rrib insn patterns): Delete.
        (ashrsi3, ashrsi3_power, ashrsi3_no_power): Adjust.
        (anonymous sra insn patterns): Delete.
        (sqrtsf2, sqrtdf2, sqrtdf2_fpr): Adjust.
        (fix_trunc<mode>si2, fix_trunc<mode>si2_internal,
        fctiwz_<mode>): Adjust.
        (mulsidi3, mulsidi3_mq, mulsidi3_no_mq, umulsidi3, umulsidi3_mq,
        umulsidi3_no_mq, smulsi3_highpart, smulsi3_highpart_mq,
        smulsi3_highpart_no_mq, umulsi3_highpart, umulsi3_highpart_mq,
        umulsi3_highpart_no_mq): Adjust.
        (ashldi3_power, lshrdi3_power, ashrdi3_power): Delete.
        (ashrdi3_no_power, ashldi3, ashldi3_internal1,
        lshrdi3_internal1): Adjust.
        (fix_trunctfsi2, fix_trunctfsi2_fprs): Adjust.
        (movti_power): Delete.
        (movti_string): Adjust.
        (stmsi8, stmsi7, stmsi6, stmsi5, stmsi4, stmsi3): Adjust.
        (stmsi8_power, stmsi7_power, stmsi6_power, stmsi5_power,
        stmsi4_power, stmsi3_power): Delete.
        (anonymous movmemsi insn patterns): Adjust.
        (lfq_power2, stfq_power2): Delete.
        (eq<mode>, eq<mode>_compare): Adjust.
        (eqsi_power): Delete.
        (ne0si): Adjust.
        (anonymous le, lt, ge, gt insn patterns): Delete.
        * config/rs6000/rs6000.opt (mpower, mno-power, mpower2): Delete.
        * config/rs6000/sysv4.h (TARGET_POWER): Delete.
        * config/rs6000/t-aix43 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
        MULTILIB_MATCHES): Adjust.
        * doc/invoke.texi (RS/6000 and PowerPC Options): Delete
        -mpower, -mno-power, -mpower2, -mno-power2 documentation.
        Delete -mcpu=power and -mcpu=power2 documentation.
gcc/testsuite/
        * gcc.target/powerpc/rs6000-power2-1.c: Delete.
        * gcc.target/powerpc/rs6000-power2-2.c: Delete.
From-SVN: r189908
Segher Boessenkool [Fri, 27 Jul 2012 11:32:31 +0000 (13:32 +0200)]
 
601.md: New file.
2012-07-27  Segher Boessenkool  <segher@kernel.crashing.org>
gcc/
        * config/rs6000/601.md: New file.
        * config/rs6000/aix43.h (ASM_CPU_SPEC): Delete support for
        RIOS CPUs.
        * config/rs6000/aix51.h (ASM_CPU_SPEC): Likewise.
        * config/rs6000/driver-rs6000.c (detect_processor_aix,
        struct asm_names): Likewise.
        * config/rs6000/rios1.md: Delete file.
        * config/rs6000/rios2.md: Delete file.
        * config/rs6000/rs6000-cpus.def: Delete definitions for RIOS
        CPUs.
        * config/rs6000/rs6000-opts.h (enum processor_type): Delete
        PROCESSOR_RIOS1 and PROCESSOR_RIOS2.
        * config/rs6000/rs6000-tables.opt: Regenerated.
        * config/rs6000/rs6000.c (struct rios1_cost, struct rios2_cost):
        Delete.
        (rs6000_option_override_internal): Delete support for RIOS CPUs.
        (rs6000_conditional_register_usage): Adjust comment.
        (rs6000_issue_rate):Delete support for RIOS CPUs.
        * config/rs6000/rs6000.h (ASM_CPU_SPEC): Delete support for
        RIOS CPUs.
        (PROCESSOR_POWER): Change to PROCESSOR_PPC601.
        (PROCESSOR_DEFAULT): Change to PROCESSOR_PPC603.
        * config/rs6000/rs6000.md (define_attr "cpu"): Delete rios1
        and rios2.
        (include "rios1.md", include "rios2.md"): Delete.
        (include "601.md"): New.
        * config/rs6000/rs6000.opt (enum rs6000_cpu): Default to
        PROCESSOR_PPC603.
        * config/rs6000/t-aix43 (MULTILIB_MATCHES): Delete support
        for RIOS CPUs.
        * config/rs6000/t-rs6000 (MD_INCLUDES): Delete rios1.md and
        rios2.md .  Add 601.md .
From-SVN: r189907
Anna Tikhonova [Fri, 27 Jul 2012 09:54:30 +0000 (09:54 +0000)]
 
20020201-1.c: Remove declarations for exit, abort, rand, srand.
        * gcc.dg/
20020201-1.c: Remove declarations for exit, abort,
        rand, srand. Include <stdlib.h>.
From-SVN: r189905
 
GCC Administrator [Fri, 27 Jul 2012 00:18:31 +0000 (00:18 +0000)]
 
Daily bump.
From-SVN: r189904
Kazu Hirata [Thu, 26 Jul 2012 23:18:47 +0000 (23:18 +0000)]
 
pex-win32.c (pex_win32_exec_child): Only close original file descriptors if child is launched successfully.
2012-07-26  Kazu Hirata  <kazu@codesourcery.com>
	    Sandra Loosemore  <sandra@codesourcery.com>
	libiberty/
	* pex-win32.c (pex_win32_exec_child): Only close original file
	descriptors if child is launched successfully.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r189901
Janis Johnson [Thu, 26 Jul 2012 22:23:33 +0000 (22:23 +0000)]
 
* gcc.dg/pr45259.c: Only -fpic depends on fpic support.
From-SVN: r189899
Richard Henderson [Thu, 26 Jul 2012 21:31:40 +0000 (14:31 -0700)]
 
Hot/cold attributes for labels.
gcc/
        * doc/extend.texi (attribute): Document hot/cold for labels.
        * predict.c (tree_estimate_probability_bb): Handle hot/cold
        attributes on user labels.
        * predict.def (PRED_HOT_LABEL, PRED_COLD_LABEL): New.
gcc/c-family/
        * c-common.c (handle_hot_attribute): Allow labels.
        (handle_cold_attribute): Likewise.
gcc/testsuite/
        * gcc.dg/attr-hotcold-1.c: New.
        * gcc.dg/tree-ssa/attr-hotcold-2.c: New.
From-SVN: r189898
Andrew Jenner [Thu, 26 Jul 2012 20:51:24 +0000 (20:51 +0000)]
 
cse.c (find_comparison_args): Check for cycles of any length.
2012-07-26  Andrew Jenner  <andrew@codesourcery.com>
	    Sandra Loosemore  <sandra@codesourcery.com>
	gcc/
	* cse.c (find_comparison_args): Check for cycles of any length.
	gcc/testsuite/
	* gcc.c-torture/compile/pr50380.c: Add code to cause cycle of length 2.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r189896
François Dumont [Thu, 26 Jul 2012 20:41:23 +0000 (20:41 +0000)]
 
Fix an english issue.
From-SVN: r189894
Diego Novillo [Thu, 26 Jul 2012 15:31:00 +0000 (11:31 -0400)]
 
Do not use 'with ... as ...' in validate_failures.py
Some of the hosts were we run this script are still using Python 2.4.
This patch replaces the use of 'with ... as ...' to avoid syntax errors.
2012-07-26   Diego Novillo  <dnovillo@google.com>
	* testsuite-management/validate_failures.py: Do not use
	'with ... as ...' constructs.
From-SVN: r189893
Nick Clifton [Thu, 26 Jul 2012 14:23:51 +0000 (14:23 +0000)]
 
mn10300.c (REG_SAVE_BYTES): Delete.
	* config/mn10300/mn10300.c (REG_SAVE_BYTES): Delete.
	(mn10300_get_live_callee_saved_regs): If requested return a count
	of the number of bytes in the mask.
	(mn10300_expand_prologue): Add argument to invocation of
	mn10300_get_live_callee_regs.
	(mn10300_expand_epilogue): Compute reg_save_bytes by calling
	mn10300_get_live_callee_saved_regs.
	(mn10300_initial_offset): Likewise.
	* config/mn10300/mn10300-protos.h (mn10300_get_live_callee_saved_regs):
	Update prototype.
	* config/mn10300/mn10300.md (return_ret): Add argument to
	invocation of mn10300_get_live_callee_saved_regs.
From-SVN: r189892
Steven Bosscher [Thu, 26 Jul 2012 13:21:21 +0000 (13:21 +0000)]
 
re PR regression/54084 (Bunch of fails for x86)
	PR regression/54084
	* sel-sched-ir.c (cmp_v_in_regset_pool): Clarify logic, fix
	pointer difference check.
From-SVN: r189891
Bill Schmidt [Thu, 26 Jul 2012 13:10:04 +0000 (13:10 +0000)]
 
tree-ssa-loop-ivopts.c (mbc_entry_hash): Remove.
2012-07-26  Bill Schmidt  <wschmidt@linux.ibm.com>
	* tree-ssa-loop-ivopts.c (mbc_entry_hash): Remove.
	(mbc_entry_eq): Likewise.
	(mult_costs): Likewise.
	(cost_tables_exist): Likewise.
	(initialize_costs): Likewise.
	(finalize_costs): Likewise.
	(tree_ssa_iv_optimize_init): Remove call to initialize_costs.
	(add_regs_cost): Remove.
	(multiply_regs_cost): Likewise.
	(add_const_cost): Likewise.
	(extend_or_trunc_reg_cost): Likewise.
	(negate_reg_cost): Likewise.
	(struct mbc_entry): Likewise.
	(multiply_by_const_cost): Likewise.
	(get_address_cost): Change add_regs_cost calls to add_cost lookups;
	change multiply_by_const_cost to mult_by_coeff_cost.
	(force_expr_to_var_cost): Likewise.
	(difference_cost): Change multiply_by_const_cost to mult_by_coeff_cost.
	(get_computation_cost_at): Change add_regs_cost calls to add_cost
	lookups; change multiply_by_const_cost to mult_by_coeff_cost.
	(determine_iv_cost): Change add_regs_cost calls to add_cost lookups.
	(tree_ssa_iv_optimize_finalize): Remove call to finalize_costs.
	* tree-ssa-address.c (expmed.h): New #include.
	(most_expensive_mult_to_index): Change multiply_by_const_cost to
	mult_by_coeff_cost.
	* gimple-ssa-strength-reduction.c (expmed.h): New #include.
	(stmt_cost): Change to use mult_by_coeff_cost, mul_cost, add_cost,
	neg_cost, and convert_cost instead of IVOPTS interfaces.
	(execute_strength_reduction): Remove calls to initialize_costs and
	finalize_costs.
	* expmed.c (struct init_expmed_rtl): Add convert rtx_def.
	(init_expmed_one_mode): Initialize convert rtx_def; initialize
	x_convert_cost for related modes.
	(mult_by_coeff_cost): New function.
	* expmed.h (NUM_MODE_INT): New #define.
	(struct target_expmed): Add x_convert_cost matrix.
	(set_convert_cost): New inline function.
	(convert_cost): Likewise.
	(mult_by_coeff_cost): New extern decl.
	* tree-flow.h (initialize_costs): Remove decl.
	(finalize_costs): Likewise.
	(multiply_by_const_cost): Likewise.
	(add_regs_cost): Likewise.
	(multiply_regs_cost): Likewise.
	(add_const_cost): Likewise.
	(extend_or_trunc_reg_cost): Likewise.
	(negate_reg_cost): Likewise.
	* Makefile.in (gimple-ssa-strength-reduction.o): Update dependencies.
	(tree-ssa-address.o): Update dependencies.
From-SVN: r189890
Steven Bosscher [Thu, 26 Jul 2012 12:02:54 +0000 (12:02 +0000)]
 
bitmap.h: Add explanation of sparse set as linked-list bitmap.
	* bitmap.h: Add explanation of sparse set as linked-list bitmap.
	* sbitmap.h: Add explanation about non-sparse sets as simple bitmap.
	(TEST_BIT): Make a static inline function for stronger type checking.
	(SET_BIT): Don't handle sbitmaps with popcount.
	(RESET_BIT): Likewise.
	(SET_BIT_WITH_POPCOUNT): New, like SET_BIT but with popcount.
	(RESET_BIT_WITH_POPCOUNT): New, like RESET_BIT but with popcount.
	* ebitmap.c (ebitmap_clear_bit): Use SET_BIT_WITH_POPCOUNT and
	RESET_BIT_WITH_POPCOUNT on wordmask bitmaps.
	(ebitmap_set_bit, ebitmap_and_into, ebitmap_and, ebitmap_ior_into,
	ebitmap_and_compl_into, ebitmap_and_compl): Likewise.
	* sparseset.h: Add explanation of sparse set representation.
From-SVN: r189888
Tobias Burnus [Thu, 26 Jul 2012 11:49:32 +0000 (13:49 +0200)]
 
contiguous_1.f90: Update dg-error.
2012-07-26  Tobias Burnus  <burnus@net-b.de>
        * gfortran.dg/contiguous_1.f90: Update dg-error.
        * gfortran.dg/proc_ptr_32.f90: Ditto.
From-SVN: r189887
Richard Guenther [Thu, 26 Jul 2012 10:25:15 +0000 (10:25 +0000)]
 
re PR tree-optimization/54098 (ICE on valid code)
2012-07-26  Richard Guenther  <rguenther@suse.de>
	PR tree-optimization/54098
	* tree-vrp.c (vrp_visit_phi_node): Iterate once more if the
	original range was UNDEFINED.
	* gcc.dg/torture/pr54098.c: New testcase.
From-SVN: r189885
Ramana Radhakrishnan [Thu, 26 Jul 2012 09:37:38 +0000 (09:37 +0000)]
 
neon.ml (ops): Fix regexp for vld1Q_dups64 and vld1Q_dupu64 tests.
2012-07-26  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
	* config/arm/neon.ml (ops): Fix regexp for vld1Q_dups64 and
	vld1Q_dupu64 tests.
2012-07-26  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
	* gcc.target/arm/neon/vld1Q_dupu64.c: Regenerate.
	* gcc.target/arm/neon/vld1Q_dups64.c: Likewise.
From-SVN: r189884
Mikael Morin [Thu, 26 Jul 2012 08:53:56 +0000 (08:53 +0000)]
 
re PR fortran/44354 (implied do loop with its own variable name as upper bound)
fortran/
	PR fortran/44354
	* trans-array.c (gfc_trans_array_constructor_value):
	Evaluate the iteration bounds before the inner variable shadows
	the outer.
testsuite/
	PR fortran/44354
	* gfortran.dg/array_constructor_39.f90: New test.
From-SVN: r189883
Mikael Morin [Thu, 26 Jul 2012 08:47:33 +0000 (08:47 +0000)]
 
re PR fortran/44354 (implied do loop with its own variable name as upper bound)
fortran/
	PR fortran/44354
	* array.c (sought_symbol): New variable.
	(expr_is_sought_symbol_ref, find_symbol_in_expr): New functions.
	(resolve_array_list): Check for references to the induction
	variable in the iteration bounds and issue a diagnostic if some
	are found.
testsuite/
	PR fortran/44354
	* gfortran.dg/array_constructor_38.f90: New test.
From-SVN: r189882
Alessandro Fanfarillo [Thu, 26 Jul 2012 08:35:55 +0000 (02:35 -0600)]
 
module.c (mio_array_spec): Don't read as->lower for assumed-rank arrays.
2012-07-26  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
            Tobias Burnus  <burnus@net-b.de>
        * module.c (mio_array_spec): Don't read as->lower for
        assumed-rank arrays.
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r189881
Ian Lance Taylor [Thu, 26 Jul 2012 01:57:04 +0000 (01:57 +0000)]
 
runtime, runtime/pprof: Fix runtime/pprof test to pass, enable it.
From-SVN: r189878
Oleg Endo [Thu, 26 Jul 2012 00:19:58 +0000 (00:19 +0000)]
 
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
	PR target/51244
	* config/sh/sh.opt (mzdcbranch): New option.
	* doc/invoke.texi: Document it.
	* config/sh/sh.md (negsi_cond): Use TARGET_ZDCBRANCH as condition
	instead of TARGET_HARD_SH4.
	* config/sh/sh.c (sh_option_override): Set TARGET_ZDCBRANCH as default
	for TARGET_HARD_SH4.
From-SVN: r189877
GCC Administrator [Thu, 26 Jul 2012 00:18:19 +0000 (00:18 +0000)]
 
Daily bump.
From-SVN: r189876
Oleg Endo [Wed, 25 Jul 2012 23:06:21 +0000 (23:06 +0000)]
 
Fix ChangeLog formatting.
From-SVN: r189873
Oleg Endo [Wed, 25 Jul 2012 23:03:06 +0000 (23:03 +0000)]
 
re PR target/54089 ([SH] Refactor shift patterns)
	PR target/54089
	* config/sh/predicates.md (shift_count_operand): Handle not-SHMEDIA
	case.
	(p27_shift_count_operand, not_p27_shift_count_operand): New predicates.
	* config/sh/sh.md (ashlsi3): Remove parallel and T_REG clobber
	from expander.  Do not emit shift insn for not-SHMEDIA case.
	(ashlsi3_std): Replace with ...
	(ashlsi3_k, ashlsi3_d): ... these new insns.
	* config/sh/sh.c (gen_ashift): Make static.  Add sanity checks.
	Emit ashlsi3_k insn instead of ashlsi3_std in ASHIFT case.
	(gen_ashift_hi): Make static.
	* config/sh/sh-protos.h (gen_ashift, gen_ashift_hi): Remove forward
	declaration.
From-SVN: r189872
Janis Johnson [Wed, 25 Jul 2012 22:09:28 +0000 (22:09 +0000)]
 
* g++.dg/cpp0x/nullptr21.c: Remove printfs, make self-checking.
From-SVN: r189870
Bharathi Seshadri [Wed, 25 Jul 2012 20:13:46 +0000 (20:13 +0000)]
 
Pass -be8 by default for armv7-a when configured big-endian.
config/arm/bpabi.h (BE8_LINK_SPEC): Set according to
TARGET_BIG_ENDIAN_DEFAULT.
Co-Authored-By: Jim Wilson <jimwilso@cisco.com>
From-SVN: r189867
Eric Botcazou [Wed, 25 Jul 2012 19:57:51 +0000 (19:57 +0000)]
 
gimple-low.c (lower_try_catch): New function.
	* gimple-low.c (lower_try_catch): New function.
	(lower_stmt) <GIMPLE_TRY>: Use it to lower GIMPLE_TRY_CATCH.
	<GIMPLE_CATCH>: Delete.
	<GIMPLE_EH_FILTER>: Likewise.
From-SVN: r189865
Eric Botcazou [Wed, 25 Jul 2012 19:43:15 +0000 (19:43 +0000)]
 
expr.c (expand_expr_real_1): Do not expand operand #1 and #2 of BIT_FIELD_REF for ignored results.
	* expr.c (expand_expr_real_1): Do not expand operand #1 and #2
	of BIT_FIELD_REF for ignored results.
	* fold-const.c (fold_ternary_loc) <BIT_FIELD_REF>: Check that the
	CONSTRUCTOR has vector type before using vector accessors on it.
	* gimplify.c (gimplify_compound_lval): Do not gimplify operand #1 and
	#2 of BIT_FIELD_REF.
	(gimplify_expr) <BIT_FIELD_REF>: Likewise.
	* tree-nested.c (convert_nonlocal_reference_op) <BIT_FIELD_REF>: Do
	not process operand #1 and #2.
	(convert_local_reference_op): Likewise.
	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Remove superfluous
	breaks throughout.
	<BIT_FIELD_REF>: Reuse operand #1 and #2 directly.
	* tree.c (stabilize_reference) <BIT_FIELD_REF>: Do not stabilize
	operand #1 and #2.
	(UPDATE_FLAGS): Do not consider operand #2 of BIT_FIELD_REF.
	(build6_stat): Delete.
	* tree.h (build6_stat, build6, build6_stat_loc, build6_loc): Likewise.
ada/
	* gcc-interface/utils2.c (gnat_stabilize_reference) <BIT_FIELD_REF>: Do
	not stabilize operand #1 and #2.
From-SVN: r189864
François Dumont [Wed, 25 Jul 2012 19:32:48 +0000 (19:32 +0000)]
 
re PR libstdc++/54075 ([4.7.1] unordered_map insert still slower than 4.6.2)
2012-07-25  François Dumont  <fdumont@gcc.gnu.org>
	PR libstdc++/54075
	* include/bits/hashtable.h
	(_Hashtable<>::_Hashtable(_InputIterator, _InputIterator,
	size_type, ...): Remove std::max usage to guarantee that hashtable
	state is consistent with hash policy state.
	(_Hashtable<>::rehash): Likewise. Set _M_prev_resize to 0 to avoid
	the hashtable to be shrinking on next insertion.
	* testsuite/23_containers/unordered_set/modifiers/reserve.cc: New.
	* testsuite/23_containers/unordered_multiset/modifiers/reserve.cc: New.
	* testsuite/23_containers/unordered_map/modifiers/reserve.cc: New.
	* testsuite/23_containers/unordered_multimap/modifiers/reserve.cc: New.
From-SVN: r189863
Marc Glisse [Wed, 25 Jul 2012 18:26:12 +0000 (20:26 +0200)]
 
re PR tree-optimization/30318 (VRP does not create ANTI_RANGEs on overflow)
2012-07-25 Marc Glisse <marc.glisse@inria.fr>
	PR tree-optimization/30318
	* tree-vrp.c (extract_range_from_binary_expr_1) [PLUS_EXPR]:
	Handle __int128.
	[MINUS_EXPR]: Merge with PLUS_EXPR.
From-SVN: r189861