1. 06 Mar, 2008 1 commit
  2. 25 Feb, 2008 1 commit
    • re PR target/35258 (two memcpy calls merged incorrectly with -O1) · 2e4e39f6
      2008-02-25  Andreas Krebbel  <krebbel1@de.ibm.com>
      
      	PR target/35258
      	* cse.c (cse_insn): Avoid creation of overlapping MEMs.
      	* alias.c (nonoverlapping_memrefs_p): Export for use in other modules.
      	* alias.h (nonoverlapping_memrefs_p): Likewise.
      
      2008-02-25  Andreas Krebbel  <krebbel1@de.ibm.com>
      
      	PR target/35258
      	* gcc.dg/pr35258.c: New testcase.
      
      From-SVN: r132628
      Andreas Krebbel committed
  3. 23 Oct, 2007 1 commit
  4. 19 Oct, 2007 1 commit
  5. 19 Sep, 2007 1 commit
  6. 27 Aug, 2007 2 commits
    • Separate target-specific initialization from general back-end initialization. · b5deb7b6
      2007-08-27  Sandra Loosemore  <sandra@codesourcery.com>
      	    David Ung  <davidu@mips.com>
                  Nigel Stephens <nigel@mips.com>
      
      	gcc/
      	Separate target-specific initialization from general
      	back-end initialization.
      
      	* toplev.c (init_alignments): New, split out from...
      	(process_options): ...here.
      	(backend_init_target):  New, split out from...
      	(backend_init): ...here.
      	(lang_dependent_init_target):  New, split out from...
      	(lang_dependent_init): ...here.
      	(target_reinit): New.
      	* toplev.h (target_reinit): Declare.
      	* expr.c (init_expr_target): Renamed from init_expr_once, since it
      	now can be called more than once.  Update comments.
      	* expr.h (init_expr_target): Likewise.
      	* alias.c (init_alias_target): Renamed from init_alias_once, since it
      	now can be called more than once.  Explicitly zero
      	static_reg_base_value.
      	* emit-rtl.c (init_emit_regs): New, split out from...
      	(init_emit_once): Here.
      	* regclass.c (initial_fixed_regs, initial_call_used_regs): Make
      	non-const, so that changes from command-line arguments can overwrite
      	values provided by the static initializers.
      	(initial_call_really_used_regs): New, used similarly to the above.
      	(initial_reg_names): Likewise.
      	(last_mode_for_init_move_cost): Promoted function-local static to
      	file-scope static to make it accessible outside init_move_cost.
      	(init_reg_sets): Do not initialize fixed_regs and call_used_regs yet.
      	Do not initialize inv_reg_alloc_order yet, either.  Do initialize
      	reg_names since it is needed for parsing command-line options.
      	(init_move_cost): Use last_mode_for_init_move_cost instead of
      	function-local static.
      	(init_reg_sets_1): Initialize fixed_regs, call_used_regs, and
      	call_really_used_regs now.  Reinitialize reg_names.  Also
      	initialize inv_reg_alloc_order.  Zero reg_class_subunion and
      	reg_class_superunion.  Clear losing_caller_save_reg_set.
      	Preserve global registers if called more than once.  Reset
      	move cost, may_move_in_cost, may_move_out_cost, and
      	last_mode_for_init_move_cost.
      	(init_reg_modes_target): Renamed from init_reg_modes_once, since it
      	can now be invoked more than once.  Update comments.
      	(init_regs): Update comments.
      	(fix_register): Update initial_fixed_regs, initial_call_used_regs,
      	and initial_call_really_used_regs, instead of the non-initial 
              variables.  This allows us to save the command-line register settings
      	after target reinitialization.
      	(init_reg_autoinc): Zero forbidden_inc_dec_classes.
      	* rtl.h (init_emit_regs): Declare.
      	(init_reg_modes_target, init_alias_target): Renamed as described
      	above.
      	* reload1.c (init_reload): Update comments.
      	* optabs.c (init_optabs): Likewise.
      	* cfgloopanal.c (init_set_costs): Explicitly zero target_avail_regs.
      	
      
      
      Co-Authored-By: David Ung <davidu@mips.com>
      Co-Authored-By: Nigel Stephens <nigel@mips.com>
      
      From-SVN: r127832
      Sandra Loosemore committed
    • alias.c (memory_modified_1, [...]): Constify. · 9678086d
      	* alias.c (memory_modified_1, memory_modified_in_insn_p):
      	Constify.
      	* basic-block.h (tree_predicted_by_p, rtl_predicted_by_p):
      	Likewise.
      	* bb-reorder.c (copy_bb_p): Likewise.
      	* cfghooks.c (can_remove_branch_p, can_merge_blocks_p,
      	predicted_by_p, can_duplicate_block_p, block_ends_with_call_p,
      	block_ends_with_condjump_p): Likewise.
      	* cfghooks.h (can_remove_branch_p, can_merge_blocks_p,
      	predicted_by_p, can_duplicate_block_p, block_ends_with_call_p,
      	block_ends_with_condjump_p): Likewise.
      	* cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
      	* cfgrtl.c (can_delete_note_p, can_delete_label_p,
      	rtl_can_merge_blocks, cfg_layout_can_merge_blocks_p,
      	rtl_block_ends_with_call_p, rtl_block_ends_with_condjump_p,
      	need_fake_edge_p, rtl_can_remove_branch_p): Likewise.
      	* dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Use
      	debug_true_const_tree instad of debug_true_tree.
      	* debug.c (do_nothing_debug_hooks): Likewise.
      	* debug.h (ignore_block, debug_true_const_tree): Constify.
      	* dwarf2out.c (stack_adjust_offset, clobbers_queued_reg_save,
      	dwarf2out_ignore_block, is_pseudo_reg, is_tagged_type,
      	decl_ultimate_origin, block_ultimate_origin, lookup_decl_loc,
      	same_dw_val_p, add_ranges, is_subrange_type, type_is_enum,
      	dbx_reg_number, is_based_loc, field_type,
      	simple_type_align_in_bits, simple_decl_align_in_bits,
      	simple_type_size_in_bits, field_byte_offset, insert_float,
      	type_tag, member_declared_type, is_redundant_typedef,
      	secname_for_decl, is_inlined_entry_point): Likewise.
      	* emit-rtl.c (const_next_insn, const_previous_insn,
      	const_next_nonnote_insn, const_prev_nonnote_insn,
      	const_next_real_insn, const_prev_real_insn,
      	const_next_active_insn, const_prev_active_insn, const_next_label,
      	const_prev_label): Likewise.
      	* except.h (lookup_stmt_eh_region_fn, lookup_stmt_eh_region):
      	Likewise.
      	* haifa-sched.c (may_trap_exp, haifa_classify_insn,
      	find_set_reg_weight, no_real_insns_p, find_set_reg_weight,
      	sched_insn_is_legitimate_for_speculation_p): Likewise.
      	* jump.c (reversed_comparison_code_parts,
      	reversed_comparison_code, reversed_comparison, condjump_label):
      	Likewise.
      	* predict.c (rtl_predicted_by_p, tree_predicted_by_p): Likewise.
      	* reg-stack.c (stack_regs_mentioned_p, stack_regs_mentioned):
      	Likewise.
      	* rtl.h (const_previous_insn, const_next_insn,
      	const_prev_nonnote_insn, const_next_nonnote_insn,
      	const_prev_real_insn, const_next_real_insn,
      	const_prev_active_insn, const_next_active_insn, const_prev_label,
      	const_next_label, modified_between_p, modified_in_p,
      	const_note_storeskeep_with_call_p, condjump_label,
      	reversed_comparison, reversed_comparison_code,
      	reversed_comparison_code_parts, memory_modified_in_insn_p,
      	stack_regs_mentioned): Likewise.
      	* rtlanal.c (modified_between_p, modified_in_p, const_note_stores,
      	keep_with_call_p): Likewise.
      	* sched-deps.c (deps_may_trap_p, sched_get_condition,
      	conditions_mutex_p, sched_insns_conditions_mutex_psd_next_list,
      	sd_lists_size, sd_lists_empty_p): Likewise.
      	* sched-int.h (sched_insns_conditions_mutex_p,
      	haifa_classify_insn, no_real_insns_p,
      	sched_insn_is_legitimate_for_speculation_p, sd_next_list,
      	sd_lists_size, sd_lists_empty_p): Likewise.
      	* sdbout.c (sdb_debug_hooks): Likewise.
      	* tree-cfg.c (tree_can_merge_blocks_p, is_ctrl_altering_stmt,
      	stmt_ends_bb_p, tree_can_remove_branch_p, tree_can_duplicate_bb_p,
      	-tree_block_ends_with_call_p, tree_block_ends_with_condjump_p):
      	Likewise.
      	* tree-eh.c (lookup_stmt_eh_region_fn, lookup_stmt_eh_region,
      	tree_can_throw_internal): Likewise.
      	* tree-flow-inline.h (phi_nodes): Likewise.
      	* tree-flow.h (phi_nodesstmt_ends_bb_p, is_ctrl_altering_stmt,
      	tree_can_throw_internal, lookup_stmt_eh_region): Likewise.
      	* tree-gimple.c (const_get_call_expr_in): Likewise.
      	* tree-gimple.h (const_get_call_expr_in): Likewise.
      	* tree.c (const_lookup_attribute, attribute_list_equal,
      	attribute_list_contained): Likewise.
      	* tree.h (attribute_list_equal, attribute_list_contained,
      	const_lookup_attribute): Likewise.
      	* vmsdbgout.c (vmsdbgout_ignore_block): Likewise.
      
      From-SVN: r127824
      Kaveh R. Ghazi committed
  7. 23 Aug, 2007 1 commit
    • rtl.c (rtx_code_size): Check CONST_FIXED to calcualte correct sizes in DEF_RTL_EXPR. · 091a3ac7
      	* rtl.c (rtx_code_size): Check CONST_FIXED to calcualte correct sizes
      	in DEF_RTL_EXPR.
      	(copy_rtx): Handle CONST_FIXED.
      	(rtx_equal_p): Likewise.
      	* rtl.h (fixed_value.h): New include.
      	(rtx_def): Add a new field of fixed_value to u.
      	(XCNMPFV): Define for accessing fixed_value.
      	(CONST_FIXED_VALUE, CONST_FIXED_VALUE_HIGH, CONST_FIXED_VALUE_LOW):
      	Define.
      	* rtl.def (CONST_FIXED): New constant.
      	(SS_MULT, US_MULT, SS_DIV, US_DIV, FRACT_CONVERT,
      	UNSIGNED_FRACT_CONVERT, SAT_FRACT, UNSIGNED_SAT_FRACT, US_NEG,
      	US_ASHIFT): New codes.
      	* doc/rtl.texi (Expressions): Document const_fixed, us_neg, ss_mult,
      	us_mult, ss_div, us_div, us_ashift, fract_convert, sat_fract,
      	unsigned_fract_convert, unsigned_sat_fract): Document them.
      	* varasm.c (assemble_integer): Extend to support fixed-point constants
      	by using different machine classes.
      	(decode_addr_const): Handle FIXED_CST.
      	(const_hash_1): Likewise.
      	(compare_constant): Likewise.
      	(copy_constant): Likewise.
      	(const_rtx_hash_1): Handle CONST_FIXED.
      	(output_constant_pool_2): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM,
      	MODE_UACCUM, MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM,
      	MODE_VECTOR_UACCUM.
      	(initializer_constant_valid_p): Handle FIXED_CST.
      	(output_constant): Support FIXED_POINT_TYPE.
      	* gengenrtl.c (excluded_rtx): Check CONST_FIXED to exclude.
      	* cse.c (hash_rtx): Support CONST_FIXED.
      	(exp_equiv_p): Likewise.
      	(cannon_reg): Likewise.
      	(fold_rtx): Likewise.
      	(equiv_constant): Likewise.
      	(cse_process_notes_1): Likewise.
      	(count_reg_usage): Likewise.
      	* cselib.c (entry_and_rtx_equal_p): Check CONST_FIXED.
      	(rtx_equal_for_cselib_p): Handle CONST_FIXED.
      	(wrap_constant): Check CONST_FIXED.
      	(cselib_hash_rtx): Support CONST_FIXED.
      	(cselib_subst_to_values): Likewise.
      	* df-scan.c (df_uses_record): Likewise.
      	* gcse.c (want_to_gcse_p): Likewise.
      	(oprs_unchanged_p): Likewise.
      	(oprs_not_set_p): Likewise.
      	(compute_transp): Likewise.
      	(extract_mentioned_regs_helper): Likewise.
      	* genemit.c (gen_exp): Likewise.
      	* local-alloc.c (equiv_init_varies_p): Likewise.
      	(contains_replace_regs): Likewise.
      	(memref_referenced_p): Likewise.
      	* loop-invariant.c (check_maybe_invariant): Likewise.
      	(hash_invariant_expr_1): Likewise.
      	(invariant_expr_equal_p): Likewise.
      	* postreload-gcse.c (oprs_unchanged_p): Likewise.
      	* regclass.c (reg_scan_mark_refs): Likewise.
      	* regrename.c (scan_rtx): Likewise.
      	* resource.c (mark_referenced_resources): Likewise.
      	(mark_set_resources): Likewise.
      	* rtlanal.c (rtx_unstable_p): Likewise.
      	(rtx_varies_p): Likewise.
      	(count_occurrences): Likewise.
      	(reg_mentioned_p): Likewise.
      	(modified_between_p): Likewise.
      	(modified_in_p): Likewise.
      	(volatile_insn_p): Likewise.
      	(volatile_refs_p): Likewise.
      	(side_effects_p): Likewise.
      	(may_trap_p_1): Likewise.
      	(inequality_comparisons_p): Likewise.
      	(computed_jump_p_1): Likewise.
      	(commutative_operand_precedence): Likewise.
      	* sched-deps.c (sched_analyze_2): Likewise.
      	* sched-vis.c (print_value): Likewise.
      	* reload.c (operands_match_p): Likewise.
      	(subst_reg_equivs): Likewise.
      	* reload1.c (eliminate_regs_1): Likewise.
      	(elimination_effects): Likewise.
      	(scan_paradoxical_subregs): Likewise.
      	* alias.c (rtx_equal_for_memref_p): Likewise.
      	* Makefile.in (RTL_BASE_H): Add fixed-value.h.
      	* emit-rtl.c (const_fixed_htab): New hash table.
      	(const_fixed_htab_hash, const_fixed_htab_eq, lookup_const_fixed):
      	Declare.
      	(const_fixed_htab_hash, const_fixed_htab_eq, lookup_const_fixed,
      	const_fixed_from_fixed_value): New functions.
      	(verify_rtx_sharing): Handle CONST_FIXED.
      	(copy_rtx_if_shared_1): Likewise.
      	(reset_used_flags): Likewise.
      	(set_used_flags): Likewise.
      	(copy_insn_1): Likewise.
      	(init_emit_once): Create const_fixed_htab.
      	Store fixed-point scalar and vector zero and one to const_tiny_rtx.
      
      From-SVN: r127725
      Chao-ying Fu committed
  8. 14 Aug, 2007 2 commits
    • alias.c (component_uses_parent_alias_set): Constify. · 22ea9ec0
      	* alias.c (component_uses_parent_alias_set): Constify.
      	* alias.h (component_uses_parent_alias_set): Likewise.
      	* cfgrtl.c (print_rtl_with_bb): Likewise.
      	* double-int.c (tree_to_double_int, double_int_fits_to_tree_p,
      	mpz_get_double_int): Likewise.
      	* double-int.h (double_int_fits_to_tree_p, tree_to_double_int,
      	mpz_get_double_int): Likewise.
      	* expr.c (is_aligning_offset, undefined_operand_subword_p,
      	mostly_zeros_p, all_zeros_p, safe_from_p, is_aligning_offset):
      	Likewise.
      	* expr.h (safe_from_p): Likewise.
      	* gimple-low.c (try_catch_may_fallthru, block_may_fallthru):
      	Likewise.
      	* gimplify.c (should_carry_locus_p, zero_sized_field_decl,
      	zero_sized_type, goa_lhs_expr_p): Likewise.
      	* omp-low.c (is_variable_sized, use_pointer_for_field): Likewise.
      	* rtl.h (print_rtl_with_bb): Likewise.
      	* sched-vis.c (print_exp, print_value, print_pattern): Likewise.
      	* tree-cfg.c (const_first_stmt, const_last_stmt): New.
      	* tree-flow-inline.h (bb_stmt_list): Constify.
      	(cbsi_start, cbsi_last, cbsi_end_p, cbsi_next, cbsi_prev,
      	cbsi_stmt): New.
      	* tree-flow.h (const_block_stmt_iterator, cbsi_start, cbsi_last,
      	const_first_stmt, const_last_stmt): New.
      	(block_may_fallthru, empty_block_p): Constify.
      	* tree-iterator.c (EXPR_FIRST_BODY, EXPR_LAST_BODY,
      	EXPR_ONLY_BODY): New.
      	(expr_first, expr_last, expr_only): Use macro for body.
      	(const_expr_first, const_expr_last, const_expr_only): New.
      	* tree-iterator.h (const_tree_stmt_iterator, ctsi_start,
      	ctsi_last, ctsi_end_p, ctsi_one_before_end_p, ctsi_next,
      	ctsi_prev, ctsi_stmt): New.
      	* tree-scalar-evolution.c (get_loop_exit_condition): Constify.
      	* tree-scalar-evolution.h (get_loop_exit_condition): Likewise.
      	* tree-ssa-loop-niter.c (loop_only_exit_p,
      	derive_constant_upper_bound): Likewise.
      	* tree-ssa-phiopt.c (empty_block_p): Likewise.
      	* tree-ssa-threadupdate.c (redirection_block_p): Likewise.
      	* tree-vectorizer.c (slpeel_can_duplicate_loop_p): Likewise.
      	* tree-vectorizer.h (slpeel_can_duplicate_loop_p): Likewise.
      	* tree-vrp.c (vrp_bitmap_equal_p): Likewise.
      	* tree.c (get_type_static_bounds): Likewise.
      	* tree.h (const_expr_first, const_expr_last, const_expr_only): New.
      	(get_type_static_bounds): Constify.
      
      From-SVN: r127483
      Kaveh R. Ghazi committed
    • alias.c (rtx_equal_for_memref_p): Constify. · ed7a4b4b
      	* alias.c (rtx_equal_for_memref_p): Constify.
      	* basic-block.h (const_edge, const_basic_block): New.
      	(reg_set_to_hard_reg_set, dfs_enumerate_from, single_succ_p,
      	single_pred_p, single_succ_edge, single_pred_edge, single_succ,
      	single_pred, maybe_hot_bb_p, probably_cold_bb_p,
      	probably_never_executed_bb_p, edge_probability_reliable_p,
      	br_prob_note_reliable_p, forwarder_block_p, flow_nodes_print,
      	inside_basic_block_p, control_flow_insn_p, dominated_by_p):
      	Likewise.
      	* bb-reorder.c (better_edge_p, push_to_next_round_p): Likewise.
      	* bt-load.c (basic_block_freq, insn_sets_btr_p, can_move_up):
      	Likewise.
      	* cfganal.c (flow_active_insn_p, forwarder_block_p,
      	flow_nodes_print, dfs_enumerate_from): Likewise.
      	* cfgbuild.c (count_basic_blocks, inside_basic_block_p,
      	control_flow_insn_p, count_basic_blocks): Likewise.
      	* cfgloop.c (flow_bb_inside_loop_p, glb_enum_p,
      	get_loop_body_with_size, loop_exit_edge_p): Likewise.
      	* cfgloop.h (flow_bb_inside_loop_p, num_loop_insns,
      	average_num_loop_insns, loop_exit_edge_p,
      	just_once_each_iteration_p, can_duplicate_loop_p): Likewise.
      	* cfgloopanal.c (just_once_each_iteration_p, num_loop_insns,
      	average_num_loop_insns, seq_cost): Likewise.
      	* cfgloopmanip.c (rpe_enum_p, can_duplicate_loop_p): Likewise.
      	* dominance.c (dominated_by_p): Likewise.
      	* emit-rtl.c (validate_subreg): Likewise.
      	* except.c (can_throw_internal, can_throw_external): Likewise.
      	* except.h (can_throw_internal, can_throw_external): Likewise.
      	* gcse.c (gcse_constant_p, oprs_unchanged_p, oprs_anticipatable_p,
      	oprs_available_p, hash_expr, expr_equiv_p, oprs_not_set_p,
      	compute_transp, load_killed_in_block_p, reg_killed_on_edge,
      	simple_mem, store_ops_ok, load_kills_store, find_loads,
      	store_killed_in_insn, store_killed_after, store_killed_before,
      	gcse_mem_operand, implicit_set_cond_p, store_killed_in_pat):
      	Likewise.
      	* ifcvt.c (count_bb_insns, cheap_bb_rtx_cost_p, noce_operand_ok,
      	noce_mem_write_may_trap_or_fault_p): Likewise.
      	* pointer-set.c (pointer_set_contains, pointer_map_contains):
      	Likewise.
      	* pointer-set.h (pointer_set_contains, pointer_map_contains):
      	Likewise.
      	* predict.c (can_predict_insn_p, maybe_hot_bb_p,
      	probably_cold_bb_p, probably_never_executed_bb_p,
      	edge_probability_reliable_p, br_prob_note_reliable_p,
      	can_predict_insn_p): Likewise.
      	* regclass.c (reg_set_to_hard_reg_set): Likewise.
      	* resource.c (return_insn_p): Likewise.
      	* rtl.h (reg_set_between_p, reg_set_p, validate_subreg):
      	Likewise.
      	* rtlanal.c (reg_set_between_p, reg_set_p): Likewise.
      	* tracer.c (count_insns, ignore_bb_p, better_p): Likewise.
      	* tree-cfg.c (verify_gimple_unary_expr, verify_gimple_binary_expr,
      	verify_gimple_modify_stmt): Likewise.
      	* tree-chrec.c (is_not_constant_evolution,
      	is_multivariate_chrec_rec, is_multivariate_chrec,
      	chrec_contains_symbols, chrec_contains_undetermined,
      	tree_contains_chrecs, evolution_function_is_affine_multivariate_p,
      	evolution_function_is_univariate_p, avoid_arithmetics_in_type_p,
      	eq_evolutions_p, scev_direction): Likewise.
      	* tree-chrec.h (automatically_generated_chrec_p, tree_is_chrec,
      	eq_evolutions_p, is_multivariate_chrec, chrec_contains_symbols,
      	chrec_contains_symbols_defined_in_loop,
      	chrec_contains_undetermined, tree_contains_chrecs,
      	evolution_function_is_affine_multivariate_p,
      	evolution_function_is_univariate_p, chrec_zerop,
      	evolution_function_is_constant_p, evolution_function_is_affine_p,
      	evolution_function_is_affine_or_constant_p,
      	tree_does_not_contain_chrecs, chrec_type): Likewise.
      	* tree-data-ref.c (tree_fold_divides_p,
      	object_address_invariant_in_loop_p, dr_may_alias_p,
      	ziv_subscript_p, siv_subscript_p, gcd_of_steps_may_divide_p,
      	same_access_functions, constant_access_functions,
      	access_functions_are_affine_or_constant_p, find_vertex_for_stmt):
      	Likewise.
      	* tree-flow.h (scev_direction): Likewise.
      	* tree-gimple.c (is_gimple_stmt): Likewise.
      	* tree-outof-ssa.c (identical_copies_p, identical_stmt_lists_p):
      	Likewise.
      	* tree-pretty-print.c (op_prio): Likewise.
      	* tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop,
      	analyzable_condition, backedge_phi_arg_p): Likewise.
      	* tree-scalar-evolution.h (get_chrec_loop): Likewise.
      	* tree-ssa-operands.c (get_name_decl, operand_build_cmp): Likewise.
      	* tree-ssa-threadupdate.c (dbds_continue_enumeration_p):
      	Likewise.
      
      From-SVN: r127404
      Kaveh R. Ghazi committed
  9. 11 Aug, 2007 1 commit
    • alias.h (alias_set_type): Define new type. · 4862826d
      ./:	* alias.h (alias_set_type): Define new type.
      	(ALIAS_SET_MEMORY_BARRIER): Use it.
      	* rtl.h: Include alias.h.
      	(struct mem_attrs): Use alias_set_type.
      	* tree.h: Include alias.h
      	(struct tree_type): Use alias_set_type.
      	(struct tree_struct_field_tag): Likewise.
      	(struct tree_decl_common): Likewise.
      	* alias.c (struct alias_set_entry): Use alias_set_type.
      	(get_alias_set_entry, alias_set_subset_of): Likewise.
      	(alias_sets_conflict_p): Likewise.
      	(alias_sets_must_conflict_p): Likewise.
      	(objects_must_conflict_p): Likewise.
      	(get_alias_set, new_alias_set): Likewise.
      	(record_alias_subset, record_component_aliases): Likewise.
      	(varargs_set, frame_set): Change to alias_set_type.
      	(get_varargs_alias_set): Use alias_set_type.
      	(get_frame_alias_set): Likewise.
      	* builtins.c (setjmp_alias_set): Change to alias_set_type.
      	* dse.c (struct store_info): Use alias_set_type.
      	(struct read_info, struct clear_alias_mode_holder): Likewise.
      	(clear_alias_set_lookup, canon_address): Likewise.
      	(record_store, check_mem_read_rtx): Likewise.
      	(dse_record_singleton_alias_set): Likewise.
      	(dse_invalidate_singleton_alias_set): Likewise.
      	* emit-rtl.c (get_mem_attrs): Likewise.
      	(set_mem_attributes_minus_bitpos): Likewise.
      	(set_mem_alias_set): Likewise.
      	* expr.c (store_constructor_field, store_field): Likewise.
      	* gimplify.c (struct gimplify_init_ctor_preeval_data): Likewise.
      	* langhooks.c (lhd_get_alias_set): Likewise.
      	* langhooks-def.h (lhd_get_alias_set): Likewise.
      	* reload1.c (alter_reg): Likewise.
      	* tree-flow.h (struct fieldoff): Likewise.
      	* tree-ssa-alias.c (struct alias_map_d): Likewise.
      	(may_alias_p, get_smt_for, create_sft): Likewise.
      	* tree-ssa-alias-warnings.c (nonstandard_alias_types_p): Likewise.
      	* tree-ssa-structalias.c (set_uids_in_ptset): Likewise.
      	(merge_smts_into): Likewise.
      	* varasm.c (const_alias_set): Likewise.
      	* c-common.c (strict_aliasing_warning): Likewise.
      	(c_common_get_alias_set): Likewise.
      	* dse.h (dse_record_singleton_alias_set): Update declaration.
      	(dse_invalidate_singleton_alias_set): Likewise.
      	* emit-rtl.h (set_mem_alias_set): Likewise.
      	* c-common.h (c_common_get_alias_set): Likewise.
      	* print-rtl.c (print_rtx): Cast MEM_ALIAS_SET when printing it.
      	* print-tree.c (print_node): Likewise.
      	* config/alpha/alpha.c (alpha_sr_alias_set): Change to
      	alias_set_type.
      	(alpha_setup_incoming_varargs): Use alias_set_type.
      	* config/i386/i386.c (setup_incoming_varargs_64): Use
      	alias_set_type.
      	(setup_incoming_varargs_ms_64): Likewise.
      	(ix86_GOT_alias_set): Likewise.
      	* config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
      	* config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
      	(set): Change to alias_set_type.
      	(get_TOC_alias_set): Use alias_set_type.
      	* config/rs6000/rs6000-protos.h (get_TOC_alias_set): Update
      	declaration.
      	* config/sh/sh.c (sh_builtin_saveregs): Use alias_set_type.
      	* config/sparc/sparc.c (sparc_sr_alias_set): Change to
      	alias_set_type.
      	(struct_value_alias_set): Likewise.
      	* Makefile.in (GTFILES): Add $(srcdir)/alias.h.
      ada/:
      	* misc.c (gnat_get_alias_set): Change return type to
      	alias_set_type.
      cp/:
      	* cp-objcp-common.c (cxx_get_alias_set): Change return type to
      	alias_set_type.
      	* cp/cp-tree.h (cxx_get_alias_set): Update declaration.
      fortran:/
      	* f95-lang.c (gfc_get_alias_set): Change return type to
      	alias_set_type.
      
      From-SVN: r127362
      Ian Lance Taylor committed
  10. 30 Jul, 2007 2 commits
    • alias.c (record_set, [...]): Constify. · 7bc980e1
      	* alias.c (record_set, memory_modified_1): Constify.
      	* bt-load.c (note_btr_set): Likewise.
      	* caller-save.c (mark_set_regs, add_stored_regs): Likewise.
      	* combine.c (set_nonzero_bits_and_sign_copies,
      	expand_field_assignment, record_dead_and_set_regs_1,
      	use_crosses_set_p, reg_dead_at_p_1, can_combine_p,
      	likely_spilled_retval_1): Likewise.
      	* config/frv/frv.c (frv_registers_update_1, frv_io_check_address,
      	frv_io_handle_set): Likewise.
      	* config/mips/mips.c (mips_sim_record_set,
      	vr4130_true_reg_dependence_p_1): Likewise.
      	* config/mt/mt.c (insn_dependent_p_1): Likewise.
      	* config/s390/s390.c (s390_reg_clobbered_rtx): Likewise.
      	* config/sh/sh.c (flow_dependent_p_1): Likewise.
      	* cselib.c (cselib_invalidate_rtx_note_stores): Likewise.
      	* dce.c (mark_nonreg_stores_1, mark_nonreg_stores_2): Likewise.
      	* ddg.c (mark_mem_store): Likewise.
      	* df-problems.c (df_urec_mark_reg_change): Likewise.
      	* function.c (update_epilogue_consts): Likewise.
      	* gcse.c (record_set_info, record_last_set_info,
      	mems_conflict_for_gcse_p, canon_list_insert, reg_set_info,
      	reg_clear_last_set): Likewise.
      	* global.c (mark_reg_store, mark_reg_clobber, reg_becomes_live):
      	Likewise.
      	* jump.c (reversed_comparison_code_parts): Likewise.
      	* local-alloc.c (validate_equiv_mem_from_store, no_equiv,
      	reg_is_set): Likewise.
      	* loop-iv.c (mark_altered): Likewise.
      	* mode-switching.c (reg_becomes_live): Likewise.
      	* optabs.c (no_conflict_move_test): Likewise.
      	* postreload-gcse.c (record_last_set_info, find_mem_conflicts):
      	Likewise.
      	* postreload.c (reload_combine_note_store, move2add_note_store):
      	Likewise.
      	* regmove.c (flags_set_1): Likewise.
      	* regrename.c (note_sets, kill_clobbered_value, kill_set_value):
      	Likewise.
      	* reload1.c (mark_not_eliminable, forget_old_reloads_1):
      	Likewise. 
      	* resource.c (update_live_status): Likewise.
      	* rtl.h (set_of, note_stores): Likewise.
      	* rtlanal.c (set_of_1, parms_set, struct set_of_data, set_of,
      	note_stores, parms_set): Likewise.
      	* sched-rgn.c (sets_likely_spilled_1): Likewise.
      	* stack-ptr-mod.c (notice_stack_pointer_modification_1):
      	Likewise. 
      	* var-tracking.c (count_stores, add_stores): Likewise.
      
      From-SVN: r127065
      Kaveh R. Ghazi committed
    • alias.c (mems_in_disjoint_alias_sets_p, [...]): Constify. · 4f588890
      	* alias.c (mems_in_disjoint_alias_sets_p,
      	fixed_scalar_and_varying_struct_p, aliases_everything_p,
      	nonoverlapping_component_refs_p, nonoverlapping_memrefs_p,
      	write_dependence_p, mems_in_disjoint_alias_sets_p,
      	read_dependence, true_dependence, canon_true_dependence,
      	anti_dependence, output_dependence): Constify.
      	* combine.c (extended_count): Likewise.
      	* cse.c (cse_rtx_varies_p, hash_rtx, exp_equiv_p): Likewise.
      	* cselib.c (get_value_hash, references_value_p,
      	cselib_reg_set_mode, cselib_rtx_varies_p): Likewise.
      	* cselib.h (cselib_reg_set_mode, references_value_p): Likewise.
      	* emit-rtl.c (mem_expr_equal_p, active_insn_p): Likewise.
      	* function.c (contains, prologue_epilogue_contains,
      	sibcall_epilogue_contains): Likewise. 
      	* jump.c (simplejump_p, condjump_p, condjump_in_parallel_p,
      	pc_set, any_uncondjump_p, any_condjump_p, onlyjump_p,
      	only_sets_cc0_p, sets_cc0_p, rtx_renumbered_equal_p, true_regnum,
      	reg_or_subregno): Likewise.
      	* recog.c (asm_noperands): Likewise.
      	* reload1.c (function_invariant_p): Likewise.
      	* rtl.h (mem_expr_equal_p, active_insn_p, rtx_varies_p,
      	rtx_addr_varies_p, asm_noperands, exp_equiv_p, hash_rtx,
      	condjump_p, any_condjump_p, any_uncondjump_p, pc_set,
      	simplejump_p, onlyjump_p, only_sets_cc0_p, sets_cc0_p,
      	true_regnum, reg_or_subregno, condjump_in_parallel_p,
      	extended_count, prologue_epilogue_contains,
      	sibcall_epilogue_contains, function_invariant_p, true_dependence,
      	canon_true_dependence, read_dependence, anti_dependence,
      	output_dependence): Likewise.
      	* rtlanal.c (rtx_varies_p, rtx_addr_varies_p): Likewise.
      
      java:
      	* jcf-io.c (find_class): Fix -Wcast-qual warnings.
      
      From-SVN: r127063
      Kaveh R. Ghazi committed
  11. 26 Jul, 2007 1 commit
  12. 05 Jul, 2007 1 commit
  13. 02 Jul, 2007 1 commit
  14. 20 Jun, 2007 1 commit
    • re PR tree-optimization/25737 (ACATS c974001 c974013 hang with struct aliasing) · 3d9b47dc
      	PR tree-optimization/25737
      	* tree.h (struct tree_struct_field_tag): Add new field alias_set.
      	(SFT_NONADDRESSABLE_P, SFT_ALIAS_SET): New macros.
      	* tree-flow.h (struct fieldoff): Add new field alias_set.
      	* tree-ssa-structalias.c (push_fields_onto_fieldstack): Add new
      	argument addressable_type.  Set alias_set of fieldoff.
      	* tree-ssa-alias.c (create_sft): Add new argument alias_set.
      	(create_overlap_variables_for): Pass alias_set from fieldoff to
      	create_sft.
      	* alias.c (get_alias_set): Use alias_set from SFT if set.
      
      From-SVN: r125890
      Adam Nemet committed
  15. 11 Jun, 2007 1 commit
  16. 21 May, 2007 1 commit
    • gengtype.c (adjust_field_rtx_def): Use NOTE_KIND instead of NOTE_LINE_NUMBER... · a38e7aa5
      	* gengtype.c (adjust_field_rtx_def): Use NOTE_KIND instead of
      	NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
      	* ddg.c (create_ddg): LIkewise.
      	* final.c (final): Remove hunk moving line numbernotes around since
      	they are no longer present at this stage.
      	(final_scan_insn): Use NOTE_KIND instead of
      	NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
      	(output_asm_label): Likewise.
      	* reorg.c (dbr_schedule): Likewise.
      	* haifa-sched.c (unlink_other_notes): Likewise.
      	* mode-switching.c (optimize_mode_switching): Likewise.
      	* graph.c (start_bb): Likewise.
      	* rtl.def (NOTE): Update description.
      	* jump.c (squeeze_notes): Delete.
      	(mark_jump_label): Use NOTE_KIND instead of NOTE_LINE_NUMBER; use
      	NOTE_INSN_BASIC_BLOCK_P when possible.
      	* ifcvt.c (dead_or_predicable): Remove call of squeeze_notes.
      	* dwarf2out.c (gen_label_die): Use NOTE_KIND instead of
              NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
      	(dwarf2out_var_location): Likewise.
      	* cfgbuild.c (make_edges): Likewise.
      	(find_basic_blocks_1): Likewise.
      	* function.c (reorder_blocks_1): Likewise.
      	(epilogue_done): Likewise.
      	(reposition_prologue_and_epilogue_notes): Likewise.
      	* print-rtl.c (print_rtx): Likewise; drop code for printing line number
      	notes.
      	(print_rtl): Likewise.
      	(print_rtl_single): Likewise.
      	* gcse.c (insert_insn_start_bb): Likewise.
      	* alias.c (init_alias_analysis): Likewise.
      	* calls.c (fixup_tail_calls): Likewise.
      	* except.c (sjlj_emit_function_enter): Likewise.
      	* emit-rtl.c (add_insn_after): Likeiwse.
      	(emit_label_before): Likewise.
      	(emit_label_after): Likewise.
      	(emit_note_before, emit_note_after, emit_note): Update
      	parameter to be enum insn_note; do not deal with source
      	files.
      	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps):
      	Use NOTE_KIND instead of NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P
      	when possible.
      	(merge_blocks_move_successor_nojumps): Simplify now when
      	we don't have BLOCK notes.
      	(try_optimize_cfg): Likewise.
      	* cfglayout.c (skip_insns_after_block): Likewise.
      	(record_effective_endpoints): Likewise.
      	(duplicate_insn_chain): Likewise.
      	* varasm.c (output_constant_pool_1): Likewise.
      	* sched-deps.c (sched_analyze): Likewise.
      	* rtl.c (NOTE_INSN_MAX_isnt_negative_adjust_NOTE_INSN_BIAS):
      	Exterminate.
      	(note_insn_name): Simplify now when NOTE_INSN_BIAS is gone.
      	* rtl.h (NOTE_SOURCE_LOCATION, NOTE_EXPANDED_LOCATION): Exterminate.
      	(SET_INSN_DELETED): Simplify.
      	(NOTE_LINE_NUMBER): Exterminate.
      	(NOTE_LINE_KIND): New.
      	(NOTE_INSN_BASIC_BLOCK_P): Update.
      	(enum insn_note): Simplify.
      	(GET_NOTE_INSN_NAME) Simplify.
      	(emit_note_before, emit_note_after, emit_note): Update prototype.
      	(squeeze_notes): Remove.
      	* sched-int.h (NOTE_NOT_BB_P): Update.
      	* resource.c (mark_target_live_regs): Update.
      	* sched-rgn.c (debug_dependencies): Update.
      	* sched-vis.c (print_insn): Update.
      	* config/alpha/alpha.c (alpha_handle_trap_shadows): Update.
      	* config/i386/i386.c (ix86_output_function_epilogue): Update.
      	* config/sh/sh.c (sh_adjust_unroll_max): Function dead since gcc 4.0.0.
      	(TARGET_ADJUST_UNROLL_MAX): Likewise.
      	(split_branches): Update.
      	(sh_optimize_target_register_callee_saved): Remove hunk dead since gcc
      	4.0.0.
      	(sh_adjust_unroll_max): Exterminate.
      	* config/c4x/c4x.c (c4x_reorg): Use SET_INSN_DELETED.
      	* config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Likewise.
      	(m68hc11_reorg): Likewise.
      	* config/ia64/ia64.c (emit_insn_group_barriers): Update.
      	(emit_predicate_relation_info): Update.
      	(process_for_unwind_directive): Update.
      	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Update.
      	(output_call): Update.
      	* config/pa/pa.c (output_lbranch): Update.
      	(output_millicode_call): Update.
      	(output_call): Update.
      	(pa_combine_instructions): Update.
      	* config/mips/mips.c (mips16_gp_pseudo_reg): Update.
      	* config/bfin/bfin.c (gen_one_bundle): Update.
      	* cfgrtl.c (can_delete_note_p): Update.
      	(delete_insn): Update.
      	(rtl_merge_blocks): Update.
      	(commit_one_edge_insertion): Update.
      	(rtl_verify_flow_info): Update.
      	* stmt.c (expand_case): Do not call squeeze_notes.
      
      From-SVN: r124895
      Jan Hubicka committed
  17. 13 Feb, 2007 1 commit
  18. 11 Feb, 2007 1 commit
    • fwprop.c (try_fwprop_subst): Use set_unique_reg_note to add the REG_EQ* note. · a31830a7
      	* fwprop.c (try_fwprop_subst): Use set_unique_reg_note
      	to add the REG_EQ* note.
      	* see.c (see_merge_one_use_extension): Likewise.
      	* local-alloc.c (update_equiv_regs): Likewise.  Also don't
      	turn REG_EQUAL notes into REG_EQUIV notes if the target
      	register may have more than one set.
      	* function.c (assign_parm_setup_reg): Use set_unique_reg_note.
      	* gcse.c (try_replace_reg): Likewise.
      	* alias.c (init_alias_analysis): Use find_reg_equal_equiv_note.
      	* calls.c (fixup_tail_calls): Likewise.  Abort if there is
      	more than one REG_EQUIV note.
      	* reload1.c (gen_reload): Use set_unique_reg_note.
      
      From-SVN: r121821
      Steven Bosscher committed
  19. 01 Feb, 2007 1 commit
    • alias.c (init_alias_analysis): Correct whitespace. · 62e5bf5d
      	* alias.c (init_alias_analysis): Correct whitespace.
      	* bb-reorder.c (fix_edges_for_rarely_executed_code,
      	partition_hot_cold_basic_blocks): Likewise.
      	* builtins.c (expand_builtin_printf, expand_builtin_fprintf,
      	expand_builtin_sprintf, fold_builtin_carg, fold_builtin_sprintf,
      	maybe_emit_sprintf_chk_warning, fold_builtin_sprintf_chk,
      	fold_builtin_snprintf_chk, fold_builtin_printf,
      	fold_builtin_fprintf, do_mpfr_ckconv, do_mpfr_arg1, do_mpfr_arg2,
      	do_mpfr_arg3, do_mpfr_sincos): Likewise.
      	* cfgcleanup.c (cleanup_cfg): Likewise.
      	* cfgexpand.c (tree_expand_cfg): Likewise.
      	* fold-const.c (fold_binary) <RDIV_EXPR>: Likewise.
      	* function.c (get_next_funcdef_no): Likewise.
      	* gengtype.c (main): Likewise.
      	* genmodes.c (main): Likewise.
      	* gcse.c (bypass_conditional_jumps, print_ldst_list): Likewise.
      	* haifa-sched.c (schedule_block, extend_h_i_d): Likewise.
      	* ifcvt.c (noce_emit_move_insn): Likewise.
      	* modulo-sched.c (generate_prolog_epilog, sms_schedule_by_order):
      	Likewise.
      	* stor-layout.c (get_best_mode): Likewise.
      	* tree-ssa-loop-niter.c (get_val_for): Likewise.
      	* tree-ssa-structalias.c (get_varinfo, get_varinfo_fc,
      	scc_visit, do_ds_constraint, do_complex_constraint, label_visit,
      	perform_var_substitution, solve_graph): Likewise.
      	* tree-vrp.c (vrp_finalize): Likewise.
      
      From-SVN: r121470
      Roger Sayle committed
  20. 03 Jan, 2007 1 commit
    • alias.c (init_alias_analysis): Use VEC_safe_grow_cleared. · a590ac65
      	* alias.c (init_alias_analysis): Use VEC_safe_grow_cleared.
      	* cfgbuild.c (find_basic_blocks): Likewise.
      	* cfgrtl.c (rtl_create_basic_block): Likewise.
      	* function.c (temp_slots_at_level): Likewise.
      	* reg-stack.c (stack_regs_mentioned): Likewise.
      	* regclass.c (allocate_reg_info): Likewise.
      	* tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb,
      	set_bb_for_stmt, move_block_to_fn): Likewise.
      	* tree-complex.c (tree_lower_complex): Likewise.
      	* vec.h (VEC_safe_grow_cleared): New.
      
      From-SVN: r120386
      Kazu Hirata committed
  21. 02 Jan, 2007 2 commits
    • Revert: · 61465e75
      	2007-01-02  Kazu Hirata  <kazu@codesourcery.com>
      
      	* alias.c (init_alias_analysis): Use VEC_safe_grow_cleared.
      	* cfgbuild.c (find_basic_blocks): Likewise.
      	* cfgrtl.c (rtl_create_basic_block): Likewise.
      	* function.c (temp_slots_at_level): Likewise.
      	* reg-stack.c (stack_regs_mentioned): Likewise.
      	* regclass.c (allocate_reg_info): Likewise.
      	* tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb,
      	set_bb_for_stmt, move_block_to_fn): Likewise.
      	* tree-complex.c (tree_lower_complex): Likewise.
      	* vec.h (VEC_safe_grow_cleared): New.
      
      From-SVN: r120351
      Kazu Hirata committed
    • alias.c (init_alias_analysis): Use VEC_safe_grow_cleared. · d887a682
      	* alias.c (init_alias_analysis): Use VEC_safe_grow_cleared.
      	* cfgbuild.c (find_basic_blocks): Likewise.
      	* cfgrtl.c (rtl_create_basic_block): Likewise.
      	* function.c (temp_slots_at_level): Likewise.
      	* reg-stack.c (stack_regs_mentioned): Likewise.
      	* regclass.c (allocate_reg_info): Likewise.
      	* tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb,
      	set_bb_for_stmt, move_block_to_fn): Likewise.
      	* tree-complex.c (tree_lower_complex): Likewise.
      	* vec.h (VEC_safe_grow_cleared): New.
      
      From-SVN: r120345
      Kazu Hirata committed
  22. 04 Dec, 2006 1 commit
    • tree-ssa-alias.c (compute_may_aliases): Compute flow sensitive before flow insensitive. · c58936b6
      2006-12-04  Daniel Berlin  <dberlin@dberlin.org>
      	
      	* tree-ssa-alias.c (compute_may_aliases):
      	Compute flow sensitive before flow insensitive.
      	(compute_flow_sensitive_aliasing): Don't try to add
      	a symbol memory tag to itself.
      	
      	* alias.h (alias_set_subset_of): New prototype.
      
      	* alias.c (alias_set_subset_of): New function.
      
      	* tree-ssa-structalias.c: Update comments.
      	(struct variable_info): Add finished_solution.
      	(new_varinfo): Set finished solution to NULL.
      	(var_escaped_vars): Remove.
      	(escaped_vars_tree): Remove.
      	(escaped_vars_id): Remove.
      	(nonlocal_vars_id): Remove.
      	(constraint_expr_type): Add INCLUDES.
      	(graph_size): Removed.
      	(dump_constraint): Support INCLUDES.
      	(build_constraint_graph): Ditto.
      	(collapse_nodes): Add merge_solutions argument.
      	Don't merge attributes.
      	(process_unification_queue): Just use collapse_nodes.
      	(perform_var_substitution): Update call to collapse_nodes.
      	(get_constraint_exp_from_ssa_var): Use INCLUDES.
      	(process_constraint): Fix non-field sensitive handling
      	Handle includes.
      	(get_constraint_for): Use INCLUDES.
      	(make_constraint_from_anything): Renamed from
      	make_constraint_from_escaped.
      	(make_constraint_to_escaped): Removed.
      	(find_global_initializers): Removed.
      	(create_variable_info_for): Do not make constraints to escaped
      	vars anymore.
      	(dump_solution_for_var): Don't print out the equivalent points-to
      	sets, just use the name of the variable it shares it with.
      	(intra_create_variable_infos): Use INCLUDES.
      	Change nonlocal variable sets to anything sets.
      	(init_base_vars): Remove escaped_vars and nonlocal_var
      	initialization. 
      	(find_escape_constraints): Removed.
      	(delete_points_to_sets): Remove dead code.
      	(used_smt_calculated): New variable.
      	(set_used_smts): New function.
      	(merge_smts_into): New function.
      	(find_what_p_points_to): Modify to use SMTs.
      	(create_nonlocal_var): Remove.
      	
      	* tree-ssa-operands.c (access_can_touch_variable): Remove
      	reference to nonlocal_all. 
      
      	* tree-ssa.c (verify_name_tags): Remove.
      
      From-SVN: r119502
      Daniel Berlin committed
  23. 30 Nov, 2006 1 commit
  24. 27 Nov, 2006 1 commit
  25. 12 Nov, 2006 1 commit
    • re PR rtl-optimization/28812 (RTL aliasing vs may_alias and structs) · afa8f0fb
      2006-11-11  Andrew Pinski  <andrew_pinski@playstation.sony.com>
      
              PR rtl-opt/28812
              * alias.c (fixed_scalar_and_varying_struct_p): Don't return a
              non null value if the struct memory access is in the 0th
              aliasing set.
      
      2006-11-11  Andrew Pinski  <andrew_pinski@playstation.sony.com>
      
              PR rtl-opt/28812
              * gcc.c-torture/execute/mayalias-3.c: New test.
      
      From-SVN: r118716
      Andrew Pinski committed
  26. 18 May, 2006 1 commit
  27. 17 Apr, 2006 2 commits
  28. 14 Mar, 2006 1 commit
  29. 02 Mar, 2006 1 commit
    • tree-vrp.c (execute_vrp): Return value. · c2924966
      2006-03-02  Daniel Berlin <dberlin@dberlin.org>
      
      	* gcc/tree-vrp.c (execute_vrp): Return value.
      	* gcc/regrename.c (rest_of_handle_regrename): Ditto.
      	* gcc/tree-into-ssa.c (rewrite_into_ssa): Ditto.
      	* gcc/tree-complex.c (tree_lower_complex): Ditto.
      	(tree_lower_complex_O0): Ditto.
      	* gcc/tracer.c (rest_of_handle_tracer): Ditto.
      	* gcc/postreload-gcse.c (rest_of_handle_gcse2): Ditto.
      	* gcc/postreload.c (rest_of_handle_postreload): Ditto.
      	* gcc/tree-tailcall.c (execute_tail_recursion): Ditto.
      	(execute_tail_calls): Ditto.
      	* gcc/tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
      	* gcc/tree.h (init_function_for_compilation): Ditto.
      	* gcc/ipa-cp.c (ipcp_driver): Ditto.
      	* gcc/tree-scalar-evolution.c (scev_const_prop): Ditto.
      	* gcc/tree-scalar-evolution.h (scev_const_prop): Ditto.
      	* gcc/final.c (compute_alignments): Ditto.
      	(rest_of_handle_final): Ditto.
      	(rest_of_handle_shorten_branches): Ditto.
      	(rest_of_clean_state): Ditto.
      	* gcc/omp-low.c (execute_expand_omp): Ditto.
      	(execute_lower_omp): Ditto.
      	* gcc/tree-ssa-dse.c (tree_ssa_dse): Ditto.
      	* gcc/ipa-reference.c (static_execute): Ditto.
      	* gcc/tree-ssa-uncprop.c (tree_ssa_uncprop): Ditto.
      	* gcc/reorg.c (rest_of_handle_delay_slots): Ditto.
      	(rest_of_handle_machine_reorg): Ditto.
      	* gcc/cgraphunit.c (rebuild_cgraph_edges): Ditto.
      	* gcc/flow.c (recompute_reg_usage): Ditto.
      	(rest_of_handle_remove_death_notes): Ditto.
      	(rest_of_handle_life): Ditto.
      	(rest_of_handle_flow2): Ditto.
      	* gcc/tree-ssa-copyrename.c (rename_ssa_copies): Ditto.
      	* gcc/tree-ssa-ccp.c (do_ssa_ccp): Ditto.
      	(do_ssa_store_ccp): Ditto.
      	(execute_fold_all_builtins): Ditto.
      	* gcc/mode-switching.c (rest_of_handle_mode_switching): Ditto.
      	* gcc/modulo-sched.c (rest_of_handle_sms): Ditto.
      	* gcc/ipa-pure-const.c (static_execute): Ditto.
      	* gcc/cse.c (rest_of_handle_cse): Ditto.
      	(rest_of_handle_cse2): Ditto.
      	* gcc/web.c (rest_of_handle_web): Ditto.
      	* gcc/tree-stdarg.c (execute_optimize_stdarg): Ditto.
      	* gcc/tree-ssa-math-opts.c (execute_cse_reciprocals): Ditto.
      	* gcc/tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto.
      	* gcc/tree-nrv.c (tree_nrv): Ditto.
      	(execute_return_slot_opt): Ditto.
      	* gcc/tree-ssa-alias.c (compute_may_aliases): Ditto.
      	(create_structure_vars): Ditto.
      	* gcc/loop-init.c (rtl_loop_init): Ditto.
      	(rtl_loop_done): Ditto.
      	(rtl_move_loop_invariants): Ditto.
      	(rtl_unswitch): Ditto.
      	(rtl_unroll_and_peel_loops): Ditto.
      	(rtl_doloop): Ditto.
      	* gcc/gimple-low.c (lower_function_body): Ditto.
      	(mark_used_blocks): Ditto.
      	* gcc/tree-ssa-sink.c (execute_sink_code): Ditto.
      	* gcc/ipa-inline.c (cgraph_decide_inlining): Ditto.
      	(cgraph_early_inlining): Ditto.
      	* gcc/global.c (rest_of_handle_global_alloc): Ditto.
      	* gcc/jump.c (cleanup_barriers): Ditto.
      	(purge_line_number_notes): Ditto.
      	* gcc/ifcvt.c (rest_of_handle_if_conversion): Ditto.
      	(rest_of_handle_if_after_reload): Ditto.
      	* gcc/tree-ssa-loop.c (tree_ssa_loop_init): Ditto.
      	(tree_ssa_loop_im): Ditto.
      	(tree_ssa_loop_unswitch): Ditto.
      	(tree_vectorize): Ditto.
      	(tree_linear_transform): Ditto.
      	(tree_ssa_loop_ivcanon): Ditto.
      	(tree_ssa_empty_loop): Ditto.
      	(tree_ssa_loop_bounds): Ditto.
      	(tree_complete_unroll): Ditto.
      	(tree_ssa_loop_prefetch): Ditto.
      	(tree_ssa_loop_ivopts): Ditto.
      	(tree_ssa_loop_done): Ditto.
      	* gcc/predict.c (tree_estimate_probability): Ditto.
      	* gcc/recog.c (split_all_insns_noflow): Ditto.
      	(rest_of_handle_peephole2): Ditto.
      	(rest_of_handle_split_all_insns): Ditto.
      	* gcc/tree-eh.c (lower_eh_constructs): Ditto.
      	* gcc/regmove.c (rest_of_handle_regmove): Ditto.
      	(rest_of_handle_stack_adjustments): Ditto.
      	* gcc/local-alloc.c (rest_of_handle_local_alloc): Ditto.
      	* gcc/function.c (instantiate_virtual_regs): Ditto.
      	(init_function_for_compilation): Ditto.
      	(rest_of_handle_check_leaf_regs): Ditto.
      	* gcc/gcse.c (rest_of_handle_jump_bypass): Ditto.
      	(rest_of_handle_gcse): Ditto.
      	* gcc/ipa-type-escape.c (type_escape_execute): Ditto.
      	* gcc/alias.c (rest_of_handle_cfg): Ditto.
      	* gcc/tree-if-conv.c (main_tree_if_conversion): Ditto.
      	* gcc/profile.c (rest_of_handle_branch_prob): Ditto.
      	* gcc/tree-ssa-phiopt.c (tree_ssa_phiopt): Ditto.
      	* gcc/rtl-factoring.c (rest_of_rtl_seqabstr): Ditto.
      	* gcc/bt-load.c (rest_of_handle_branch_target_load_optimize): Ditto
      	* gcc/tree-dfa.c (find_referenced_vars): Ditto.
      	* gcc/except.c (set_nothrow_function_flags): Ditto.
      	(convert_to_eh_region_ranges): Ditto.
      	(rest_of_handle_eh): Ditto.
      	* gcc/emit-rtl.c (unshare_all_rtl): Ditto.
      	(remove_unnecessary_notes): Ditto.
      	* gcc/except.h (set_nothrow_function_flags): Ditto.
      	(convert_to_eh_region_ranges): Ditto.
      	* gcc/cfgexpand.c (tree_expand_cfg): Ditto.
      	* gcc/tree-cfgcleanup.c (merge_phi_nodes): Ditto.
      	* gcc/tree-ssa-pre.c (do_pre): Ditto.
      	(execute_fre): Ditto.
      	* gcc/cfgcleanup.c (rest_of_handle_jump): Ditto.
      	(rest_of_handle_jump2): Ditto.
      	* gcc/tree-sra.c (tree_sra): Ditto.
      	* gcc/tree-mudflap.c (execute_mudflap_function_ops): Ditto.
      	(execute_mudflap_function_decls): Ditto.
      	* gcc/tree-ssa-copy.c (do_copy_prop): Ditto.
      	(do_store_copy_prop): Ditto.
      	* gcc/ipa-prop.h (ipcp_driver): Ditto.
      	* gcc/cfglayout.c (insn_locators_initialize): Ditto.
      	* gcc/tree-ssa-forwprop.c
      	(tree_ssa_forward_propagate_single_use_vars): Ditto.
      	* gcc/cfglayout.h (insn_locators_initialize): Ditto.
      	* gcc/tree-ssa-dce.c (tree_ssa_dce): Ditto.
      	* gcc/tree-ssa.c (execute_early_warn_uninitialized): Ditto.
      	(execute_late_warn_uninitialized): Ditto.
      	* gcc/rtl.h (cleanup_barriers): Ditto.
      	(split_all_insns_noflow): Ditto.
      	(purge_line_number_notes): Ditto.
      	(unshare_all_rtl): Ditto.
      	(remove_unnecessary_notes): Ditto.
      	(recompute_reg_usage): Ditto.
      	(variable_tracking_main): Ditto.
      	* gcc/integrate.c (emit_initial_value_sets): Ditto.
      	* gcc/integrate.h (emit_initial_value_sets): Ditto.
      	* gcc/tree-optimize.c (execute_free_datastructures): Ditto
      	(execute_free_cfg_annotations): Ditto.
      	(execute_fixup_cfg): Ditto.
      	(execute_cleanup_cfg_pre_ipa): Ditto.
      	(execute_cleanup_cfg_post_optimizing): Ditto.
      	(execute_init_datastructures): Ditto.
      	* gcc/tree-object-size.c (compute_object_sizes): Ditto.
      	* gcc/combine.c (rest_of_handle_combine): Ditto.
      	* gcc/tree-outof-ssa.c (rewrite_out_of_ssa): Ditto.
      	* gcc/bb-reorder.c (duplicate_computed_gotos): Ditto.
      	(rest_of_handle_reorder_blocks): Ditto.
      	(rest_of_handle_partition_blocks): Ditto.
      	* gcc/var-tracking.c (variable_tracking_main): Ditto.
      	* gcc/tree-profile.c (tree_profiling): Ditto.
      	* gcc/tree-vect-generic.c (expand_vector_operations): Ditto.
      	* gcc/reg-stack.c (rest_of_handle_stack_regs): Ditto.
      	* gcc/sched-rgn.c (rest_of_handle_sched): Ditto.
      	(rest_of_handle_sched2): Ditto.
      	* gcc/basic-block.h (free_bb_insn): Ditto.
      	* gcc/tree-ssa-structalias.c (ipa_pta_execute): Ditto.
      	* gcc/tree-cfg.c (execute_build_cfg): Ditto.
      	(remove_useless_stmts): Ditto.
      	(split_critical_edges): Ditto.
      	(execute_warn_function_return): Ditto.
      	(execute_warn_function_noreturn): Ditto.
      	* gcc/tree-ssa-reassoc.c (execute_reassoc): Ditto.
      	* gcc/cfgrtl.c (free_bb_for_insn): Ditto.
      	* gcc/passes.c (execute_one_pass): Run additional
      	todos returned by execute function.
      	* gcc/tree-pass.h (struct tree_opt_pass): Make execute
      	return a value.
      
      From-SVN: r111643
      Daniel Berlin committed
  30. 28 Feb, 2006 1 commit
  31. 15 Feb, 2006 1 commit
    • cfg.c (dump_flow_info): Get dump flags as an additional parameter. · 5b4fdb20
      2006-02-15  Paolo Bonzini  <bonzini@gnu.org>
      
      	* cfg.c (dump_flow_info): Get dump flags as an additional parameter.
      	(debug_flow_info): Pass it.
      	* alias.c (rest_of_handle_cfg): Adjust calls to dump_flow_info.
      	* bb-reorder.c (reorder_basic_blocks): Likewise.
      	* cfgcleanup.c (rest_of_handle_jump2): Likewise.
      	* cse.c (rest_of_handle_cse, rest_of_handle_cse2): Likewise.
      	* flow.c (life_analysis, recompute_reg_usage): Likewise.
      	* gcse.c (gcse_main, bypass_jumps): Likewise.
      	* ifcvt.c (rest_of_handle_if_conversion): Likewise.
      	* local-alloc.c (rest_of_handle_local_alloc): Likewise.
      	* loop-init.c (rtl_loop_init, rtl_loop_done): Likewise.
      	* profile.c (compute_branch_probabilities, branch_prob): Likewise.
      	* rtl.h (dump_flow_info): Adjust prototype.
      	* tracer.c (rest_of_handle_tracer, tracer): Likewise.
      	* var-tracking.c (variable_tracking_main): Likewise.
      	* passes.c (execute_todo): Obey TDF_BLOCKS for RTL.
      	* tree-dump.c (enable_rtl_dump_file): Enable the details and blocks
      	options.
      
      From-SVN: r111020
      Paolo Bonzini committed
  32. 31 Jan, 2006 1 commit
    • tree-vrp.c: Use XNEW/XCNEW allocation wrappers. · 5ed6ace5
      2006-01-31  Marcin Dalecki  <martin@dalecki.de>
      
      	* tree-vrp.c: Use XNEW/XCNEW allocation wrappers.
      	* regrename.c: Ditto.
      	* tree-ssa-loop-im.c: Ditto.
      	* tree-dump.c: Ditto.
      	* tree-complex.c: Ditto.
      	* genrecog.c: Ditto.
      	* tree-ssa-threadupdate.c: Ditto.
      	* tracer.c: Ditto.
      	* java/class.c: Ditto.
      	* java/jcf-parse.c: Ditto.
      	* java/resource.c: Ditto.
      	* java/except.c: Ditto.
      	* java/jvspec.c: Ditto.
      	* java/jcf-write.c: Ditto.
      	* java/jcf-path.c: Ditto.
      	* java/gjavah.c: Ditto.
      	* java/zextract.c: Ditto.
      	* java/jcf-io.c: Ditto.
      	* java/jcf.h: Ditto.
      	* java/buffer.c: Ditto.
      	* java/lang.c: Ditto.
      	* java/parse-scan.y: Ditto.
      	* java/lex.c: Ditto.
      	* java/lex.h: Ditto.
      	* cfgloopmanip.c: Ditto.
      	* postreload-gcse.c: Ditto.
      	* tree-ssa-loop-manip.c: Ditto.
      	* postreload.c: Ditto.
      	* tree-ssa-loop-ch.c: Ditto.
      	* loop.c: Ditto.
      	* ipa-cp.c: Ditto.
      	* cppspec.c: Ditto.
      	* diagnostic.c: Ditto.
      	* final.c: Ditto.
      	* genoutput.c: Ditto.
      	* gcc.c: Ditto.
      	* cfghooks.c: Ditto.
      	* cfgloopanal.c: Ditto.
      	* objc/objc-act.c: Ditto.
      	* gcov.c: Ditto.
      	* genextract.c: Ditto.
      	* genautomata.c: Ditto.
      	* pretty-print.c: Ditto.
      	* genemit.c: Ditto.
      	* cgraphunit.c: Ditto.
      	* flow.c: Ditto.
      	* df-scan.c: Ditto.
      	* haifa-sched.c: Ditto.
      	* dominance.c: Ditto.
      	* dbxout.c: Ditto.
      	* tree-ssa-loop-ivopts.c: Ditto.
      	* df-core.c: Ditto.
      	* mode-switching.c: Ditto.
      	* modulo-sched.c: Ditto.
      	* graph.c: Ditto.
      	* ipa-pure-const.c: Ditto.
      	* cse.c: Ditto.
      	* fix-header.c: Ditto.
      	* web.c: Ditto.
      	* tree-stdarg.c: Ditto.
      	* ipa-utils.c: Ditto.
      	* loop-init.c: Ditto.
      	* ipa-inline.c: Ditto.
      	* cfganal.c: Ditto.
      	* global.c: Ditto.
      	* alloc-pool.c: Ditto.
      	* dwarf2out.c: Ditto.
      	* opts.c: Ditto.
      	* genattrtab.c: Ditto.
      	* tree-ssa-loop-ivcanon.c: Ditto.
      	* predict.c: Ditto.
      	* timevar.c: Ditto.
      	* lcm.c: Ditto.
      	* fortran/gfortranspec.c: Ditto.
      	* regmove.c: Ditto.
      	* local-alloc.c: Ditto.
      	* langhooks.c: Ditto.
      	* function.c: Ditto.
      	* tree-vectorizer.c: Ditto.
      	* gcse.c: Ditto.
      	* ipa-type-escape.c: Ditto.
      	* alias.c: Ditto.
      	* tree-if-conv.c: Ditto.
      	* profile.c: Ditto.
      	* ipa.c: Ditto.
      	* tree-data-ref.c: Ditto.
      	* loop-unroll.c: Ditto.
      	* treelang/treetree.c: Ditto.
      	* calls.c: Ditto.
      	* bt-load.c: Ditto.
      	* ggc-common.c: Ditto.
      	* except.c: Ditto.
      	* coverage.c: Ditto.
      	* cselib.c: Ditto.
      	* tree-cfgcleanup.c: Ditto.
      	* tree-ssa-pre.c: Ditto.
      	* cfgcleanup.c: Ditto.
      	* loop-invariant.c: Ditto.
      	* loop-iv.c: Ditto.
      	* ipa-prop.c: Ditto.
      	* print-tree.c: Ditto.
      	* conflict.c: Ditto.
      	* ggc-page.c: Ditto.
      	* sched-deps.c: Ditto.
      	* regclass.c: Ditto.
      	* tree-object-size.c: Ditto.
      	* combine.c: Ditto.
      	* bb-reorder.c: Ditto.
      	* resource.c: Ditto.
      	* var-tracking.c: Ditto.
      	* cfgloop.c: Ditto.
      	* df-problems.c: Ditto.
      	* reg-stack.c: Ditto.
      	* tlink.c: Ditto.
      	* gccspec.c: Ditto.
      	* sched-rgn.c: Ditto.
      	* tree-ssa-structalias.c: Ditto.
      	* tree-ssa-reassoc.c: Ditto.
      	* config/darwin-c.c: Ditto.
      	* config/darwin.c: Ditto.
      	* config/arm/arm.c: Ditto.
      	* cfgrtl.c: Ditto.
      	* collect2.c: Ditto.
      	* reload1.c: Ditto.
      
      From-SVN: r110446
      Marcin Dalecki committed
  33. 24 Jan, 2006 1 commit
  34. 03 Oct, 2005 1 commit
    • gimplify.c (find_single_pointer_decl_1): New static function. · 0b494699
      	* gimplify.c (find_single_pointer_decl_1): New static function.
      	(find_single_pointer_decl): New static function.
      	(internal_get_tmp_var): For a formal variable, set restrict base
      	information if appropriate.
      	* alias.c (find_base_decl): If a VAR_DECL has a restrict base,
      	return it.
      	* tree.h (DECL_BASED_ON_RESTRICT_P): Define.
      	(DECL_GET_RESTRICT_BASE): Define.
      	(SET_DECL_RESTRICT_BASE): Define.
      	(decl_restrict_base_lookup): Declare.
      	(decl_restrict_base_insert): Declare.
      	(struct tree_decl_with_vis): Add based_on_restrict_p field.
      	* tree.c (restrict_base_for_decl): New static variable.
      	(init_ttree): Initialize restrict_base_for_decl.
      	(copy_node_stat): Copy restrict base information.
      	(decl_restrict_base_lookup): New function.
      	(decl_restrict_base_insert): New function.
      	(print_restrict_base_statistics): New static function.
      	(dump_tree_statistics): Call print_restrict_base_statistics.
      
      From-SVN: r104890
      Ian Lance Taylor committed
  35. 21 Jul, 2005 1 commit