1. 03 Apr, 2009 5 commits
    • re PR middle-end/34743 (Testcase gcc.dg/tree-ssa/20070302-1.c is broken (unneeded call clobbering)) · 075f83f5
      2009-04-03  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/34743
      	* gcc.dg/pr38984.c: Remove XFAIL, adjust.
      	* gcc.dg/tree-ssa/20070302-1.c: Remove XFAIL.
      	* gcc.dg/tree-ssa/alias-18.c: Likewise.
      	* gcc.dg/tree-ssa/sra-3.c: Likewise.
      	* gcc.dg/vect/no-vfa-vect-49.c: Likewise.
      	* gcc.dg/vect/no-vfa-vect-53.c: Likewise.
      	* gcc.dg/vect/no-vfa-vect-57.c: Likewise.
      	* gcc.dg/vect/no-vfa-vect-61.c: Likewise.
      
      From-SVN: r145497
      Richard Guenther committed
    • re PR middle-end/13146 (inheritance for nonoverlapping_component_refs_p) · 5006671f
      2009-04-03  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/13146
      	PR tree-optimization/23940
      	PR tree-optimization/33237
      	PR middle-end/33974
      	PR middle-end/34093
      	PR tree-optimization/36201
      	PR tree-optimization/36230
      	PR tree-optimization/38049
      	PR tree-optimization/38207
      	PR tree-optimization/38230
      	PR tree-optimization/38301
      	PR tree-optimization/38585
      	PR middle-end/38895
      	PR tree-optimization/38985
      	PR tree-optimization/39299
      	* tree-ssa-structalias.h: Remove.
      	* tree-ssa-operands.h (NULL_USE_OPERAND_P): Make of type use_operand_p.
      	(NULL_DEF_OPERAND_P): Make of type def_operand_p.
      	(struct vuse_element_d): Remove.
      	(struct vuse_vec_d): Likewise.
      	(VUSE_VECT_NUM_ELEM, VUSE_VECT_ELEMENT_NC, VUSE_ELEMENT_PTR_NC,
      	VUSE_ELEMENT_VAR_NC, VUSE_VECT_ELEMENT, VUSE_ELEMENT_PTR,
      	SET_VUSE_VECT_ELEMENT, SET_VUSE_ELEMENT_VAR, SET_VUSE_ELEMENT_PTR,
      	VUSE_ELEMENT_VAR): Likewise.
      	(struct voptype_d): Likewise.
      	(NUM_VOP_FREE_BUCKETS): Likewise.
      	(struct ssa_operands): Remove vop_free_buckets and mpt_table fields.
      	(struct stmt_operands_d): Remove.
      	(VUSE_OP_PTR, VUSE_OP, SET_VUSE_OP, VUSE_NUM, VUSE_VECT,
      	VDEF_RESULT_PTR, VDEF_RESULT, VDEF_OP_PTR, VDEF_OP, SET_VDEF_OP,
      	VDEF_NUM, VDEF_VECT): Likewise.
      	(copy_virtual_operands): Remove.
      	(operand_build_cmp): Likewise.
      	(create_ssa_artificial_load_stmt): Likewise.
      	(enum ssa_op_iter_type): Remove ssa_op_iter_vdef.
      	(struct ssa_operand_iterator_d): Remove vuses, vdefs, mayusesm
      	vuse_index and mayuse_index members.  Pack and move done and iter_type
      	members to the front.
      	(SSA_OP_VMAYUSE): Remove.
      	(SSA_OP_VIRTUAL_USES): Adjust.
      	(FOR_EACH_SSA_VDEF_OPERAND): Remove.
      	(unlink_stmt_vdef): Declare.
      	(add_to_addressable_set): Remove.
      	* tree-vrp.c (stmt_interesting_for_vrp): Adjust.
      	(vrp_visit_stmt): Likewise.
      	* doc/tree-ssa.texi (Alias analysis): Update.
      	* doc/invoke.texi (max-aliased-vops): Remove docs.
      	(avg-aliased-vops): Likewise.
      	* tree-into-ssa.c (syms_to_rename): Remove.
      	(need_to_update_vops_p): Likewise.
      	(need_to_initialize_update_ssa_p): Rename to ...
      	(update_ssa_initialized_fn): ... this.  Track function we are
      	initialized for.
      	(symbol_marked_for_renaming): Simplify.
      	(add_new_name_mapping): Do not set need_to_update_vops_p.
      	(dump_currdefs): Use SYMS_TO_RENAME.
      	(rewrite_update_stmt): Always walk all uses/defs.
      	(dump_update_ssa): Adjust.
      	(init_update_ssa): Take function argument.  Track what we are
      	initialized for.
      	(delete_update_ssa): Reset SYMS_TO_RENAME and update_ssa_initialized_fn.
      	(create_new_def_for): Initialize for cfun, assert we are initialized
      	for cfun.
      	(mark_sym_for_renaming): Simplify.
      	(mark_set_for_renaming): Do not initialize update-ssa.
      	(need_ssa_update_p): Simplify.  Take function argument.
      	(name_mappings_registered_p): Assert we ask for the correct function.
      	(name_registered_for_update_p): Likewise.
      	(ssa_names_to_replace): Likewise.
      	(release_ssa_name_after_update_ssa): Likewise.
      	(update_ssa): Likewise.  Use SYMS_TO_RENAME.
      	(dump_decl_set): Do not print a newline.
      	(debug_decl_set): Do it here.
      	(dump_update_ssa): And here.
      	* tree-ssa-loop-im.c (move_computations): Adjust.
      	(movement_possibility): Likewise.
      	(determine_max_movement): Likewise.
      	(gather_mem_refs_stmt): Likewise.
      	* tree-dump.c (dequeue_and_dump): Do not handle SYMBOL_MEMORY_TAG
      	or NAME_MEMORY_TAG.
      	* tree-complex.c (update_all_vops): Remove.
      	(expand_complex_move): Adjust.
      	* tree-ssa-loop-niter.c (chain_of_csts_start): Use NULL_TREE.
      	Simplify test for memory referencing statement.  Exclude
      	non-invariant ADDR_EXPRs.
      	* tree-pretty-print.c (dump_generic_node): Do not handle memory tags.
      	* tree-loop-distribution.c (generate_memset_zero): Adjust.
      	(rdg_flag_uses): Likewise.
      	* tree-tailcall.c (suitable_for_tail_opt_p): Remove memory-tag
      	related code.
      	(tree_optimize_tail_calls_1): Also split the
      	edge from the entry block if we have degenerate PHI nodes in
      	the first basic block.
      	* tree.c (init_ttree): Remove memory-tag related code.
      	(tree_code_size): Likewise.
      	(tree_node_structure): Likewise.
      	(build7_stat): Re-write to be build6_stat.
      	* tree.h (MTAG_P, TREE_MEMORY_TAG_CHECK, TMR_TAG): Remove.
      	(SSA_VAR_P): Adjust.
      	(struct tree_memory_tag): Remove.
      	(struct tree_memory_partition_tag): Likewise.
      	(union tree_node): Adjust.
      	(build7): Re-write to be build6.
      	* tree-pass.h (pass_reset_cc_flags): Remove.
      	(TODO_update_address_taken): New flag.
      	(pass_simple_dse): Remove.
      	* ipa-cp.c (ipcp_update_callgraph): Update SSA form.
      	* params.h (MAX_ALIASED_VOPS): Remove.
      	(AVG_ALIASED_VOPS): Likewise.
      	* omp-low.c (expand_omp_taskreg): Update SSA form.
      	* tree-ssa-dse.c (dse_optimize_stmt): Properly query if the rhs
      	aliases the lhs in a copy stmt.
      	* tree-ssa-dse.c (struct address_walk_data): Remove.
      	(memory_ssa_name_same): Likewise.
      	(memory_address_same): Likewise.
      	(get_kill_of_stmt_lhs): Likewise.
      	(dse_possible_dead_store_p): Simplify, use the oracle.  Handle
      	unused stores.  Look through PHI nodes into post-dominated regions.
      	(dse_optimize_stmt): Simplify.  Properly remove stores.
      	(tree_ssa_dse): Compute dominators.
      	(execute_simple_dse): Remove.
      	(pass_simple_dse): Likewise.
      	* ipa-reference.c (scan_stmt_for_static_refs): Open-code
      	gimple_loaded_syms and gimple_stored_syms computation.
      	* toplev.c (dump_memory_report): Dump alias and pta stats.
      	* tree-ssa-sccvn.c (vn_reference_compute_hash): Simplify.
      	(vn_reference_eq): Likewise.
      	(vuses_to_vec, copy_vuses_from_stmt, vdefs_to_vec,
      	copy_vdefs_from_stmt, shared_lookup_vops, shared_vuses_from_stmt,
      	valueize_vuses): Remove.
      	(get_def_ref_stmt_vuses): Simplify.  Rename to ...
      	(get_def_ref_stmt_vuse): ... this.
      	(vn_reference_lookup_2): New function.
      	(vn_reference_lookup_pieces): Use walk_non_aliased_vuses for
      	walking equivalent vuses.  Simplify.
      	(vn_reference_lookup): Likewise.
      	(vn_reference_insert): Likewise.
      	(vn_reference_insert_pieces): Likewise.
      	(visit_reference_op_call): Simplify.
      	(visit_reference_op_load): Likewise.
      	(visit_reference_op_store): Likewise.
      	(init_scc_vn): Remove shared_lookup_vuses initialization.
      	(free_scc_vn): Remove shared_lookup_vuses freeing.
      	(sort_vuses, sort_vuses_heap): Remove.
      	(get_ref_from_reference_ops): Export.
      	* tree-ssa-sccvn.h (struct vn_reference_s): Replace vuses
      	vector with single vuse pointer.
      	(vn_reference_lookup_pieces, vn_reference_lookup,
      	vn_reference_insert, vn_reference_insert_pieces): Adjust prototypes.
      	(shared_vuses_from_stmt): Remove.
      	(get_ref_from_reference_ops): Declare.
      	* tree-ssa-loop-manip.c (slpeel_can_duplicate_loop_p): Adjust.
      	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Remove
      	memory-tag related code.
      	* tree-ssa-ccp.c (get_symbol_constant_value): Remove memory-tag code.
      	(likely_value): Add comment, skip static-chain of call statements.
      	(surely_varying_stmt_p): Adjust.
      	(gimplify_and_update_call_from_tree): Likewise.
      	(execute_fold_all_builtins): Do not rebuild alias info.
      	(gimplify_and_update_call_from_tree): Properly update VOPs.
      	* tree-ssa-loop-ivopts.c (get_ref_tag): Remove.
      	(copy_ref_info): Remove memory-tag related code.
      	* tree-call-cdce.c (tree_call_cdce): Rename the VOP.
      	* ipa-pure-const.c (check_decl): Remove memory-tag related code.
      	(check_stmt): Open-code gimple_loaded_syms and gimple_stored_syms
      	computation.
      	* tree-ssa-dom.c (gimple_p): Remove typedef.
      	(eliminate_redundant_computations): Adjust.
      	(record_equivalences_from_stmt): Likewise.
      	(avail_expr_hash): Likewise.
      	(avail_expr_eq): Likewise.
      	* tree-ssa-propagate.c (update_call_from_tree): Properly
      	update VOPs.
      	(stmt_makes_single_load): Likewise.
      	(stmt_makes_single_store): Likewise.
      	* tree-ssa-alias.c: Rewrite completely.
      	(debug_memory_partitions, dump_mem_ref_stats, debug_mem_ref_stats,
      	debug_mem_sym_stats, dump_mem_sym_stats_for_var,
      	debug_all_mem_sym_stats, debug_mp_info, update_mem_sym_stats_from_stmt,
      	delete_mem_ref_stats, create_tag_raw, dump_points_to_info,
      	dump_may_aliases_for, debug_may_aliases_for, new_type_alias):
      	Remove public functions.
      	(pass_reset_cc_flags): Remove.
      	(pass_build_alias): Move ...
      	* tree-ssa-structalias.c (pass_build_alias): ... here.
      	* tree-ssa-alias.c (may_be_aliased): Move ...
      	* tree-flow-inline.h (may_be_aliased): ... here.
      	tree-ssa-alias.c (struct count_ptr_d, count_ptr_derefs,
      	count_uses_and_derefs): Move ...
      	* gimple.c: ... here.
      	* gimple.h (count_uses_and_derefs): Declare.
      	* tree-ssa-alias.c (dump_alias_stats, ptr_deref_may_alias_global_p,
      	ptr_deref_may_alias_decl_p, ptr_derefs_may_alias_p,
      	same_type_for_tbaa, nonaliasing_component_refs_p, decl_refs_may_alias_p,
      	indirect_ref_may_alias_decl_p, indirect_refs_may_alias_p,
      	ref_maybe_used_by_call_p, ref_maybe_used_by_stmt_p,
      	call_may_clobber_ref_p, stmt_may_clobber_ref_p, maybe_skip_until,
      	get_continuation_for_phi, walk_non_aliased_vuses, walk_aliased_vdefs):
      	New functions.
      	* tree-dfa.c (refs_may_alias_p): Move ...
      	* tree-ssa-alias.c (refs_may_alias_p): ... here.  Extend.
      	* tree-ssa-alias.h: New file.
      	* tree-ssa-sink.c (is_hidden_global_store): Adjust.
      	(statement_sink_location): Likewise.
      	* opts.c (decode_options): Do not adjust max-aliased-vops or
      	avg-aliased-vops values.
      	* timevar.def (TV_TREE_MAY_ALIAS): Remove.
      	(TV_CALL_CLOBBER): Likewise.
      	(TV_FLOW_SENSITIVE): Likewise.
      	(TV_FLOW_INSENSITIVE): Likewise.
      	(TV_MEMORY_PARTITIONING): Likewise.
      	(TV_ALIAS_STMT_WALK): New timevar.
      	* tree-ssa-loop-ivcanon.c (empty_loop_p): Adjust.
      	* tree-ssa-address.c (create_mem_ref_raw): Use build6.
      	(get_address_description): Remove memory-tag related code.
      	* tree-ssa-ifcombine.c (bb_no_side_effects_p): Adjust.
      	* treestruct.def (TS_MEMORY_TAG, TS_MEMORY_PARTITION_TAG): Remove.
      	* tree-eh.c (cleanup_empty_eh): Do not leave stale SSA_NAMEs
      	and immediate uses in statements.  Document.
      	* gimple-pretty-print.c (dump_gimple_mem_ops): Adjust.
      	(dump_symbols): Remove.
      	(dump_gimple_mem_ops): Do not dump loaded or stored syms.
      	* alias.c (get_deref_alias_set): New function split out from ...
      	(get_alias_set): ... here.
      	* alias.h (get_deref_alias_set): Declare.
      	* tree-vect-data-refs.c (vect_create_data_ref_ptr): Remove unused
      	type parameter.  Remove restrict pointer handling.  Create a
      	ref-all pointer in case type-based alias sets do not conflict.
      	(vect_analyze_data_refs): Remove SMT related code.
      	* tree-vect-stmts.c (vectorizable_store): Re-instantiate TBAA assert.
      	(vectorizable_load): Likewise.
      	* tree-data-ref.h (struct dr_alias): Remove symbol_tag field.
      	(DR_SYMBOL_TAG, DR_VOPS): Remove.
      	* tree-data-ref.c (dr_may_alias_p): Use the alias-oracle.
      	Ignore vops and SMTs.
      	(dr_analyze_alias): Likewise..
      	(free_data_ref): Likewise.
      	(create_data_ref): Likewise.
      	(analyze_all_data_dependences): Likewise.
      	(get_references_in_stmt): Adjust.
      	* tree-flow-inline.h (gimple_aliases_computed_p,
      	gimple_addressable_vars, gimple_call_clobbered_vars,
      	gimple_call_used_vars, gimple_global_var, may_aliases, memory_partition,
      	factoring_name_p, mark_call_clobbered, clear_call_clobbered,
      	compare_ssa_operands_equal, symbol_mem_tag, set_symbol_mem_tag,
      	gimple_mem_ref_stats): Remove.
      	(gimple_vop): New function.
      	(op_iter_next_use): Remove vuses and mayuses cases.
      	(op_iter_next_def): Remove vdefs case.
      	(op_iter_next_tree): Remove vuses, mayuses and vdefs cases.
      	(clear_and_done_ssa_iter): Do not set removed fields.
      	(op_iter_init): Likewise.  Skip vuse and/or vdef if requested.
      	Assert we are not iterating over vuses or vdefs if not also
      	iterating over uses or defs.
      	(op_iter_init_use): Likewise.
      	(op_iter_init_def): Likewise.
      	(op_iter_next_vdef): Remove.
      	(op_iter_next_mustdef): Likewise.
      	(op_iter_init_vdef): Likewise.
      	(compare_ssa_operands_equal): Likewise.
      	(link_use_stmts_after): Handle vuse operand.
      	(is_call_used): Use is_call_clobbered.
      	(is_call_clobbered): Global variables are always call clobbered,
      	query the call-clobbers bitmap.
      	(mark_call_clobbered): Ignore global variables.
      	(clear_call_clobbered): Likewise.
      	* tree-ssa-coalesce.c (create_outofssa_var_map): Adjust
      	virtual operands sanity check.
      	* tree.def (NAME_MEMORY_TAG, SYMBOL_MEMORY_TAG, MEMORY_PARTITION_TAG):
      	Remove.
      	(TARGET_MEM_REF): Remove TMR_TAG operand.
      	* tree-dfa.c (add_referenced_var): Initialize call-clobber state.
      	Remove call-clobber related code.
      	(remove_referenced_var): Likewise.  Do not clear mpt or symbol_mem_tag.
      	(dump_variable): Do not dump SMTs, memory stats, may-aliases or
      	partitions or escape reason.
      	(get_single_def_stmt, get_single_def_stmt_from_phi,
      	get_single_def_stmt_with_phi): Remove.
      	(dump_referenced_vars): Tidy.
      	(get_ref_base_and_extent): Allow bare decls.
      	(collect_dfa_stats): Adjust.
      	* graphite.c (rename_variables_in_stmt): Adjust.
      	(graphite_copy_stmts_from_block): Likewise.
      	(translate_clast): Likewise.
      	* tree-ssa-pre.c (struct bb_bitmap_sets): Add expr_dies bitmap.
      	(EXPR_DIES): New.
      	(translate_vuse_through_block): Use the oracle.
      	(phi_translate_1): Adjust.
      	(value_dies_in_block_x): Use the oracle.  Cache the outcome
      	in EXPR_DIES.
      	(valid_in_sets): Check if the VUSE for
      	a REFERENCE is available.
      	(eliminate): Do not remove stmts during elimination,
      	instead queue and remove them afterwards.
      	(do_pre): Do not rebuild alias info.
      	(pass_pre): Run TODO_rebuild_alias before PRE.
      	* tree-ssa-live.c (remove_unused_locals): Remove memory-tag code.
      	* tree-sra.c (sra_walk_function): Use gimple_references_memory_p.
      	(mark_all_v_defs_stmt): Remove.
      	(mark_all_v_defs_seq): Adjust.
      	(sra_replace): Likewise.
      	(scalarize_use): Likewise.
      	(scalarize_copy): Likewise.
      	(scalarize_init): Likewise.
      	(scalarize_ldst): Likewise.
      	(todoflags): Remove.
      	(tree_sra): Do not rebuild alias info.
      	(tree_sra_early): Adjust.
      	(pass_sra): Run TODO_update_address_taken before SRA.
      	* tree-predcom.c (set_alias_info): Remove.
      	(prepare_initializers_chain): Do not call it.
      	(mark_virtual_ops_for_renaming): Adjust.
      	(mark_virtual_ops_for_renaming_list): Remove.
      	(initialize_root_vars): Adjust.
      	(initialize_root_vars_lm): Likewise.
      	(prepare_initializers_chain): Likewise.
      	* tree-ssa-copy.c (may_propagate_copy): Remove memory-tag related code.
      	(may_propagate_copy_into_stmt): Likewise.
      	(merge_alias_info): Do nothing for now.
      	(propagate_tree_value_into_stmt): Adjust.
      	(stmt_may_generate_copy): Likewise.
      	* tree-ssa-forwprop.c (tidy_after_forward_propagate_addr): Do
      	not mark symbols for renaming.
      	(forward_propagate_addr_expr): Match up push/pop_stmt_changes
      	with the same statement, make sure to update the new pointed-to one.
      	* tree-ssa-dce.c (eliminate_unnecessary_stmts): Do not copy
      	call statements, do not mark symbols for renaming.
      	(mark_operand_necessary): Dump something.
      	(ref_may_be_aliased): New function.
      	(mark_aliased_reaching_defs_necessary_1): New helper function.
      	(mark_aliased_reaching_defs_necessary): Likewise.
      	(mark_all_reaching_defs_necessary_1): Likewise.
      	(mark_all_reaching_defs_necessary): Likewise.
      	(propagate_necessity): Do not process virtual PHIs.  For
      	non-aliased loads mark all reaching definitions as necessary.
      	For aliased loads and stores mark the immediate dominating
      	aliased clobbers as necessary.
      	(visited): New global static.
      	(perform_tree_ssa_dce): Free visited bitmap after propagating
      	necessity.
      	(remove_dead_phis): Perform simple dead virtual PHI removal.
      	(remove_dead_stmt): Properly unlink virtual operands when
      	removing stores.
      	(eliminate_unnecessary_stmts): Schedule PHI removal after
      	stmt removal.
      	* tree-ssa-ter.c (is_replaceable_p): Adjust.
      	(process_replaceable): Likewise.
      	(find_replaceable_in_bb): Likewise.
      	* tree-ssa.c (verify_ssa_name): Verify all VOPs are
      	based on the single gimple vop.
      	(verify_flow_insensitive_alias_info): Remove.
      	(verify_flow_sensitive_alias_info): Likewise.
      	(verify_call_clobbering): Likewise.
      	(verify_memory_partitions): Likewise.
      	(verify_alias_info): Likewise.
      	(verify_ssa): Adjust..
      	(execute_update_addresses_taken): Export.  Update SSA
      	manually.  Optimize only when optimizing.  Use a local bitmap.
      	(pass_update_address_taken): Remove TODO_update_ssa, add
      	TODO_dump_func.
      	(pass_update_address_taken): Just use TODO_update_address_taken.
      	(init_tree_ssa): Do not initialize addressable_vars.
      	(verify_ssa): Verify new VUSE / VDEF properties.
      	Verify that all stmts definitions have the stmt as SSA_NAME_DEF_STMT.
      	Do not call verify_alias_info.
      	(delete_tree_ssa): Clear the VUSE, VDEF operands.
      	Do not free the loaded and stored syms bitmaps.  Reset the escaped
      	and callused solutions.  Do not free addressable_vars.
      	Remove memory-tag related code.
      	(warn_uninitialized_var): Aliases are always available.
      	* tree-ssa-loop-prefetch.c (gather_memory_references): Adjust.
      	* lambda-code.c (can_put_in_inner_loop): Adjust.
      	(can_put_after_inner_loop): Likewise.
      	(perfect_nestify): Likewise.
      	* tree-vect-stmts.c (vect_stmt_relevant_p): Adjust.
      	(vect_gen_widened_results_half): Remove CALL_EXPR handling.
      	(vectorizable_conversion): Do not mark symbols for renaming.
      	* tree-inline.c (remap_gimple_stmt): Clear VUSE/VDEF.
      	(expand_call_inline): Unlink the calls virtual operands before
      	replacing it.
      	(tree_function_versioning): Do not call update_ssa if we are not
      	updating clones.  Simplify.
      	* tree-ssa-phiprop.c (phivn_valid_p): Adjust.
      	(propagate_with_phi): Likewise..
      	* tree-outof-ssa.c (create_temp): Remove memory tag and call
      	clobber code.  Assert we are not aliased or global.
      	* tree-flow.h: Include tree-ssa-alias.h
      	(enum escape_type): Remove.
      	(struct mem_sym_stats_d): Likewise.
      	(struct mem_ref_stats_d): Likewise.
      	(struct gimple_df): Add vop member.  Remove global_var,
      	call_clobbered_vars, call_used_vars, addressable_vars,
      	aliases_compted_p and mem_ref_stats members.  Add syms_to_rename,
      	escaped and callused members.
      	(struct ptr_info_def): Remove all members, add points-to solution
      	member pt.
      	(struct var_ann_d): Remove in_vuse_list, in_vdef_list,
      	call_clobbered, escape_mask, mpt and symbol_mem_tag members.
      	* Makefile.in (TREE_FLOW_H): Add tree-ssa-alias.h.
      	(tree-ssa-structalias.o): Remove tree-ssa-structalias.h.
      	(tree-ssa-alias.o): Likewise.
      	(toplev.o): Add tree-ssa-alias.h
      	(GTFILES): Remove tree-ssa-structalias.h, add tree-ssa-alias.h.
      	* gimple.c (gimple_set_bb): Fix off-by-one error.
      	(is_gimple_reg): Do not handle memory tags.
      	(gimple_copy): Also copy virtual operands.
      	Delay updating the statement.  Do not reset loaded and stored syms.
      	(gimple_set_stored_syms): Remove.
      	(gimple_set_loaded_syms): Likewise.
      	(gimple_call_copy_skip_args): Copy the virtual operands
      	and mark the new statement modified.
      	* tree-ssa-structalias.c (may_alias_p): Remove.
      	(set_uids_in_ptset): Take the alias set to prune with as
      	parameter.  Fold in the alias test of may_alias_p.
      	(compute_points_to_sets): Compute whether a ptr is dereferenced
      	in a local sbitmap.
      	(process_constraint): Deal with &ANYTHING on the lhs, reject all
      	other ADDRESSOF constraints on the lhs.
      	(get_constraint_for_component_ref): Assert that we don't get
      	ADDRESSOF constraints from the base of the reference.
      	Properly generate UNKNOWN_OFFSET for DEREF if needed.
      	(struct variable_info): Remove collapsed_to member.
      	(get_varinfo_fc): Remove.
      	(new_var_info): Do not set collapsed_to.
      	(dump_constraint): Do not follow cycles.
      	(dump_constraint_graph): Likewise.
      	(build_pred_graph): Likewise.
      	(build_succ_graph): Likewise.
      	(rewrite_constraints): Likewise.
      	(do_simple_structure_copy): Remove.
      	(do_rhs_deref_structure_copy): Remove.
      	(do_lhs_deref_structure_copy): Remove.
      	(collapse_rest_of_var): Remove.
      	(do_structure_copy): Re-implement.
      	(pta_stats): New global variable.
      	(dump_pta_stats): New function.
      	(struct constraint_expr): Make offset signed.
      	(UNKNOWN_OFFSET): Define special value.
      	(dump_constraint): Dump UNKNOWN_OFFSET as UNKNOWN.
      	(solution_set_expand): New helper function split out from ...
      	(do_sd_constraint): ... here.
      	(solution_set_add): Handle UNKNOWN_OFFSET.  Handle negative offsets.
      	(do_ds_constraint): Likewise.
      	(do_sd_constraint): Likewise.  Do not special-case ESCAPED = *ESCAPED
      	and CALLUSED = *CALLUSED.
      	(set_union_with_increment): Make inc argument signed.
      	(type_safe): Remove.
      	(get_constraint_for_ptr_offset): Handle unknown and negative
      	constant offsets.
      	(first_vi_for_offset): Handle offsets before start.  Bail
      	out early for offsets beyond the variable extent.
      	(first_or_preceding_vi_for_offset): New function.
      	(init_base_vars): Add ESCAPED = ESCAPED + UNKNOWN_OFFSET constraint.
      	Together with ESCAPED = *ESCAPED this properly computes reachability.
      	(find_what_var_points_to): New function.
      	(find_what_p_points_to): Implement in terms of find_what_var_points_to.
      	(pt_solution_reset, pt_solution_empty_p, pt_solution_includes_global,
      	pt_solution_includes_1, pt_solution_includes, pt_solutions_intersect_1,
      	pt_solutions_intersect): New functions.
      	(compute_call_used_vars): Remove.
      	(compute_may_aliases): New main entry into PTA computation.
      	* gimple.h (gimple_p): New typedef.
      	(struct gimple_statement_base): Remove references_memory_p.
      	(struct gimple_statement_with_memory_ops_base): Remove
      	vdef_ops, vuse_ops, stores and loads members.  Add vdef and vuse
      	members.
      	(gimple_vuse_ops, gimple_set_vuse_ops, gimple_vdef_ops,
      	gimple_set_vdef_ops, gimple_loaded_syms, gimple_stored_syms,
      	gimple_set_references_memory): Remove.
      	(gimple_vuse_op, gimple_vdef_op, gimple_vuse, gimple_vdef,
      	gimple_vuse_ptr, gimple_vdef_ptri, gimple_set_vuse, gimple_set_vdef):
      	New functions.
      	* tree-cfg.c (move_block_to_fn): Fix off-by-one error.
      	(verify_expr): Allow RESULT_DECL.
      	(gimple_duplicate_bb): Do not copy virtual operands.
      	(gimple_duplicate_sese_region): Adjust.
      	(gimple_duplicate_sese_tail): Likewise.
      	(mark_virtual_ops_in_region): Remove.
      	(move_sese_region_to_fn): Do not call it.
      	* passes.c (init_optimization_passes): Remove pass_reset_cc_flags
      	and pass_simple_dse.
      	(execute_function_todo): Handle TODO_update_address_taken,
      	call execute_update_addresses_taken for TODO_rebuild_alias.
      	(execute_todo): Adjust.
      	(execute_one_pass): Init dump files early.
      	* ipa-struct-reorg.c (finalize_var_creation): Do not mark vars
      	call-clobbered.
      	(create_general_new_stmt): Clear vops.
      	* tree-ssa-reassoc.c (get_rank): Adjust.
      	* tree-vect-slp.c (vect_create_mask_and_perm): Do not mark
      	symbols for renaming.
      	* params.def (PARAM_MAX_ALIASED_VOPS): Remove.
      	(PARAM_AVG_ALIASED_VOPS): Likewise.
      	* tree-ssanames.c (init_ssanames): Allocate SYMS_TO_RENAME.
      	(duplicate_ssa_name_ptr_info): No need to copy the shared bitmaps.
      	* tree-ssa-operands.c: Simplify for new virtual operand
      	representation.
      	(operand_build_cmp, copy_virtual_operands,
      	create_ssa_artificial_load_stmt, add_to_addressable_set,
      	gimple_add_to_addresses_taken): Remove public functions.
      	(unlink_stmt_vdef): New function.
      
      	* gcc.dg/pr19633-1.c: Adjust.
      	* gcc.dg/torture/pta-callused-1.c: Likewise.
      	* gcc.dg/torture/pr39074-2.c: Likewise.
      	* gcc.dg/torture/pr39074.c: Likewise.
      	* gcc.dg/torture/pta-ptrarith-3.c: New testcase.
      	* gcc.dg/torture/pr30375.c: Adjust.
      	* gcc.dg/torture/pr33563.c: Likewise.
      	* gcc.dg/torture/pr33870.c: Likewise.
      	* gcc.dg/torture/pr33560.c: Likewise.
      	* gcc.dg/torture/pta-structcopy-1.c: New testcase.
      	* gcc.dg/torture/ssa-pta-fn-1.c: Likewise.
      	* gcc.dg/tree-ssa/alias-15.c: Remove.
      	* gcc.dg/tree-ssa/ssa-dce-4.c: New testcase.
      	* gcc.dg/tree-ssa/pr26421.c: Adjust.
      	* gcc.dg/tree-ssa/ssa-fre-10.c: XFAIL.
      	* gcc.dg/tree-ssa/ssa-dce-5.c: New testcase.
      	* gcc.dg/tree-ssa/pr23382.c: Adjust.
      	* gcc.dg/tree-ssa/ssa-fre-20.c: New testcase.
      	* gcc.dg/tree-ssa/alias-16.c: Adjust.
      	* gcc.dg/tree-ssa/ssa-fre-13.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-fre-14.c: Likewise.
      	* gcc.dg/tree-ssa/alias-18.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-fre-15.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-lim-3.c: Likewise.
      	* gcc.dg/tree-ssa/alias-19.c: Likewise.
      	* gcc.dg/tree-ssa/pta-ptrarith-1.c: New testcase.
      	* gcc.dg/tree-ssa/pr13146.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-pre-23.c: Likewise.
      	* gcc.dg/tree-ssa/pta-ptrarith-2.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-fre-18.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-pre-24.c: New XFAILed testcase.
      	* gcc.dg/tree-ssa/ssa-fre-19.c: New testcase.
      	* gcc.dg/tree-ssa/alias-20.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-dse-12.c: Likewise.
      	* gcc.dg/tree-ssa/pr38895.c: Likewise.
      	* gcc.dg/uninit-B.c: XFAIL.
      	* gcc.dg/vect/no-vfa-vect-43.c: Adjust.
      	* gcc.dg/uninit-pr19430.c: XFAIL.
      	* g++.dg/tree-ssa/pr13146.C: New testcase.
      	* g++.dg/opt/pr36187.C: Adjust.
      	* g++.dg/torture/20090329-1.C: New testcase.
      
      From-SVN: r145494
      Richard Guenther committed
    • random: Remove, empty. · 95fe602e
      2009-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/tr1_impl/random: Remove, empty.
      	* include/tr1_impl/random.tcc: Likewise.
      
      	* include/std/random: Minor clean-ups, formatting fixes, adjust
      	copyright years.
      	* include/bits/random.tcc: Likewise.
      	* include/bits/random.h: Likewise.
      	* include/tr1/random: Likewise.
      	* include/tr1/random.tcc: Likewise.
      	* include/tr1/random.h: Likewise.
      
      From-SVN: r145493
      Paolo Carlini committed
    • update copyright date · 01e935c1
      From-SVN: r145490
      Christian Bruel committed
    • Daily bump. · c7c583ef
      From-SVN: r145487
      GCC Administrator committed
  2. 02 Apr, 2009 23 commits
    • config.gcc (powerpc-*-linux*): Merge variants. · 457d1d00
      	* config.gcc (powerpc-*-linux*): Merge variants.
      	* config.host (powerpc-*-linux*altivec*, powerpc-*-linux*spe): Delete.
      
      From-SVN: r145484
      Alan Modra committed
    • [multiple changes] · 8e79468d
      2009-04-02  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
      	Change to mersenne_twister_engine, add same defaults as
      	mersenne_twister_engine/cons/default.cc.
      	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Same.
      
      	* include/bits/random.tcc (seed_seq::seed_seq): Uglify parameter
      	to __il.
      	* include/bits/random.h (mersenne_twister_engine): Qualify
      	_ShiftMin1 with namespace __detail.
      	(__detail::_ShiftMin1): Use __gnu_cxx::__numeric_traits::max until
      	constexpr std::numeric_limits::max() can be used.
      	(mersenne_twister_engine): Split apart static asserts into one
      	assert per message. Temporarily disable the last three.
      
      2009-04-02  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	* include/Makefile.am: Update to N2836. Modified for new random headers.
      	* include/Makefile.in: Ditto.
      	* include/tr1_impl/random: Moved to tr1/random.h
      	* include/tr1_impl/random.tcc: Moved to tr1
      	* include/tr1/random: Just point to moved tr1 random headers.
      	* include/tr1/random.tcc: Moved from tr1_impl.
      	* include/tr1/random.h: Moved from tr1_impl/random.
      	* include/std/random: Modified to point to std random headers.
      	* include/bits/random.tcc: New implementation of std random facilities.
      	* include/bits/random.h: Ditto.
      	* testsuite/26_numerics/headers/random/std_c++0x_neg.cc: Changed.
      	* testsuite/26_numerics/random/linear_congruential_engine/cons/
      	seed1.cc: New.
      	* testsuite/26_numerics/random/linear_congruential_engine/cons/
      	seed2.cc: New.
      	* testsuite/26_numerics/random/linear_congruential_engine/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/linear_congruential_engine/requirements/
      	non_uint_neg.cc: New.
      	* testsuite/26_numerics/random/linear_congruential_engine/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/linear_congruential_engine/operators/
      	equal.cc: New.
      	* testsuite/26_numerics/random/linear_congruential_engine/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
      	seed1.cc: New.
      	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
      	seed2.cc: New.
      	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/mersenne_twister_engine/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/mersenne_twister_engine/operators/
      	equal.cc: New.
      	* testsuite/26_numerics/random/mersenne_twister_engine/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
      	seed1.cc: New.
      	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
      	seed2.cc: New.
      	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/subtract_with_carry_engine/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/subtract_with_carry_engine/operators/
      	equal.cc: New.
      	* testsuite/26_numerics/random/subtract_with_carry_engine/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/discard_block_engine/cons/
      	base_move.cc: New.
      	* testsuite/26_numerics/random/discard_block_engine/cons/
      	seed1.cc: New.
      	* testsuite/26_numerics/random/discard_block_engine/cons/
      	seed2.cc: New.
      	* testsuite/26_numerics/random/discard_block_engine/cons/
      	base_copy.cc: New.
      	* testsuite/26_numerics/random/discard_block_engine/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/discard_block_engine/cons/
      	seed_seq.cc: New.
      	* testsuite/26_numerics/random/discard_block_engine/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/discard_block_engine/operators/
      	equal.cc: New.
      	* testsuite/26_numerics/random/discard_block_engine/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/independent_bits_engine/cons/
      	base_move.cc: New.
      	* testsuite/26_numerics/random/independent_bits_engine/cons/
      	seed1.cc: New.
      	* testsuite/26_numerics/random/independent_bits_engine/cons/
      	seed2.cc: New.
      	* testsuite/26_numerics/random/independent_bits_engine/cons/
      	base_copy.cc: New.
      	* testsuite/26_numerics/random/independent_bits_engine/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/independent_bits_engine/cons/
      	seed_seq.cc: New.
      	* testsuite/26_numerics/random/independent_bits_engine/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/independent_bits_engine/operators/
      	equal.cc: New.
      	* testsuite/26_numerics/random/independent_bits_engine/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/shuffle_order_engine/cons/
      	base_move.cc: New.
      	* testsuite/26_numerics/random/shuffle_order_engine/cons/
      	seed1.cc: New.
      	* testsuite/26_numerics/random/shuffle_order_engine/cons/
      	seed2.cc: New.
      	* testsuite/26_numerics/random/shuffle_order_engine/cons/
      	base_copy.cc: New.
      	* testsuite/26_numerics/random/shuffle_order_engine/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/shuffle_order_engine/cons/
      	seed_seq.cc: New.
      	* testsuite/26_numerics/random/shuffle_order_engine/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/shuffle_order_engine/operators/
      	equal.cc: New.
      	* testsuite/26_numerics/random/shuffle_order_engine/operators/
      	serialize.cc
      	* testsuite/26_numerics/random/mt19937.cc: New.
      	* testsuite/26_numerics/random/mt19937_64.cc: New.
      	* testsuite/26_numerics/random/minstd_rand.cc: New.
      	* testsuite/26_numerics/random/minstd_rand0.cc: New.
      	* testsuite/26_numerics/random/ranlux24_base.cc: New.
      	* testsuite/26_numerics/random/ranlux48_base.cc: New.
      	* testsuite/26_numerics/random/ranlux24.cc: New.
      	* testsuite/26_numerics/random/ranlux48.cc: New.
      	* testsuite/26_numerics/random/knuth_b.cc: New.
      	* testsuite/26_numerics/random/default_random_engine.cc: New.
      	* testsuite/26_numerics/random/chi_squared_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/chi_squared_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/chi_squared_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/chi_squared_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/normal_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/normal_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/normal_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/normal_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/seed_seq/cons/range.cc: New.
      	* testsuite/26_numerics/random/seed_seq/cons/default.cc: New.
      	* testsuite/26_numerics/random/seed_seq/requirements/typedefs.cc: New.
      	* testsuite/26_numerics/random/uniform_int_distribution/cons/
      	parms_neg.cc: New.
      	* testsuite/26_numerics/random/uniform_int_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/uniform_int_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/uniform_int_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/uniform_int_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/uniform_real_distribution/cons/
      	parms_neg.cc: New.
      	* testsuite/26_numerics/random/uniform_real_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/uniform_real_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/uniform_real_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/uniform_real_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/poisson_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/poisson_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/poisson_distribution/requirements/
      	typedefs.cc
      	* testsuite/26_numerics/random/poisson_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/bernoulli_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/bernoulli_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/bernoulli_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/bernoulli_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/discrete_distribution/cons/
      	range.cc: New.
      	* testsuite/26_numerics/random/discrete_distribution/cons/
      	initlist.cc: New.
      	* testsuite/26_numerics/random/discrete_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/discrete_distribution/cons/
      	num_xbound_fun.cc: New.
      	* testsuite/26_numerics/random/discrete_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/discrete_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/weibull_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/weibull_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/weibull_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/weibull_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/negative_binomial_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/negative_binomial_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/negative_binomial_distribution/
      	requirements/typedefs.cc: New.
      	* testsuite/26_numerics/random/negative_binomial_distribution/
      	operators/serialize.cc: New.
      	* testsuite/26_numerics/random/cauchy_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/cauchy_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/cauchy_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/cauchy_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/gamma_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/gamma_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/gamma_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/gamma_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/fisher_f_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/fisher_f_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/fisher_f_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/fisher_f_distribution/operators/
      	serialize.cc: New.
      
      	* testsuite/26_numerics/random/exponential_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/exponential_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/exponential_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/exponential_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/lognormal_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/lognormal_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/lognormal_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/lognormal_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/binomial_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/binomial_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/binomial_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/binomial_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/random_device/cons/
      	token.cc: New.
      	* testsuite/26_numerics/random/random_device/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/random_device/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/extreme_value_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/extreme_value_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/extreme_value_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/extreme_value_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
      	range.cc: New.
      	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
      	num_xbound_fun.cc: New.
      	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
      	initlist_fun.cc: New.
      	* testsuite/26_numerics/random/piecewise_linear_distribution/
      	requirements/typedefs.cc: New.
      	* testsuite/26_numerics/random/piecewise_linear_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/student_t_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/student_t_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/student_t_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/student_t_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/geometric_distribution/cons/
      	parms.cc: New.
      	* testsuite/26_numerics/random/geometric_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/geometric_distribution/requirements/
      	typedefs.cc: New.
      	* testsuite/26_numerics/random/geometric_distribution/operators/
      	serialize.cc: New.
      	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
      	range.cc: New.
      	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
      	default.cc: New.
      	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
      	num_xbound_fun.cc: New.
      	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
      	initlist_fun.cc: New.
      	* testsuite/26_numerics/random/piecewise_constant_distribution/
      	requirements/typedefs.cc: New.
      	* testsuite/26_numerics/random/piecewise_constant_distribution/
      	operators/serialize.cc: New.
      
      From-SVN: r145483
      Benjamin Kosnik committed
    • interrupt_handler.c: New test. · e97d7fa9
      2009-04-02  Chao-ying Fu  <fu@mips.com>
      
      	* gcc.target/mips/interrupt_handler.c: New test.
      
      From-SVN: r145482
      Chao-ying Fu committed
    • mips.c (mips_frame_info): Add acc_mask... · e19da24c
      2009-04-02  Chao-ying Fu  <fu@mips.com>
      	    James Grosbach <james.grosbach@microchip.com>
      
      	* config/mips/mips.c (mips_frame_info): Add acc_mask, num_acc,
      	num_cop0_regs, acc_save_offset, cop0_save_offset, acc_sp_offset,
      	cop0_sp_offset.
      	(machine_function): Add interrupt_handler_p, use_shadow_register_set_p,
      	keep_interrupts_masked_p, use_debug_exception_return_p.
      	(mips_attribute_table): Add interrupt, use_shadow_register_set,
      	keep_interrupts_masked, use_debug_exception_return.
      	(mips_interrupt_type_p, mips_use_shadow_register_set_p,
      	mips_keep_interrupts_masked_p, mips_use_debug_exception_return_p):
      	New functions.
      	(mips_function_ok_for_sibcall): Return false for interrupt handlers.
      	(mips_print_operand): Process COP0 registers to print $0 .. $31
      	correctly for GAS to process.
      	(mips_interrupt_extra_call_saved_reg_p): New function.
      	(mips_cfun_call_saved_reg_p): For interrupt handlers, we need to check
      	extra registers.
      	(mips_cfun_might_clobber_call_saved_reg_p): Likewise.
      	(mips_compute_frame_info): Add supports for interrupt context that
      	includes doubleword accumulators and COP0 registers.
      	(mips_for_each_saved_acc): New function.
      	(mips_for_each_saved_gpr_and_fpr): Change the function name from
      	mips_for_each_saved_reg.
      	(mips_save_reg): Save accumulators.
      	(mips_kernel_reg_p): A new for_each_rtx callback.
      	(mips_expand_prologue): Support interrupt handlers.
      	(mips_restore_reg): Restore accumulators.
      	(mips_expand_epilogue): Support interrupt handlers.
      	(mips_can_use_return_insn): Return false for interrupt handlers.
      	(mips_epilogue_uses): New function.
      	* config/mips/mips.md (UNSPEC_ERET, UNSPEC_DERET, UNSPEC_DI,
      	UNSPEC_EHB, UNSPEC_RDPGPR, UNSPEC_COP0): New UNSPEC.
      	(mips_eret, mips_deret, mips_di, mips_ehb, mips_rdpgpr,
      	cop0_move): New instructions.
      	* config/mips/mips-protos.h (mips_epilogue_uses): Declare.
      	* config/mips/mips.h (K0_REG_NUM, K1_REG_NUM, KERNEL_REG_P): New
      	defines.
      	(COP0_STATUS_REG_NUM, COP0_CAUSE_REG_NUM, COP0_EPC_REG_NUM):
      	New defines.
      	(CAUSE_IPL, SR_IPL, SR_EXL, SR_IE): New defines.
      	(MIPS_PROLOGUE_TEMP_REGNUM, MIPS_EPILOGUE_TEMP_REGNUM): For
      	interrupt handlers, we use K0 as the temporary register.
      	(EPILOGUE_USES): Change to a function call.
      	* config/mips/sde.h (MIPS_EPILOGUE_TEMP_REGNUM): For interrupt
      	handlers, we use K0 as the temporary register.
      
      	* doc/extend.texi (Function Attributes): Document interrupt,
      	use_shadow_register_set, keep_interrupts_masked,
      	use_debug_exception_return for MIPS attributes.
      
      Co-Authored-By: James Grosbach <james.grosbach@microchip.com>
      
      From-SVN: r145481
      Chao-ying Fu committed
    • re PR objc/18456 (ICE compiling Objective C code with protocol-qualified objects) · 608f7b2e
      2009-04-02  David Ayers  <ayers@fsfe.org>
      
      	PR objc/18456
      	* objc.dg/bad-receiver-type-2.m: New test contributed by
      	Alexander Mamberg.
      
      From-SVN: r145478
      David Ayers committed
    • config.gcc (powerpc64-*-gnu*): Add rs6000/default64.h to tm_file. · aa1ca044
      	* config.gcc (powerpc64-*-gnu*): Add rs6000/default64.h to tm_file.
      	Remove a number of t-files from tmake_file.
      	* config/rs6000/sysv4.opt (mprototype): Name variable target_prototype.
      	* config/rs6000/sysv4.h (TARGET_PROTOTYPE): Define.
      	* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
      	target_prototype, not TARGET_PROTOTYPE.
      	(LINK_OS_GNU_SPEC): Define.
      	* config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Delete tramp.S
      	and darwin-ldoubdle.c.
      
      From-SVN: r145477
      Alan Modra committed
    • re PR c++/25185 (deep typedef substitution in error message) · d5c8be27
              PR c++/25185
              * error.c (find_typenames, find_typenames_r): New fns.
              (dump_function_decl): Call find_typenames.
              (dump_template_bindings): Print typenames as well.
              * pt.c (tsubst): Non-static.
              * cp-tree.h: Declare it.
      
      From-SVN: r145476
      Jason Merrill committed
    • [PATCH, committed] Add -save-temps=obj, PR 39293 · 14fdc613
      From-SVN: r145470
      Michael Meissner committed
    • re PR tree-optimization/31677 (gcc.dg/memcpy-1.c tree dump scan fails on several targets) · 9fabb197
      	PR tree-optimization/31677
      	* gcc.dg/memcpy-1.c: Add compiler option.
      
      From-SVN: r145466
      Janis Johnson committed
    • reload1.c (fixup_eh_region_notes): Remove write-only "trap_count" variable. · d3aa398e
      	* reload1.c (fixup_eh_region_notes): Remove write-only "trap_count"
      	variable.
      
      From-SVN: r145459
      Jeff Law committed
    • configure.ac: Support -Bstatic/-Bdynamic for linker version > 2. · 83f0ccb8
      2009-04-02  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* configure.ac: Support -Bstatic/-Bdynamic for linker version > 2.
      	* configure: Regenerated.
      
      From-SVN: r145457
      H.J. Lu committed
    • c-decl.c (merge_decls): Make sure newdecl and olddecl don't share the argument list. · dcb6e951
      2009-04-02  Rafael Avila de Espindola  <espindola@google.com>
      
      	* c-decl.c (merge_decls): Make sure newdecl and olddecl don't
      	share the argument list.
      
      From-SVN: r145456
      Rafael Avila de Espindola committed
    • [multiple changes] · d85478c2
      2009-04-02  Rafael Avila de Espindola  <espindola@google.com>
      
      	Merge
      
      	2009-02-12  Diego Novillo  <dnovillo@google.com>
      
              	* varpool.c (debug_varpool): New.
              	* cgraph.h (debug_varpool): Declare.
      
      From-SVN: r145455
      Rafael Avila de Espindola committed
    • passes.c (init_optimization_passes): Remove two copies of ehcleanup pass. · 34f42a49
      	* passes.c (init_optimization_passes): Remove two copies of ehcleanup
      	pass.
      
      From-SVN: r145451
      Jan Hubicka committed
    • i386.c (ix86_abi): Move initialization to ... · a4747b4a
      2009-04-02  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/i386/i386.c (ix86_abi): Move initialization to ...
      	(override_options): Here.
      
      From-SVN: r145449
      H.J. Lu committed
    • [SH] double precision floating point dwarf fix · 63a9de54
      2009-04-02  Christian Bruel  <christian.bruel@st.com>
      
      	* config/sh/sh.c (sh_dwarf_register_span): New function.
      	(TARGET_DWARF_REGISTER_SPAN): Define.
      	* config/sh/sh-protos.h (sh_dwarf_register_span): Declare.
      
      From-SVN: r145448
      Christian Bruel committed
    • re PR tree-optimization/39595 (ICE in vectorizable_store at tree-vect-transform.c:5361) · 2f0fa28e
      
      	PR tree-optimization/39595
      	* tree-vect-slp.c (vect_build_slp_tree): Check that the size of 
      	interleaved loads group is not greater than the SLP group size.
      
      From-SVN: r145445
      Ira Rosen committed
    • builtins.c (is_builtin_name): New. · bbf7ce11
      2009-04-02  Rafael Avila de Espindola  <espindola@google.com>
      
      	* builtins.c (is_builtin_name): New.
      	(called_as_built_in): Use is_builtin_name.
      	* tree.h (is_builtin_name): New.
      	* varasm.c (incorporeal_function_p): Use is_builtin_name
      
      From-SVN: r145444
      Rafael Avila de Espindola committed
    • linux-unwind.h: Disable when inhibit_libc is defined. · 47e4dfcf
      2009-04-02  Andrew Stubbs  <ams@codesourcery.com>
      
      	* config/sh/linux-unwind.h: Disable when inhibit_libc is defined.
      
      From-SVN: r145442
      Andrew Stubbs committed
    • re PR c++/26693 (Access checks not performed for types in templates) · d0940d56
      gcc/ChangeLog:
      2009-04-02  Dodji Seketeli  <dodji@redhat.com>
      
          PR c++/26693
          * c-decl.c: (clone_underlying_type): Move this ...
          * c-common.c (set_underlying_type): ... here.
          Also, make sure the function properly sets TYPE_STUB_DECL() on
          the newly created typedef variant type.
          * c-common.h (is_typedef_decl, set_underlying_type): Declare ...
          * c-common.c (is_typedef_decl, set_underlying_type): ... new entry points.
      
      gcc/cp/ChangeLog:
      2009-04-02  Dodji Seketeli  <dodji@redhat.com>
      
          PR c++/26693
          * decl2.c (grokfield): when a typedef appears in a
          class, create the typedef variant type node for it.
          (save_template_attributes): Creating typedef variant type node
           here is now useless.
          * decl.c (grokdeclarator): If the typedef'ed struct/class was
          anonymous, set the proper type name to all its type variants.
          (xref_basetypes) : Fixup the variant types after setting
          TYPE_BINFO on REF.
          * name-lookup.c (pushdecl_maybe_friend): Reuse the
          set_underlying_type function to install typedef variant types.
          * cp-tree.h (MEMBER_TYPES_NEEDING_ACCESS_CHECK): New template accessor
          macro.
          (append_type_to_template_for_access_check): New entry points.
          * semantics.c (check_accessibility_of_qualified_id):
          When a typedef that is a member of a class appears in a template,
          add it to the template. It will be ...
          * class.c (finish_struct_bits): Split type variant fixup into ...
          (fixup_type_variants): A new entry point.
          * pt.c (instantiate_class_template, instantiate_template ): ... access
          checked at template instantiation time.
          (resolve_type_name_type): The type name should be the name of the
          main type variant.
          (retrieve_specialization): Specializations of template typedefs aren't
          to be looked up in DECL_TEMPLATE_INSTANTIATIONS (tmpl).
          (append_type_to_template_for_access_check): New entry point.
          (tsubst_decl): For typedefs, build the variant type from the correct
          original type.
          (get_class_bindings): Fix function comment.
          (perform_typedefs_access_check): New entry point.
      
      gcc/testsuite/ChangeLog:
      2009-04-02  Dodji Seketeli  <dodji@redhat.com>
      
          PR c++/26693
          * g++.dg/template/typedef11.C: New test.
          * g++.dg/template/typedef12.C: Likewise.
          * g++.dg/template/typedef13.C: Likewise.
          * g++.dg/template/typedef14.C: Likewise.
          * g++.dg/template/typedef15.C: Likewise.
          * g++.dg/template/typedef16.C: Likewise.
          * g++.dg/template/sfinae3.C: Compile this pedantically.
          The only errors expected should be the one saying the typedef is ill
          formed.
          * g++.old-deja/g++.pt/typename8.C: Likewise.
          * g++.dg/template/access11.C: Update this.
      
      libstdc++-v3/ChangeLog:
      2009-04-02  Dodji Seketeli  <dodji@redhat.com>
      
          * include/ext/bitmap_allocator.h: the typedefs should be made public
          if we want them to be accessible. This has been revealed by the patch
          that fixes PR c++/26693 in g++.
      
      From-SVN: r145440
      Dodji Seketeli committed
    • re PR middle-end/37221 (Missed early loop-unroll optimization - causes 40% degradation on SPU) · bf1cbdc6
      2009-04-02  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/37221
      	* tree-flow.h (degenerate_phi_result): Declare.
      	* tree-ssa-dom.c (degenerate_phi_result): Export.
      	* tree-scalar-evolution.c (analyze_initial_condition): If
      	the initial condition is defined by a degenerate PHI node
      	use the degenerate value.
      
      	* gcc.c-torture/compile/20090331-1.c: New testcase.
      
      From-SVN: r145439
      Richard Guenther committed
    • baseline_symbols.txt: Regenerated. · 4bb7dbf6
      	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
      	Regenerated.
      	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
      	Regenerated.
      	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
      	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
      	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
      	* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
      	* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Regenerated.
      	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
      	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
      	Regenerated.
      	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
      
      From-SVN: r145437
      Jakub Jelinek committed
    • Daily bump. · 0024af7e
      From-SVN: r145436
      GCC Administrator committed
  3. 01 Apr, 2009 12 commits
    • re PR rtl-optimization/39588 (internal compiler error: in trunc_int_for_mode, at explow.c:55) · 87cfb32c
      	PR rtl-optimization/39588
      	* combine.c (merge_outer_ops): Do not set the constant when this
      	is not necessary.
      	(simplify_shift_const_1): Do not modify it either in this case.
      
      From-SVN: r145430
      Eric Botcazou committed
    • ia64.c (ia64_handle_option): Inform user that Itanium1 tuning is deprecated if... · bbb6eae8
      	* config/ia64/ia64.c (ia64_handle_option): Inform user that Itanium1
      	tuning is deprecated if -mtune value is set to an Itanium1 variant.
      
      From-SVN: r145427
      Steven Bosscher committed
    • re PR c++/4926 (C++ ABI needs clarification on mangling of complex expressions) · a5b38cdf
      2009-04-01  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR c++/4926
      	* g++.dg/template/pr4926-1.C: New.
      
      From-SVN: r145423
      H.J. Lu committed
    • re PR target/39027 (double floating point suffix of 'd' and 'D' not accepted) · 839a3b8a
      gcc/
      	PR c/29027
      	* c-lex.c (interpret_float): Default (no suffix) is double.
      
      libcpp/
      	PR c/29027
      	* include/cpplib.h (CPP_N_DEFAULT): Define.
      	* expr.c (interpret_float_suffix): Recognize d or D for double,
      	return new value for default.
      	(cpp_classify_number): Issue pedwarn for use of d or D in suffix.
      
      gcc/testsuite/
      	PR c/29027
      	* gcc.dg/fltconst-1.c: Don't error for use of d or D in suffix.
      	* gcc.dg/fltconst-2.c: New test.
      	* gcc.dg/fltconst-double-pedantic-1.c: New test.
      	* gcc.dg/fltconst-double-pedantic-2.c: New test.
      
      From-SVN: r145422
      Janis Johnson committed
    • better m128i constant materialization · 667e8acb
      From-SVN: r145418
      Xinliang David Li committed
    • re PR c/33466 (mixed-case suffix for decimal float constants) · eec49116
      libcpp/
      	PR c/33466
      	* expr.c (interpret_float_suffix): Reject invalid suffix that uses
      	letters from decimal float and fixed-point suffixes.
      
      gcc/testsuite
      	PR c/33466
      	* gcc.dg/cpp/pr33466.c: New test.
      	* gcc.dg/dfp/pr33466.c: New test.
      	* gcc.dg/fixed-point/pr33466.c: New test.
      
      From-SVN: r145417
      Janis Johnson committed
    • [multiple changes] · c4e75102
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/vax.c: Add #includes to silence warnings.
      	Change #include order to silence two warnings.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/linux.h (TARGET_DEFAULT): Add the MASK_QMATH flag bit.
      	(ASM_SPEC): Pass -k to the assembler for PIC code.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config.gcc: Add vax-*-linux* to the switch.
      	* gcc/config/vax/linux.h: New file. (TARGET_VERSION,
      	TARGET_OS_CPP_BUILTINS, TARGET_DEFAULT, CPP_SPEC, LINK_SPEC): Define.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/vax.c (vax_output_int_move, adjacent_operands_p):
      	Use predicate macros instead of GET_CODE() == foo.
      	* gcc/config/vax/vax.md (movsi_2, movstrictqi, and<mode>3, ashrsi3,
      	ashlsi3, rotrsi3, <unnamed>): Likewise.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/builtins.md (jbbssiqi, jbbssihi, jbbssisi, jbbcciqi,
      	jbbccihi, jbbccisi): Remova trailing whitespace.
      	* gcc/config/vax/constraints.md: Likewise.
      	* gcc/config/vax/elf.h: (ASM_PREFERRED_EH_DATA_FORMAT): Likewise.
      	* gcc/config/vax/openbsd1.h (OBSD_OLD_GAS): Likewise.
      	* gcc/config/vax/predicates.md: Likewise.
      	* gcc/config/vax/vax.c (print_operand_address, vax_output_int_move,
      	vax_expand_addsub_di_operands, adjacent_operands_p): Likewise.
      	* gcc/config/vax/vax.h: Likewise.
      	* gcc/config/vax/vax.md (nonlocal_goto): Likewise.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/vax.c (vax_float_literal, vax_output_int_move)
      	(indirectable_address_p, adjacent_operands_p): Add spaces around
      	braces.
      	* gcc/config/vax/vax-protos.h (adjacent_operands_p): Likewise.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/vax.c (legitimate_constant_address_p,
      	legitimate_constant_p, indirectable_address_p, nonindexed_address_p,
      	index_term_p, reg_plus_index_p, legitimate_address_p,
      	vax_mode_dependent_address_p): Update comments to match functions
      	modified by the recent int->bool conversion.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/builtins.md: Update copyright message.
      	* gcc/config/vax/constraints.md: Likewise.
      	* gcc/config/vax/netbsd-elf.h: Likewise.
      	* gcc/config/vax/predicates.md: Likewise.
      	* gcc/config/vax/vax-protos.h: Likewise.
      	* gcc/config/vax/vax.c: Likewise.
      	* gcc/config/vax/vax.h: Likewise.
      	* gcc/config/vax/vax.md: Likewise.
      	* gcc/config/vax/vax.opt: Likewise.
      
      2009-04-01	Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
      
      	* gcc/config/vax/builtins.md (ffssi2, ffssi2_internal,
      	sync_lock_test_and_set<mode>, sync_lock_release<mode>): Fix indention.
      	* gcc/config/vax/constraints.md (B, R): Likewise.
      	* gcc/config/vax/predicates.md (external_memory_operand,
      	nonimmediate_addsub_di_operand): Likewise.
      	* gcc/config/vax/vax.c (vax_output_int_add): Likewise.
      	* gcc/config/vax/vax.md (movsi, movsi_2, mov<mode>, call_value,
      	untyped_call): Likewise.
      
      2009-04-01	Matt Thomas <matt@3am-software.com>
      
      	* config/vax/predicates.md: New file. (symbolic_operand,
      	local_symbolic_operand, external_symbolic_operand,
      	external_const_operand, nonsymbolic_operand, external_memory_operand,
      	indirect_memory_operand, indexed_memory_operand,
      	illegal_blk_memory_operand, illegal_addsub_di_memory_operand,
      	nonimmediate_addsub_di_operand, general_addsub_di_operand): New
      	predicate.
      	* config/vax/constraints.md: New file. (Z0, U06,  U08, U16, CN6, S08,
      	S16, I, J, K, L, M, N, O, G, Q, B, R, T): New constraint.
      	* config/vax/builtins.md: New file. (ffssi2, ffssi2_internal,
      	sync_lock_test_and_set<mode>, jbbssiqi, jbbssihi, jbbssisi,
      	sync_lock_release<mode>, jbbcciqi, jbbccihi, jbbccisi): Define.
      	* config/vax/vax.opt (mqmath): Add option.
      	* config/vax/vax.md (isfx): Extend with DI.
      	(VAXintQH, VAXintQHSD): Define.
      	(tst<mode>, cmp<mode>, *bit<mode>, movmemhi1, truncsiqi2, truncsihi2,
      	mulsidi3, add<mode>3, sub<mode>, mul<mode>3, div<mode>3, and<mode>,
      	and<mode>_const_int, ior<mode>3, xor<mode>3, neg<mode>2,
      	one_cmpl<mode>2, ashlsi3, lshrsi3, rotlsi3): Update constraints.
      	(movdi): Update constraints and use vax_output_int_move().
      	(movsi, movsi_2, pushlclsymreg, pushextsymreg, movlclsymreg,
      	movextsymreg, adddi3, adcdi3, subdi3, sbcdi3, pushextsym, movextsym,
      	pushlclsym, movlclsym, movaddr<mode>, pushaddr<mode>,
      	nonlocal_goto): New.
      	(mov<mode>): Extend accepted operand types.
      	(subdi3_old): Rename from subdi3, change update constraints and use
      	a new implementation.
      	* gcc/config/vax/vax.h (PCC_BITFIELD_TYPE_MATTERS): Add space.
      	(FRAME_POINTER_CFA_OFFSET, IRA_COVER_CLASSES, CLASS_MAX_NREGS,
      	MOVE_RATIO, CLEAR_RATIO): Define.
      	(REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P,
      	CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete.
      	(PRINT_OPERAND): Redefine using a function instead of inlined code.
      	* gcc/config/vax/vax.c (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Define.
      	(split_quadword_operands): Make static and really allow variable
      	splitting.
      	(print_operand_address): Update for PIC generation.
      	(print_operand, vax_builtin_setjmp_frame_value, vax_output_int_subtract,
      	indexable_address_p, fixup_mathdi_operand,
      	vax_expand_addsub_di_operands, adjacent_operands_p): New.
      	(vax_float_literal, legitimate_constant_p,
      	indirectable_constant_address_p, index_term_p,
      	reg_plus_index_p): Return bool instead of int.
      	(vax_rtx_costs): Fix cost for CONST_INT, indent and use HOST_WIDE_INT
      	where needed.
      	(vax_output_int_move, vax_output_int_add): Extend to allow PIC
      	generation.
      	(vax_output_conditional_branch): Indent.
      	(legitimate_constant_address_p, indirectable_constant_address_p,
      	indirectable_address_p, nonindexed_address_p, legitimate_address_p,
      	vax_mode_dependent_address_p): Return bool instead of int, update for
      	PIC generation.
      	* config/vax/vax-protos.h (legitimate_constant_address_p,
      	legitimate_constant_p, legitimate_address_p,
      	vax_mode_dependent_address_p): Change declaration to bool.
      	(legitimate_pic_operand_p, adjacent_operands_p, print_operand,
      	vax_expand_addsub_di_operands, vax_output_int_subtract,
      	vax_output_movmemsi): Declare.
      	(split_quadword_operands, vax_float_literal): Delete declaration.
      	* config/vax/netbsd-elf.h (CC1_SPEC, CC1PLUS_SPEC) Define.
      	* config/vax/elf.h (NO_EXTERNAL_INDIRECT_ADDRESS,
      	VAX_CC1_AND_CC1PLUS_SPEC, ASM_PREFERRED_EH_DATA_FORMAT,
      	ASM_OUTPUT_DWARF_PCREL): Define.
      	(ASM_SPEC): Change definition to allow PIC generation.
      
      From-SVN: r145416
      Matt Thomas committed
    • Makefil.def (languages): New entries. · 60911f14
      	* Makefil.def (languages): New entries.
      	* Makefile.tpl (check-gcc-*): New generic target.
      	* Makefile.in: Regenerate.
      	* gcc/doc/sourcebuild.texi: Update front-end requirements.
      
      From-SVN: r145415
      Steve Ellcey committed
    • re PR tree-optimization/35011 (ICE with -fcheck-data-deps) · 96137f95
      2009-04-01  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR tree-optimization/35011
      	* g++.dg/other/pr35011.C: New.
      
      From-SVN: r145413
      H.J. Lu committed
    • re PR target/39226 (gcc_assert (verify_initial_elim_offsets ()); ICE) · d93e052c
      	PR target/39226
      	* config/rs6000/rs6000.md (andsi3_internal5_nomc,
      	anddi3_internal2_nomc, anddi3_internal3_nomc): Removed.
      	(booldi3_internal3): Use boolean_or_operator instead of
      	boolean_operator.
      
      	* gcc.dg/pr39226.c: New test.
      
      From-SVN: r145411
      Jakub Jelinek committed
    • re PR c++/35240 (ICE with new in template parameter) · eddd291e
      2009-04-01  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR c++/35240
      	* g++.dg/template/pr35240.C: New.
      
      From-SVN: r145408
      H.J. Lu committed
    • re PR c/39605 ("error: variable-size type declared outside of any function" is issued twice) · 6ccb2a4a
      	PR c/39605
      	* c-decl.c (grokdeclarator): Pedwarn for file-scope array
      	declarator whose size is not an integer constant expression but
      	folds to an integer constant, then treat it as a constant
      	subsequently.
      
      testsuite:
      	* gcc.dg/vla-17.c, gcc.dg/vla-18.c: New tests.
      	* gcc.dg/pr25682.c: Update expected diagnostics.
      
      From-SVN: r145405
      Joseph Myers committed