1. 25 Nov, 2004 1 commit
    • basic-block.h (OBSTACK_ALLOC_REG_SET): Rename to ... · 04389919
      	* basic-block.h (OBSTACK_ALLOC_REG_SET): Rename to ...
      	(ALLOC_REG_SET): ... here.
      	(FREE_REG_SET): Adjust.
      	(XMALLOC_REG_SET, XFREE_REG_SET): Remove.
      	* bb-reorder.c (fix_crossing_conditional_branches): Adjust.
      	* cfglayout.c (cfg_layout_duplicate_bb): Adjust.
      	* cfgrtl.c (rtl_split_block, rtl_split_edge,
      	safe_insert_insn_on_edge, cfg_layout_split_edge): Adjust.
      	* flow.c (update_life_info, calculate_global_regs_live,
      	allocate_bb_life_data, init_propagate_block_info): Adjust.
      	* global.c (build_insn_chain): Adjust.
      	* ifcvt.c (dead_or_predicable): Adjust.
      	* loop-iv.c (simplify_using_initial_values): Adjust.
      	* recog.c (peephole2_optimize): Adjust.
      	* sched-deps.c (init_deps_global): Adjust.
      
      From-SVN: r91279
      Nathan Sidwell committed
  2. 24 Nov, 2004 1 commit
  3. 22 Nov, 2004 1 commit
    • bitmap.h (struct bitmap_obstack): New obstack type. · 7932a3db
      	* bitmap.h (struct bitmap_obstack): New obstack type.
      	(struct bitmap_head_def): Replace using_obstack with obstack
      	pointer.
      	(bitmap_default_obstack): New.
      	(bitmap_initialize): Make inline, does not do allocation.
      	(bitmap_release_memory): Remove.
      	(bitmap_obstack_initialize, bitmap_obstack_release): Declare.
      	(bitmap_obstack_alloc, bitmap_malloc_alloc, bitmap_gc_alloc,
      	bitmap_obstack_free, bitmap_malloc_free): Declare.
      	(BITMAP_OBSTACK_ALLOC, BITMAP_GGC_ALLOC, BITMAP_XMALLOC): Adjust.
      	(BITMAP_FREE): Replace with ...
      	(BITMAP_OBSTACK_FREE): ... this.
      	(BITMAP_XFREE): Adjust.
      	(BITMAP_INIT_ONCE): Remove.
      	* bitmap.c (bitmap_obstack, bitmap_obstack_init, bitmap_free: Remove.
      	(bitmap_default_obstack): New.
      	(bitmap_elem_to_freelist): Adjust.
      	(bitmap_element_allocate): Adjust. Break initialization into ...
      	(bitmap_obstack_initialize): ... here.
      	(bitmap_release_memory): Replace with ...
      	(bitmap_obstack_release): ... this.
      	(bitmap_obstack_alloc, bitmap_malloc_alloc, bitmap_gc_alloc,
      	bitmap_obstack_free, bitmap_malloc_free): New.
      	(bitmap_ior_and_compl, bitmap_ior_and_compl_into): Use
      	bitmap_initialize.
      	(bitmap_initialize): Move to bitmap.h.
      	* gengtype.c (open_base_files): Add obstack.h to ifiles.
      	* Makefile.in (BASIC_BLOCK_H, REGS_H): Add obstack.h.
      	* basic-block.h (INIT_REG_SET): Allocate from reg_obstack.
      	(INITIALIZE_REG_SET): Remove.
      	(FREE_REG_SET): Use BITMAP_OBSTACK_FREE.
      	(INIT_ONCE_REG_SET, MAX_REGNO_REG_SET): Remove.
      	(flow_obstack): Do not declare.
      	(reg_obstack): Declare.
      	* regs.h: Include obstack.h.
      	* tree-optimize.c (tree_rest_of_compilation): Initialize and
      	release bitmap obstack here.
      	* bb-reorder.c: #include regs, not basic-block.
      	(fix_crossing_conditional_branches): Allocate regsets from
      	reg_obstack.
      	* bt-load.c: Do not inlude bitmap.h, sbitmap.h, basic-block.h or
      	obstack.h.
      	* caller-save.c: Include regs.h earlier.
      	* cfg.c: Do not include basic-block.h or obstack.h.
      	(reg_obstack): Define.
      	* cfganal.c: Include obstack.h
      	* cfgcleanyp.c: Do not include basic-block.h. Include regs.h
      	earlier.
      	* cfglayout.c: Do not include obstack.h.
      	(flow_obstack): Remove declaration.
      	(cfg_layout_duplicate_bb): Use reg_obstack.
      	* cfgloop.c, cfgloopanal.c, cfgloopmanip.c: Include obstack.h.
      	* cfgrtl.c (rtl_split_block): Use reg_obstack.
      	(force_nonfallthru_and_redirect, rtl_split_edge): Likewise.
      	(safe_insert_insn_on_edge): Use OBSTACK_ALLOC_REG_SET, adjust.
      	(cfg_layout_split_edge): Use reg_obstack.
      	* cse.c: Include regs.h earlier.
      	* ddg.c: Do not include basic-block.h.
      	* dominance.c: Inlude obstack.h.
      	* flow.c (update_life_info): Use OBSTACK_ALLOC_REG_SET, adjust.
      	(calculate_global_regs_live): Likewise.
      	(allocate_bb_life_data): Use reg_obstack.
      	(init_propagate_block_info): Use OBSTACK_ALLOC_REGSET.
      	* global.c: Do not include basic-block.h.
      	(build_insn_chain): Use OBSTACK_ALLOC_REG_SET, adjust.
      	* graph.c: Include obstack.h.
      	* haifa-sched.c: Do not include basic-block.h.
      	* ifcvt.c: Use OBSTACK_ALLOC_REG_SET, adjust.
      	* local-alloc.c: Do not include basic-block.h.
      	* loop-init.c, loop-invariant.c: Include obstack.h.
      	* loop-iv.c: Likewise.
      	(simplify_using_initial_values): Use OBSTACK_ALLOC_REG_SET,
      	adjust.
      	* loop-unroll.c, loop-unswitch.c: Inlude obstack.h.
      	* modulo-sched.c: Do not include basic-block.h.
      	* passes.c (rest_of_handle_final): Do not call
      	regset_release_memory.
      	* ra-debug.c: Include regs.h earlier. Do not include
      	basic-block.h.
      	* recog.c (peephole2_optimize): Use OBSTACK_ALLOC_REG_SET, adjust.
      	* regclass.c (init_reg_sets): Do not call INIT_ONCE_REG_SET.
      	(allocate_reg_info): Do not call MAX_REGNO_REG_SET.
      	(regset_release_memory): Remove.
      	* resource.c: Do not include basic-block.h.
      	* rtlanal.c: Do not include basic-block.h.
      	* sbitmap.c: Include obstack.h.
      	* sched-deps.c: Do not include basic-block.h.
      	(reg_pending_sets_head, reg_pending_clobbers_head,
      	reg_pending_uses_head): Remove.
      	(init_deps_global): Use OBSTACK_ALLOC_REG_SET.
      	* sched-ebb.c: Do not include basic-block.h.
      	* sched-rgn.c: Likewise.
      	* tree-if-conv.c (get_loop_body_in_if_conv_order): Use
      	BITMAP_XFREE.
      	* tree-outof-ssa.c (perform_edge_inserts): Use BITMAP_XFREE.
      	* tree-sra.c (decide_instantiations): Adjust bitmap
      	initialization.
      	* tree-ssa-dce.c: Include obstack.h.
      	* tree-ssa-pre.c (grand_bitmap_obstack): Make a bitmap_obstack.
      	(value_insert_into_set_bitmap): Remove useless bitmap_clear.
      	(bitmap_set_new): Likewise.
      	(init_pre): Initialize bitmap obstack.
      	(fini_pre): Release bitmap obstack.
      	* tree-ssanames.c (ssa_names_to_rewrite): Make static.
      	(marked_for_rewrite_p): ssa_names_to_rewrite is never NULL.
      	(mark_for_rewrite, unmark_for_rewrite): Likewise.
      	(marked_ssa_names): Likewise.
      	(init_ssanames): Use BITMAP_XMALLOC.
      	(fini_ssanames): Use BITMAP_XFREE.
      	* web.c: Include obstack.h
      
      From-SVN: r91009
      Nathan Sidwell committed
  4. 28 Oct, 2004 1 commit
    • re PR target/15286 (ICE cause by reload) · fd326ba8
      	PR target/15286
      	* final.c (alter_subreg): Compute correct offset to use with
      	paradoxical SUBREGs of memory operands.
      	* recog.c (general_operand): Allow paradoxical SUBREGs of
      	memory operands after reload.
      	* simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
      	has failed when passed a hard register.
      
      From-SVN: r89752
      Ulrich Weigand committed
  5. 28 Sep, 2004 1 commit
    • backport: basic-block.h: Include vec.h, errors.h. · 628f6a4e
      2004-09-24  Ben Elliston  <bje@au.ibm.com>
      	    Steven Bosscher  <stevenb@suse.de>
      	    Andrew Pinski  <pinskia@physics.uc.edu>
      
      	Merge from edge-vector-branch:
      	* basic-block.h: Include vec.h, errors.h. Instantiate a VEC(edge).
      	(struct edge_def): Remove pred_next, succ_next members.
      	(struct basic_block_def): Remove pred, succ members.  Add preds
      	and succs members of type VEC(edge).
      	(FALLTHRU_EDGE): Redefine using EDGE_SUCC.
      	(BRANCH_EDGE): Likewise.
      	(EDGE_CRITICAL_P): Redefine using EDGE_COUNT.
      	(EDGE_COUNT, EDGE_I, EDGE_PRED, EDGE_SUCC): New.
      	(edge_iterator): New.
      	(ei_start, ei_last, ei_end_p, ei_one_before_end_p): New.
      	(ei_next, ei_prev, ei_edge, ei_safe_edge): Likewise.
      	(FOR_EACH_EDGE): New.
      	* bb-reorder.c (find_traces): Use FOR_EACH_EDGE and EDGE_* macros
      	where applicable.
      	(rotate_loop): Likewise.
      	(find_traces_1_route): Likewise.
      	(bb_to_key): Likewise.
      	(connect_traces): Likewise.
      	(copy_bb_p): Likewise.
      	(find_rarely_executed_basic_blocks_and_crossing_edges): Likewise.
      	(add_labels_and_missing_jumps): Likewise.
      	(fix_up_fall_thru_edges): Likewise.
      	(find_jump_block): Likewise.
      	(fix_crossing_conditional_branches): Likewise.
      	(fix_crossing_unconditional_branches): Likewise.
      	(add_reg_crossing_jump_notes): Likewise.
      	* bt-load.c (augment_live_range): Likewise.
      	* cfg.c (clear_edges): Likewise.
      	(unchecked_make_edge): Likewise.
      	(cached_make_edge): Likewise.
      	(make_single_succ_edge): Likewise.
      	(remove_edge): Likewise.
      	(redirect_edge_succ_nodup): Likewise.
      	(check_bb_profile): Likewise.
      	(dump_flow_info): Likewise.
      	(alloc_aux_for_edges): Likewise.
      	(clear_aux_for_edges): Likewise.
      	(dump_cfg_bb_info): Likewise.
      	* cfganal.c (forwarder_block_p): Likewise.
      	(can_fallthru): Likewise.
      	(could_fall_through): Likewise.
      	(mark_dfs_back_edges): Likewise.
      	(set_edge_can_fallthru_flag): Likewise.
      	(find_unreachable_blocks): Likewise.
      	(create_edge_list): Likewise.
      	(verify_edge_list): Likewise.
      	(add_noreturn_fake_exit_edges): Likewise.
      	(connect_infinite_loops_to_exit): Likewise.
      	(flow_reverse_top_sort_order_compute): Likewise.
      	(flow_depth_first_order_compute): Likewise.
      	(flow_preorder_transversal_compute): Likewise.
      	(flow_dfs_compute_reverse_execute): Likewise.
      	(dfs_enumerate_from): Likewise.
      	(compute_dominance_frontiers_1): Likewise.
      	* cfgbuild.c (make_edges): Likewise.
      	(compute_outgoing_frequencies): Likewise.
      	(find_many_sub_basic_blocks): Likewise.
      	(find_sub_basic_blocks): Likewise.
      	* cfgcleanup.c (try_simplify_condjump): Likewise.
      	(thread_jump): Likewise.
      	(try_forward_edges): Likewise.
      	(merge_blocks_move): Likewise.
      	(outgoing_edges_match): Likewise.
      	(try_crossjump_to_edge): Likewise.
      	(try_crossjump_bb): Likewise.
      	(try_optimize_cfg): Likewise.
      	(merge_seq_blocks): Likewise.
      	* cfgexpand.c (expand_gimple_tailcall): Likewise.
      	(expand_gimple_basic_block): Likewise.
      	(construct_init_block): Likewise.
      	(construct_exit_block): Likewise.
      	* cfghooks.c (verify_flow_info): Likewise.
      	(dump_bb): Likewise.
      	(delete_basic_block): Likewise.
      	(split_edge): Likewise.
      	(merge_blocks): Likewise.
      	(make_forwarder_block): Likewise.
      	(tidy_fallthru_edges): Likewise.
      	(can_duplicate_block_p): Likewise.
      	(duplicate_block): Likewise.
      	* cfglayout.c (fixup_reorder_chain): Likewise.
      	(fixup_fallthru_exit_predecessor): Likewise.
      	(can_copy_bbs_p): Likewise.
      	(copy_bbs): Likewise.
      	* cfgloop.c (flow_loops_cfg_dump): Likewise.
      	(flow_loop_entry_edges_find): Likewise.
      	(flow_loop_exit_edges_find): Likewise.
      	(flow_loop_nodes_find): Likewise.
      	(mark_single_exit_loops): Likewise.
      	(flow_loop_pre_header_scan): Likewise.
      	(flow_loop_pre_header_find): Likewise.
      	(update_latch_info): Likewise.
      	(canonicalize_loop_headers): Likewise.
      	(flow_loops_find): Likewise.
      	(get_loop_body_in_bfs_order): Likewise.
      	(get_loop_exit_edges): Likewise.
      	(num_loop_branches): Likewise.
      	(verify_loop_structure): Likewise.
      	(loop_latch_edge): Likewise.
      	(loop_preheader_edge): Likewise.
      	* cfgloopanal.c (mark_irreducible_loops): Likewise.
      	(expected_loop_iterations): Likewise.
      	* cfgloopmanip.c (remove_bbs): Likewise.
      	(fix_bb_placement): Likewise.
      	(fix_irreducible_loops): Likewise.
      	(remove_path): Likewise.
      	(scale_bbs_frequencies): Likewise.
      	(loopify): Likewise.
      	(unloop): Likewise.
      	(fix_loop_placement): Likewise.
      	(loop_delete_branch_edge): Likewise.
      	(duplicate_loop_to_header_edge): Likewise.
      	(mfb_keep_just): Likewise.
      	(create_preheader): Likewise.
      	(force_single_succ_latches): Likewise.
      	(loop_split_edge_with): Likewise.
      	(create_loop_notes): Likewise.
      	* cfgrtl.c (rtl_split_block): Likewise.
      	(rtl_merge_blocks): Likewise.
      	(rtl_can_merge_blocks): Likewise.
      	(try_redirect_by_replacing_jump): Likewise.
      	(force_nonfallthru_and_redirect): Likewise.
      	(rtl_tidy_fallthru_edge): Likewise.
      	(commit_one_edge_insertion): Likewise.
      	(commit_edge_insertions): Likewise.
      	(commit_edge_insertions_watch_calls): Likewise.
      	(rtl_verify_flow_info_1): Likewise.
      	(rtl_verify_flow_info): Likewise.
      	(purge_dead_edges): Likewise.
      	(cfg_layout_redirect_edge_and_branch): Likewise.
      	(cfg_layout_can_merge_blocks_p): Likewise.
      	(rtl_flow_call_edges_add): Likewise.
      	* cse.c (cse_cc_succs): Likewise.
      	* df.c (hybrid_search): Likewise.
      	* dominance.c (calc_dfs_tree_nonrec): Likewise.
      	(calc_dfs_tree): Likewise.
      	(calc_idoms): Likewise.
      	(recount_dominator): Likewise.
      	* domwalk.c (walk_dominator_tree): Likewise.
      	* except.c (emit_to_new_bb_before): Likewise.
      	(connect_post_landing_pads): Likewise.
      	(sjlj_emit_function_enter): Likewise.
      	(sjlj_emit_function_exit): Likewise.
      	(finish_eh_generation): Likewise.
      	* final.c (compute_alignments): Likewise.
      	* flow.c (calculate_global_regs_live): Likewise.
      	(initialize_uninitialized_subregs): Likewise.
      	(init_propagate_block_info): Likewise.
      	* function.c (thread_prologue_and_epilogue_insns): Likewise.
      	* gcse.c (find_implicit_sets): Likewise.
      	(bypass_block): Likewise.
      	(bypass_conditional_jumps): Likewise.
      	(compute_pre_data): Likewise.
      	(insert_insn_end_bb): Likewise.
      	(insert_store): Likewise.
      	(remove_reachable_equiv_notes): Likewise.
      	* global.c (global_conflicts): Likewise.
      	(calculate_reg_pav): Likewise.
      	* graph.c (print_rtl_graph_with_bb): Likewise.
      	* ifcvt.c (mark_loop_exit_edges): Likewise.
      	(merge_if_block): Likewise.
      	(find_if_header): Likewise.
      	(block_jumps_and_fallthru_p): Likewise.
      	(find_if_block): Likewise.
      	(find_cond_trap): Likewise.
      	(block_has_only_trap): Likewise.
      	(find_if_case1): Likewise.
      	(find_if_case_2): Likewise.
      	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise.
      	(perfect_nestify): Likewise.
      	* lcm.c (compute_antinout_edge): Likewise.
      	(compute_laterin): Likewise.
      	(compute_available): Likewise.
      	(compute_nearerout): Likewise.
      	* loop-doloop.c (doloop_modify): Likewise.
      	* loop-init.c (loop_optimizer_init): Likewise.
      	* loop-invariant.c (find_exits): Likewise.
      	* loop-iv.c (simplify_using_initial_values): Likewise.
      	(check_simple_exit): Likewise.
      	(find_simple_exit): Likewise.
      	* loop-unroll.c (peel_loop_completely): Likewise.
      	(unroll_loop_constant_iterations): Likewise.
      	(unroll_loop_runtime_iterations): Likewise.
      	* loop-unswitch.c (may_unswitch_on): Likewise.
      	(unswitch_loop): Likewise.
      	* modulo-sched.c (generate_prolog_epilog): Likewise.
      	(sms_schedule): Likewise.
      	* postreload-gcse.c (eliminate_partially_redundant_load):
      	Likewise.
      	* predict.c (can_predict_insn_p): Likewise.
      	(set_even_probabilities): Likewise.
      	(combine_predictions_for_bb): Likewise.
      	(predict_loops): Likewise.
      	(estimate_probability): Likewise.
      	(tree_predict_by_opcode): Likewise.
      	(tree_estimate_probability): Likewise.
      	(last_basic_block_p): Likewise.
      	(propagate_freq): Likewise.
      	(estimate_loops_at_level): Likewise.
      	(estimate_bb_frequencies): Likewise.
      	* profile.c (instrument_edges): Likewise.
      	(get_exec_counts): Likewise.
      	(compute_branch_probabilities): Likewise.
      	(branch_prob): Likewise.
      	* ra-build.c (live_in): Likewise.
      	* ra-rewrite.c (rewrite_program2): Likewise.
      	* ra.c (reg_alloc): Likewise.
      	* reg-stack.c (reg_to_stack): Likewise.
      	(convert_regs_entry): Likewise.
      	(compensate_edge): Likewise.
      	(convert_regs_1): Likewise,
      	(convert_regs_2): Likewise.
      	(convert_regs): Likewise.
      	* regrename.c (copyprop_hardreg_forward): Likewise.
      	* reload1.c (fixup_abnormal_edges): Likewise.
      	* sbitmap.c (sbitmap_intersection_of_succs): Likewise.
      	(sbitmap_insersection_of_preds): Likewise.
      	(sbitmap_union_of_succs): Likewise.
      	(sbitmap_union_of_preds): Likewise.
      	* sched-ebb.c (compute_jump_reg_dependencies): Likewise.
      	(fix_basic_block_boundaries): Likewise.
      	(sched_ebbs): Likewise.
      	* sched-rgn.c (build_control_flow): Likewise.
      	(find_rgns): Likewise.
      	* tracer.c (find_best_successor): Likewise.
      	(find_best_predecessor): Likewise.
      	(tail_duplicate): Likewise.
      	* tree-cfg.c (make_edges): Likewise.
      	(make_ctrl_stmt_edges): Likewise.
      	(make_goto_expr_edges): Likewise.
      	(tree_can_merge_blocks_p): Likewise.
      	(tree_merge_blocks): Likewise.
      	(cfg_remove_useless_stmts_bb): Likewise.
      	(remove_phi_nodes_and_edges_for_unreachable_block): Likewise.
      	(tree_block_forwards_to): Likewise.
      	(cleanup_control_expr_graph): Likewise.
      	(find_taken_edge): Likewise.
      	(dump_cfg_stats): Likewise.
      	(tree_cfg2vcg): Likewise.
      	(disband_implicit_edges): Likewise.
      	(tree_find_edge_insert_loc): Likewise.
      	(bsi_commit_edge_inserts): Likewise.
      	(tree_split_edge): Likewise.
      	(tree_verify_flow_info): Likewise.
      	(tree_make_forwarder_block): Likewise.
      	(tree_forwarder_block_p): Likewise.
      	(thread_jumps): Likewise.
      	(tree_try_redirect_by_replacing_jump): Likewise.
      	(tree_split_block): Likewise.
      	(add_phi_args_after_copy_bb): Likewise.
      	(rewrite_to_new_ssa_names_bb): Likewise.
      	(dump_function_to_file): Likewise.
      	(print_pred_bbs): Likewise.
      	(print_loop): Likewise.
      	(tree_flow_call_edges_add): Likewise.
      	(split_critical_edges): Likewise.
      	(execute_warn_function_return): Likewise.
      	(extract_true_false_edges_from_block): Likewise.
      	* tree-if-conv.c (tree_if_conversion): Likewise.
      	(if_convertable_bb_p): Likewise.
      	(find_phi_replacement_condition): Likewise.
      	(combine_blocks): Likewise.
      	* tree-into-ssa.c (compute_global_livein): Likewise.
      	(ssa_mark_phi_uses): Likewise.
      	(ssa_rewrite_initialize_block): Likewise.
      	(rewrite_add_phi_arguments): Likewise.
      	(ssa_rewrite_phi_arguments): Likewise.
      	(insert_phi_nodes_for): Likewise.
      	(rewrite_into_ssa): Likewise.
      	(rewrite_ssa_into_ssa): Likewise.
      	* tree-mudflap.c (mf_build_check_statement_for): Likewise.
      	* tree-outof-ssa.c (coalesce_abnormal_edges): Likewise.
      	(rewrite_trees): Likewise.
      	* tree-pretty-print.c (dump_bb_header): Likewise.
      	(dump_implicit_edges): Likewise.
      	* tree-sra.c (insert_edge_copies): Likewise.
      	(find_obviously_necessary_stmts): Likewise.
      	(remove_data_stmt): Likewise.
      	* tree-ssa-dom.c (thread_across_edge): Likewise.
      	(dom_opt_finalize_block): Likewise.
      	(single_incoming_edge_ignoring_loop_edges): Likewise.
      	(record_equivalences_from_incoming_edges): Likewise.
      	(cprop_into_successor_phis): Likewise.
      	* tree-ssa-live.c (live_worklist): Likewise.
      	(calculate_live_on_entry): Likewise.
      	(calculate_live_on_exit): Likewise.
      	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Likewise.
      	(copy_loop_headers): Likewise.
      	* tree-ssa-loop-im.c (loop_commit_inserts): Likewise.
      	(fill_always_executed_in): Likewise.
      	* tree-ssa-loop-ivcanon.c (create_canonical_iv): Likewise.
      	* tree-ssa-loop-ivopts.c (find_interesting_uses): Likewise.
      	(compute_phi_arg_on_exit): Likewise.
      	* tree-ssa-loop-manip.c (add_exit_phis_edge): Likewise.
      	(get_loops_exit): Likewise.
      	(split_loop_exit_edge): Likewise.
      	(ip_normal_pos): Likewise.
      	* tree-ssa-loop-niter.c (simplify_using_initial_conditions):
      	Likewise.
      	* tree-ssa-phiopt.c (candidate_bb_for_phi_optimization): Likewise.
      	(replace_phi_with_stmt): Likewise.
      	(value_replacement): Likewise.
      	* tree-ssa-pre.c (compute_antic_aux): Likewise.
      	(insert_aux): Likewise.
      	(init_pre): Likewise.
      	* tree-ssa-propagate.c (simulate_stmt): Likewise.
      	(simulate_block): Likewise.
      	(ssa_prop_init): Likewise.
      	* tree-ssa-threadupdate.c (thread_block): Likewise.
      	(create_block_for_threading): Likewise.
      	(remove_last_stmt_and_useless_edges): Likewise.
      	* tree-ssa.c (verify_phi_args): Likewise.
      	(verify_ssa): Likewise.
      	* tree_tailcall.c (independent_of_stmt_p): Likewise.
      	(find_tail_calls): Likewise.
      	(eliminate_tail_call): Likewise.
      	(tree_optimize_tail_calls_1): Likewise.
      	* tree-vectorizer.c (vect_transform_loop): Likewise.
      	* var-tracking.c (prologue_stack_adjust): Likewise.
      	(vt_stack_adjustments): Likewise.
      	(vt_find_locations): Likewise.
      	* config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
      	* config/i386/i386.c (ix86_pad_returns): Likewise.
      	* config/ia64/ia64.c (ia64_expand_prologue): Likewise.
      	* config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
      
      Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu>
      Co-Authored-By: Steven Bosscher <stevenb@suse.de>
      
      From-SVN: r88222
      Ben Elliston committed
  6. 09 Sep, 2004 1 commit
    • ra-build.c (copy_insn_p, [...]): Use gcc_assert and gcc_unreachable instead of abort. · 41374e13
      	* ra-build.c (copy_insn_p, remember_move, defuse_overlap_p_1,
      	live_out_1, prune_hardregs_for_mode, init_one_web_common,
      	reinit_one_web, add_subweb, add_subweb_2, init_web_parts,
      	record_conflict, compare_and_free_webs, init_webs_defs_uses,
      	parts_to_webs_1, parts_to_webs, reset_conflicts,
      	check_conflict_numbers, remember_web_was_spilled, handle_asm_insn,
      	ra_build_free): Use gcc_assert and gcc_unreachable instead of abort.
      	* ra-colorize.c (push_list, put_web, reset_lists, put_web_at_end,
      	put_move, remove_move, combine, select_spill, colorize_one_web,
      	try_recolor_web, insert_coalesced_conflicts, check_colors,
      	break_precolored_alias, restore_conflicts_from_coalesce,
      	sort_and_combine_web_pairs, check_uncoalesced_moves): Likewise.
      	* ra-rewrite.c (spill_coalescing, slots_overlap_p, emit_loads,
      	reloads_to_loads, rewrite_program2, emit_colors): Likewise.
      	* ra.c (first_hard_reg, create_insn_info, find_subweb, init_ra,
      	check_df): Likewise.
      	* real.c (do_add, do_multiply, do_divide, do_compare, do_fix_trunc,
      	real_arithmetic, real_compare, real_exponent, real_ldexp,
      	real_identical, real_to_integer, real_to_integer2, real_to_decimal,
      	real_to_hexadecimal, real_from_integer, ten_to_ptwo, ten_to_mptwo,
      	real_digit, real_nan, real_maxval, round_for_format, real_convert,
      	real_to_target, real_from_target, real_hash, encode_ieee_single,
      	encode_ieee_double, encode_ieee_extended, encode_ieee_quad,
      	encode_vax_f, encode_vax_d, encode_vax_g, encode_i370_single,
      	encode_i370_double, encode_c4x_single, encode_c4x_extended): Likewise.
      	* recog.c (validate_change, validate_replace_rtx_1, asm_operand_ok,
      	extract_insn, peep2_next_insn, peep2_reg_dead_p,
      	peep2_find_free_register, peephole2_optimize, store_data_bypass_p,
      	if_test_bypass_p): Likewise.
      	* reg-stack.c (record_label_references, get_asm_operand_n_inputs,
      	stack_result, remove_regno_note, get_hard_regnum, emit_pop_insn,
      	emit_swap_insn, swap_to_top, move_for_stack_reg,
      	subst_stack_regs_pat, subst_asm_stack_regs, change_stack,
      	compensate_edge, convert_regs_1): Likewise.
      	* regclass.c (init_reg_sets, init_reg_sets_1,
      	memory_move_secondary_cost): Likewise.
      	* regrename.c (note_sets, clear_dead_regs, scan_rtx_reg, scan_rtx):
      	Likewise.
      	* reload.c (push_secondary_reload, find_valid_class, push_reload,
      	operands_match_p, decompose, immune_p, find_reloads,
      	find_reloads_toplev, find_reloads_address_1, subst_reloads,
      	copy_replacements, refers_to_regno_for_reload_p,
      	reg_overlap_mentioned_for_reload_p): Likewise.
      	* reload1.c (compute_use_by_pseudos, replace_pseudos_in, reload,
      	count_pseudo, find_reg, eliminate_regs, eliminate_regs_in_insn,
      	verify_initial_elim_offsets, finish_spills, clear_reload_reg_in_use,
      	reload_reg_free_p, reload_reg_reaches_end_p, reloads_conflict,
      	choose_reload_regs, merge_assigned_reloads, emit_input_reload_insns,
      	do_output_reload, fixup_abnormal_edges): Likewise.
      	* reorg.c (stop_search_p, emit_delay_sequence, get_jump_flags,
      	fill_slots_from_thread, relax_delay_slots): Likewise.
      	* resource.c (mark_referenced_resources, mark_set_resources):
      	Likewise.
      	* rtl.c (copy_rtx, rtx_equal_p): Likewise.
      	* rtlanal.c (insn_dependent_p, reg_overlap_mentioned_p,
      	dead_or_set_p, find_reg_fusage, remove_note, replace_rtx,
      	subreg_lsb_1, subreg_regno_offset, subreg_offset_representable_p,
      	find_first_parameter_load, can_hoist_insn_p, hoist_update_store,
      	hoist_insn_after, hoist_insn_to_edge, nonzero_bits1): Likewise.
      	* rtlhooks.c (gen_lowpart_general): Likewise.
      	* sbitmap.c (sbitmap_difference): Likewise.
      	* sched-deps.c (add_dependence, sched_analyze_1, sched_analyze_2,
      	sched_analyze, add_forward_dependence): Likewise.
      	* sched-ebb.c (fix_basic_block_boundaries, schedule_ebb): Likewise.
      	* sched-rgn.c (debug_regions, compute_trg_info, schedule_region,
      	schedule_insns): Likewise.
      	* sched-vis.c (print_pattern): Likewise.
      	* sdbout.c (sdbout_symbol, sdbout_toplevel_data): Likewise.
      	* simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
      	simplify_const_relational_operation, simplify_ternary_operation,
      	simplify_immed_subreg, simplify_subreg, simplify_gen_subreg):
      	Likewise.
      	* sreal.c (copy, sreal_sub, sreal_div): Likewise.
      	* stmt.c (force_label_rtx, expand_goto, expand_asm_operands,
      	resolve_operand_name_1, expand_return, expand_decl,
      	expand_anon_union_decl, emit_case_bit_tests, expand_case): Likewise.
      	* stor-layout.c (put_pending_size, smallest_mode_for_size,
      	int_mode_for_mode, layout_decl, finish_builtin_struct, layout_type,
      	set_sizetype, get_mode_bounds): Likewise.
      
      From-SVN: r87244
      Nathan Sidwell committed
  7. 09 Aug, 2004 1 commit
  8. 03 Aug, 2004 1 commit
  9. 25 Jul, 2004 1 commit
  10. 09 Jul, 2004 1 commit
    • alias.c (nonlocal_mentioned_p, [...]): Use, LABEL_P, JUMP_P, CALL_P,… · 4b4bf941
      alias.c (nonlocal_mentioned_p, [...]): Use, LABEL_P, JUMP_P, CALL_P, NONJUMP_INSN_P, INSN_P, NOTE_P, BARRIER_P.
      
      2004-07-08  Jerry Quinn  <jlquinn@optonline.net>
      
      	* alias.c (nonlocal_mentioned_p, nonlocal_referenced_p,
      	nonlocal_set_p, init_alias_analysis): Use, LABEL_P, JUMP_P, CALL_P,
      	NONJUMP_INSN_P, INSN_P, NOTE_P, BARRIER_P.
      	* bb-reorder.c (mark_bb_for_unlikely_executed_section,
      	add_labels_and_missing_jumps, find_jump_block,
      	fix_crossing_unconditional_branches, add_reg_crossing_jump_notes):
      	Likewise.
      	* bt-load.c (btr_referenced_p, compute_defs_uses_and_gen,
      	link_btr_uses, move_btr_def): Likewise.
      	* builtins.c (expand_builtin_longjmp, expand_builtin_nonlocal_goto,
      	expand_builtin_expect_jump): Likewise.
      	* caller-save.c (save_call_clobbered_regs, insert_one_insn): Likewise.
      	* calls.c (expand_call, emit_library_call_value_1): Likewise.
      	* cfganal.c (forwarder_block_p): Likewise.
      	* cfgbuild.c (inside_basic_block_p, count_basic_blocks,
      	make_label_edge, rtl_make_eh_edge, make_edges, find_basic_blocks_1,
      	find_bb_boundaries): Likewise.
      	* cfgcleanup.c (try_simplify_condjump, try_forward_edges,
      	merge_blocks_move_predecessor_nojumps,
      	merge_blocks_move_successor_nojumps, insns_match_p,
      	flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
      	try_optimize_cfg): Likewise.
      	* cfgexpand.c (expand_block, construct_exit_block): Likewise.
      	* cfglayout.c (skip_insns_after_block, label_for_bb,
      	record_effective_endpoints, insn_locators_initialize,
      	fixup_reorder_chain, update_unlikely_executed_notes): Likewise.
      	* cfgmainloop.c (create_loop_notes): Likewise.
      	* cfgrtl.c (delete_insn, delete_insn_chain,
      	create_basic_block_structure, rtl_delete_block, free_bb_for_insn,
      	update_bb_for_insn, rtl_merge_blocks, rtl_can_merge_blocks,
      	block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
      	redirect_branch_edge, force_nonfallthru_and_redirect,
      	rtl_tidy_fallthru_edge, back_edge_of_syntactic_loop_p,
      	rtl_split_edge, commit_one_edge_insertion, print_rtl_with_bb,
      	update_br_prob_note, rtl_verify_flow_info_1, rtl_verify_flow_info,
      	purge_dead_edges, cfg_layout_redirect_edge_and_branch,
      	cfg_layout_delete_block, cfg_layout_can_merge_blocks_p,
      	cfg_layout_merge_blocks, rtl_block_ends_with_call_p,
      	need_fake_edge_p, rtl_flow_call_edges_add): Likewise.
      	* combine.c (combine_instructions, can_combine_p, try_combine,
      	find_split_point, record_dead_and_set_regs, reg_dead_at_p,
      	distribute_notes, distribute_links, insn_cuid): Likewise.
      	* cse.c (fold_rtx, cse_insn, cse_around_loop,
      	invalidate_skipped_block, cse_set_around_loop,
      	cse_end_of_basic_block, cse_main, cse_basic_block,
      	cse_condition_code_reg): Likewise.
      	* cselib.c (cselib_process_insn): Likewise.
      	* ddg.c (create_ddg): Likewise.
      	* df.c (df_insn_refs_record, df_bb_rd_local_compute, df_insns_modify):
      	Likewise.
      	* dwarf2out.c (dwarf2out_stack_adjust, dwarf2out_frame_debug,
      	gen_label_die, dwarf2out_var_location): Likewise.
      	* emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn,
      	next_insn, previous_insn, next_nonnote_insn, prev_nonnote_insn,
      	last_call_insn, active_insn_p, next_label, prev_label,
      	link_cc0_insns, next_cc0_user, try_split, add_insn_after,
      	add_insn_before, remove_insn, add_function_usage_to,
      	reorder_insns, find_line_note, remove_unnecessary_notes,
      	emit_insn_after_1, classify_insn): Likewise.
      	* except.c (convert_from_eh_region_ranges_1, emit_to_new_bb_before,
      	connect_post_landing_pads, sjlj_mark_call_sites,
      	sjlj_emit_function_enter, sjlj_emit_function_exit, reachable_handlers,
      	can_throw_internal, can_throw_external, set_nothrow_function_flags,
      	convert_to_eh_region_ranges): Likewise.
      	* explow.c (optimize_save_area_alloca): Likewise.
      	* expr.c (expand_expr_real): Likewise.
      	* final.c (insn_current_reference_address, compute_alignments,
      	shorten_branches, final, scan_ahead_for_unlikely_executed_note,
      	final_scan_insn, output_asm_label, leaf_function_p): Likewise.
      	* flow.c (first_insn_after_basic_block_note, delete_dead_jumptables,
      	propagate_block_delete_insn, propagate_one_insn,
      	init_propagate_block_info, propagate_block, libcall_dead_p,
      	mark_set_1, attempt_auto_inc, find_auto_inc, try_pre_increment):
      	Likewise.
      	* function.c (instantiate_virtual_regs,	reorder_blocks_1,
      	expand_function_start, expand_function_end, contains,
      	thread_prologue_and_epilogue_insns,
      	reposition_prologue_and_epilogue_notes): Likewise.
      	* gcse.c (constprop_register, bypass_conditional_jumps,
      	insert_insn_end_bb, gcse_after_reload): Likewise.
      	* genemit.c (gen_expand, gen_split): Likewise.
      	* genpeep.c (gen_peephole, main): Likewise.
      	* global.c (build_insn_chain): Likewise.
      	* graph.c (node_data, print_rtl_graph_with_bb): Likewise.
      	* haifa-sched.c (unlink_other_notes, unlink_line_notes,
      	get_block_head_tail, no_real_insns_p, rm_line_notes, save_line_notes,
      	restore_line_notes, rm_redundant_line_notes, rm_other_notes,
      	ok_for_early_queue_removal, set_priorities, sched_init): Likewise.
      	* ifcvt.c (count_bb_insns, first_active_insn, last_active_insn,
      	cond_exec_process_insns, end_ifcvt_sequence, noce_process_if_block,
      	merge_if_block, block_jumps_and_fallthru_p, find_if_block,
      	dead_or_predicable): Likewise.
      	* integrate.c (try_constants): Likewise.
      	* jump.c (rebuild_jump_labels, cleanup_barriers,
      	purge_line_number_notes, init_label_info, mark_all_labels,
      	squeeze_notes, get_label_before, get_label_after,
      	reversed_comparison_code_parts, simplejump_p, pc_set,
      	returnjump_p, onlyjump_p, follow_jumps, mark_jump_label,
      	delete_barrier, delete_prior_computation, delete_computation,
      	delete_related_insns, delete_for_peephole, redirect_jump):
      	Likewise.
      	* lcm.c (optimize_mode_switching): Likewise.
      	* local-alloc.c (validate_equiv_mem, update_equiv_regs, block_alloc):
      	Likewise.
      	* loop-doloop.c (doloop_valid_p, doloop_optimize): Likewise.
      	* loop-invariant.c (find_exits, find_invariants_bb): Likewise.
      	* loop-iv.c (simplify_using_assignment): Likewise.
      	* loop.c (compute_luids, loop_optimize, scan_loop, libcall_other_reg,
      	libcall_benefit, skip_consec_insns, move_movables, prescan_loop,
      	find_and_verify_loops, labels_in_range_p, for_each_insn_in_loop,
      	loop_bivs_init_find, strength_reduce, check_insn_for_bivs,
      	check_insn_for_givs, check_final_value, update_giv_derive,
      	basic_induction_var, product_cheap_p, check_dbra_loop,
      	loop_insn_first_p, last_use_this_basic_block,
      	canonicalize_condition, get_condition, loop_regs_scan, load_mems,
      	try_copy_prop, LOOP_BLOCK_NUM, loop_dump_aux): Likewise.
      	* modulo-sched.c (doloop_register_get, find_line_note, sms_schedule,
      	sms_schedule_by_order): Likewise.
      	* optabs.c (emit_no_conflict_block, emit_libcall_block): Likewise.
      	* postreload.c (reload_cse_simplify_operands, reload_combine,
      	reload_cse_move2add): Likewise.
      	* predict.c (can_predict_insn_p, estimate_probability,
      	expected_value_to_br_prob, process_note_predictions): Likewise.
      	* print-rtl.c (print_rtx, print_rtl, print_rtl_single): Likewise.
      	* profile.c (branch_prob): Likewise.
      	* ra-build.c (live_out_1, livethrough_conflicts_bb,
      	detect_webs_set_in_cond_jump): Likewise.
      	* ra-debug.c (ra_print_rtx_object, ra_debug_insns,
      	ra_print_rtl_with_bb): Likewise.
      	* ra-rewrite.c (insert_stores, rewrite_program2): Likewise.
      	* recog.c (next_insn_tests_no_inequality, find_single_use,
      	split_all_insns, peephole2_optimize, if_test_bypass_p): Likewise.
      	* reg-stack.c (next_flags_user, record_label_references,
      	emit_swap_insn, swap_rtx_condition, subst_stack_regs,
      	compensate_edge, convert_regs_1): Likewise.
      	* regclass.c (scan_one_insn): Likewise.
      	* regmove.c (optimize_reg_copy_1, optimize_reg_copy_2, fixup_match_2,
      	regmove_optimize, fixup_match_1, single_set_for_csa,
      	combine_stack_adjustments_for_block): Likewise.
      	* regrename.c (build_def_use, copyprop_hardreg_forward_1): Likewise.
      	* reload.c (find_reloads, find_reloads_address_1, subst_reloads,
      	find_equiv_reg): Likewise.
      	* reload1.c (reload, calculate_needs_all_insns, set_label_offsets,
      	reload_as_needed, emit_input_reload_insns, do_output_reload,
      	delete_output_reload, delete_address_reloads_1, fixup_abnormal_edges):
      	Likewise.
      	* reorg.c (find_end_label, emit_delay_sequence,
      	delete_from_delay_slot, delete_scheduled_jump, optimize_skip,
      	get_jump_flags, rare_destination, mostly_true_jump,
      	try_merge_delay_insns, redundant_insn, own_thread_p,
      	fill_simple_delay_slots, fill_slots_from_thread,
      	fill_eager_delay_slots, relax_delay_slots, make_return_insns,
      	dbr_schedule): Likewise.
      	* resource.c (find_basic_block, next_insn_no_annul,
      	find_dead_or_set_registers, mark_target_live_regs): Likewise.
      	* rtl.h (RTX_PREV): Likewise.
      	* rtlanal.c (global_reg_mentioned_p, no_labels_between_p,
      	no_jumps_between_p, reg_used_between_p, reg_referenced_between_p,
      	reg_set_p, find_last_value, dead_or_set_regno_p, find_reg_fusage,
      	find_regno_fusage, pure_call_p, replace_label, rtx_referenced_p_1,
      	tablejump_p, computed_jump_p, insns_safe_to_move_p,
      	find_first_parameter_load, can_hoist_insn_p): Likewise.
      	* sched-deps.c (get_condition, add_dependence, sched_analyze_2,
      	sched_analyze_insn, sched_analyze, add_forward_dependence): Likewise.
      	* sched-ebb.c (fix_basic_block_boundaries, add_deps_for_risky_insns,
      	schedule_ebbs): Likewise.
      	* sched-rgn.c (is_cfg_nonregular, find_conditional_protection,
      	is_conditionally_protected, can_schedule_ready_p,
      	add_branch_dependences, debug_dependencies): Likewise.
      	* stmt.c (emit_nop, expand_start_case, emit_jump_if_reachable):
      	Likewise.
      	* unroll.c (unroll_loop, copy_loop_body, back_branch_in_range_p,
      	reg_dead_after_loop, loop_find_equiv_value, loop_iterations,
      	set_dominates_use, ujump_to_loop_cont): Likewise.
      	* var-tracking.c (prologue_stack_adjust, vt_initialize): Likewise.
      	* varasm.c (output_constant_pool_1): Likewise.
      
      From-SVN: r84341
      Jerry Quinn committed
  11. 04 Jul, 2004 1 commit
    • rtl.def (ADDRESSOF): Remove. · 8fff4fc1
      	* rtl.def (ADDRESSOF): Remove.
      	* alias.c (rtx_equal_for_memref_p): Don't handle addressof.
      	(find_base_term, memrefs_conflict_p): Likewise.
      	* cse.c (fixed_base_plus_p, find_best_addr: Likewise.
      	(fold_rtx, cse_insn, set_live_p): Likewise.
      	* dwarf2out.c (mem_loc_descriptor): Likewise.
      	(add_location_or_const_value_attribute): Likewise.
      	* emit-rtl.c (copy_insn_1): Likewise.
      	* explow.c (memory_address): Likewise.
      	* expmed.c (store_split_bit_field): Likewise.
      	* expr.c (expand_expr_real_1): Likewise.
      	* function.c (instantiate_decl
      	(instantiate_virtual_regs_1, fix_lexical_addr): Likewise.
      	* genrecog.c (preds, validate_pattern): Likewise.
      	* integrate.c (copy_rtx_and_substitute): Likewise.
      	* recog.c (general_operand, register_operand): Likewise.
      	(memory_address_p): Likwise.
      	* reload1.c (eliminate_regs, elimination_effects): Likewise.
      	* rtl.c (copy_rtx): Likewise.
      	* rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise.
      	(rtx_addr_can_trap_p, nonzero_address_p, address_cost): Likewise.
      	* rtlhooks.c (gen_lowpart_general): Likewise.
      	* stmt.c (expand_asm_operands): Likewise.
      	* web.c (entry_register, replace_ref, web_main): Likewise.
      	* config/alpha/alpha.c (input_operand, alpha_legitimate_address_p,
      	alpha_expand_block_move, alpha_expand_block_clear): Likewise.
      	* config/arm/arm.c (thumb_rtx_costs): Likewise.
      	* config/c4x/c4x.c (c4x_valid_operands): Likewise.
      	* config/frv/frv.c (move_destination_operand, move_source_operand,
      	condexec_dest_operand, condexec_source_operand,
      	condexec_memory_operand): Likewise.
      	* config/h8300/h8300.h (PREDICATE_CODES): Likewise.
      	* config/ia64/ia64.c (general_xfmode_operand): Likewise.
      	(destination_xfmode_operand): Likewise.
      	* config/mips/mips.h (PREDICATE_CODES): Likewise.
      	* config/mn10300/mn10300.c (mn10300_address_cost_1): Likewise.
      	* config/s390/s390.c (general_s_operand): Likewise.
      	* config/s390/s390.md (mov*): Likewise.
      	* config/sparc/sparc.h (PREDICATE_CODES): Likewise.
      
      	* c-typeck.c (c_mark_addressable): Don't put_var_into_stack.
      	* expr.c (expand_expr_real_1): Likewise.
      	* stmt.c (expand_decl): Likewise.
      	* config/c4x/c4x.c (c4x_expand_builtin): Likewise.
      
      	* function.c (struct fixup_replacement, struct insns_for_mem_entry,
      	postponed_insns, put_var_into_stack, put_reg_into_stack,
      	schedule_fixup_var_refs, fixup_var_refs, find_fixup_replacement,
      	fixup_var_refs_insns, fixup_var_refs_insns_with_hash,
      	fixup_var_refs_insn, fixup_var_refs_1, fixup_memory_subreg,
      	walk_fixup_memory_subreg, fixup_stack_1, optimize_bit_field,
      	gen_mem_addressof, flush_addressof, put_addressof_into_stack,
      	purge_bitfield_addressof_replacements, purge_addressof_replacements,
      	purge_addressof_1, insns_for_mem_hash, insns_for_mem_comp,
      	struct insns_for_mem_walk_info, insns_for_mem_walk,
      	compute_insns_for_mem, is_addressof, purge_addressof, setjmp_protect,
      	setjmp_protect_args): Remove.
      	(push_function_context_to): Don't handle var_refs_queue.
      	(pop_function_context_from, free_after_compilation): Likewise.
      	(instantiate_virtual_regs): Don't handle parm_reg_stack_loc.
      	(assign_parms, allocate_struct_function): Likewise.
      	(use_register_for_decl): New.
      	(expand_function_end): Don't setjmp_protect.
      	* function.h (struct emit_status): Update commentary.
      	(struct function): Remove x_max_parm_reg, x_parm_reg_stack_loc.
      	(max_parm_reg, parm_reg_stack_loc): Remove.
      	* passes.c (DFI_addressof): Remove.
      	(dump_file_info): Remove addressof.
      	(rest_of_handle_addressof): Remove.
      	(rest_of_compilation): Don't call it.
      	* rtl.h (ADDRESSOF_REGNO, ADDRESSOF_DECL): Remove.
      	* stmt.c (expand_decl): Use use_register_for_decl.
      	* tree.h: Update decls.
      	* web.c (mark_addressof): Remove.
      	* doc/invoke.texi (-dF): Remove.
      
      ada/
              * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
      cp/
              * typeck.c (cxx_mark_addressable): Don't put_var_into_stack.
      fortran/
              * f95-lang.c (gfc_mark_addressable): Don't put_var_into_stack.
      treelang/
              * treetree.c (tree_mark_addressable):  Don't put_var_into_stack.
      
      From-SVN: r84072
      Richard Henderson committed
  12. 01 Jul, 2004 1 commit
    • alias.c (get_alias_set, [...]): Use MEM_P. · 3c0cb5de
      2004-07-01  Jerry Quinn  <jlquinn@optonline.net>
      
      	* alias.c (get_alias_set, canon_rtx, get_addr,
      	nonoverlapping_memrefs_p, nonlocal_referenced_p_1, memory_modified_1):
      	Use MEM_P.
      	* builtins.c (expand_builtin_prefetch, expand_builtin_profile_func,
      	expand_builtin): Likewise.
      	* calls.c (expand_call, emit_library_call_value_1, store_one_arg):
      	Likewise.
      	* combine.c (can_combine_p, combinable_i3pat, try_combine,
      	find_split_point, combine_simplify_rtx, simplify_set, make_extraction,
      	rtx_equal_for_field_assignment_p, gen_lowpart_for_combine,
      	record_dead_and_set_regs_1, get_last_value_validate,
      	mark_used_regs_combine, move_deaths, unmentioned_reg_p_1): Likewise.
      	* cse.c (check_dependence, canon_hash, equiv_constant,
      	gen_lowpart_if_possible, cse_insn, invalidate_from_clobbers,
      	cse_around_loop, cse_check_loop_start, cse_set_around_loop,
      	count_reg_usage): Likewise.
      	* cselib.c (rtx_equal_for_cselib_p, add_mem_for_addr, cselib_lookup,
      	cselib_invalidate_mem, cselib_invalidate_rtx, cselib_record_set,
      	cselib_record_sets): Likewise.
      	* dbxout.c (PARM_PASSED_IN_MEMORY, dbxout_symbol,
      	dbxout_symbol_location, dbxout_parms, dbxout_reg_parms): Likewise.
      	* ddg.c (mark_mem_use, mark_mem_store, rtx_mem_access_p): Likewise.
      	* df.c (df_uses_record): Likewise.
      	* dojump (do_jump): Likewise.
      	* dwarf2out.c (stack_adjust_offset, mem_loc_descriptor,
      	loc_descriptor_from_tree, rtl_for_decl_location, add_bound_info,
      	decl_start_label): Likewise.
      	* emit-rtl.c (gen_complex_constant_part, gen_highpart,
      	operand_subword, change_address_1, make_safe_from): Likewise.
      	* explow.c (break_out_memory_refs, copy_all_regs, validize_mem,
      	stabilize, force_not_mem): Likewise.
      	* expmed.c (store_bit_field, store_split_bit_field, extract_bit_field,
      	expand_mult_const, expand_divmod, emit_store_flag): Likewise.
      	* expr.c (convert_move, convert_modes, emit_block_move,
      	emit_group_load, emit_group_store, clear_storage, emit_move_insn,
      	emit_move_insn_1, expand_assignment, store_expr,
      	store_constructor_field, store_constructor, store_field,
      	force_operand, safe_from_p, expand_expr_real_1, expand_increment):
      	Likewise.
      	* final.c (cleanup_subreg_operands, alter_subreg,
      	get_mem_expr_from_op): Likewise.
      	* flow.c (notice_stack_pointer_modification_1,
      	init_propagate_block_info, insn_dead_p, mark_set_1, mark_used_regs):
      	Likewise.
      	* function.c (mark_temp_addr_taken, preserve_temp_slots,
      	preserve_rtl_expr_result, put_var_into_stack, fixup_var_refs_1,
      	optimize_bit_field, flush_addressof, purge_addressof_1,
      	instantiate_decl, instantiate_virtual_regs_1, assign_parms,
      	setjmp_protect, setjmp_protect_args, fix_lexical_addr,
      	keep_stack_depressed): Likewise.
      	* ifcvt.c (noce_try_cmove_arith, noce_try_abs, noce_operand_ok,
      	noce_process_if_block, find_memory): Likewise.
      	* integrate.c (subst_constants, allocate_initial_values): Likewise.
      	* local-alloc.c (validate_equiv_mem_from_store, memref_referenced_p,
      	update_equiv_regs): Likewise.
      	* loop.c (scan_loop, prescan_loop, note_addr_stored, check_store,
      	maybe_eliminate_biv_1, find_mem_in_note_1): Likewise.
      	* optabs.c (expand_abs, emit_unop_insn): Likewise.
      	* passes.c (rest_of_handle_final): Likewise.
      	* postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands,
      	move2add_note_store): Likewise.
      	* ra-build.c (detect_remat_webs): Likewise.
      	* ra-debug.c (dump_static_insn_cost): Likewise.
      	* ra-rewrite.c (slots_overlap_p, insert_stores): Likewise.
      	* recog.c (validate_change, apply_change_group, cancel_changes,
      	validate_replace_rtx_1, general_operand, register_operand,
      	nonmemory_operand, push_operand, pop_operand, memory_operand,
      	indirect_operand, asm_operand_ok, offsettable_memref_p,
      	offsettable_nonstrict_memref_p, constrain_operands,
      	store_data_bypass_p): Likewise.
      	* reg-stack.c (subst_stack_regs_pat): Likewise.
      	* regclass.c (record_operand_costs, scan_one_insn, record_reg_classes,
      	copy_cost, reg_scan_mark_refs): Likewise.
      	* regmove.c (optimize_reg_copy_3, stack_memref_p,
      	combine_stack_adjustments_for_block): Likewise.
      	* regrename.c (copyprop_hardreg_forward_1): Likewise.
      	* reload.c (can_reload_into, push_reload, decompose, immune_p,
      	find_reloads, find_reloads_address, find_reloads_address_1,
      	reg_overlap_mentioned_for_reload_p, refers_to_mem_for_reload_p,
      	find_equiv_reg): Likewise.
      	* reload1.c (reload, eliminate_regs, eliminate_regs_in_insn,
      	reload_as_needed, choose_reload_regs, emit_input_reload_insns,
      	do_input_reload, emit_reload_insns, gen_reload, delete_output_reload,
      	delete_address_reloads): Likewise.
      	* resource.c (mark_referenced_resources): Likewise.
      	* rtlanal.c (get_jump_table_offset, count_occurrences,
      	reg_referenced_p, reg_set_p, set_of_1, set_noop_p,
      	reg_overlap_mentioned_p, note_uses, replace_regs, nonzero_bits1,
      	num_sign_bit_copies1): Likewise.
      	* rtlhooks.c (gen_lowpart_general): Likewise.
      	* sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
      	* sdbout.c (PARM_PASSED_IN_MEMORY, sdbout_symbol,
      	sdbout_toplevel_data, sdbout_parms, sdbout_reg_parms,
      	sdbout_global_decl): Likewise.
      	* simplify-rtx.c (simplify_subreg): Likewise.
      	* stmt.c (expand_asm_operands, expand_expr_stmt_value, expand_decl,
      	expand_anon_union_decl, expand_end_case_type): Likewise.
      	* unroll.c (calculate_giv_inc): Likewise.
      	* var-tracking.c (stack_adjust_offset_pre_post,
      	bb_stack_adjust_offset, track_expr_p, count_uses, add_uses,
      	add_stores, compute_bb_dataflow, vt_get_decl_and_offset,
      	vt_add_function_parameters): Likewise.
      	* varasm.c (make_var_volatile, notice_global_symbol,
      	assemble_external, decode_addr_const, mark_weak,
      	default_encode_section_info): Likewise.
      
      From-SVN: r83980
      Jerry Quinn committed
  13. 30 Jun, 2004 1 commit
    • Conditionally compile support for --enable-mapped_location. · 6773e15f
      	* cfgexpand.c:  Handle USE_MAPPED_LOCATION case for function_end_locus.
      	* cfglayout.c (insn_locators_initialize):  Const cleanup.  New macros.
      	* cfgrtl.c (delete_insn):  Use new NOTE_DELETED_LABEL_NAME macro.
      	* print-rtl.c (print_rtx):  Likewise.
      	* emit-rtl.c:  Don't clear NOTE_SOURCE_FILE if USE_MAPPED_LOCATION.
      	* combine.c:  Use new SET_INSN_DELETED macro.
      	* flow.c:  Likewise.
      	* haifa-sched.c:  Likewise.
      	* ifcvt.c:  Likewise.
      	* recog.c:  Likewise.
      	* reload1.c:  Likewise.
      	* diagnostic.c:  Use expand_location macro.
      	* pretty-print.c (pp_base_format_text):  Likewise.
      	* profile.c:  Likewise.
       	* dwarf2out.c:  Likewise.  Also use expand_location, DECL_IS_BUILTIN.
       	* dwarf2out.c (dwarf2out_decl:  Use BUILTINS_LOCATION.
      	* emit-rtl.c (emit_line_note):  Simplify if USE_MAPPED_LOCATION.
      	(force_next_line_note, insn_emit):  Handle USE_MAPPED_LOCATION case.
      	* final.c (final):  Likewise.
      	* haifa-sched.c:  Likewise.
      	* integrate.c:  Likewise.
      	* jump.c:  Likewise.
      	* rtl-error.c:  Likewise.
      	* stmt.c (check_seenlabel):  Likewise.
      	* tree-pretty-print.c:  Likewise.
      
      From-SVN: r83921
      Per Bothner committed
  14. 15 Jun, 2004 1 commit
    • alias.c (record_set, [...]): Use REG_P. · f8cfc6aa
      2004-06-15  Jerry Quinn  <jlquinn@optonline.net>
      
      	* alias.c (record_set, record_base_value, canon_rtx, get_addr,
      	nonlocal_mentioned_p_1, init_alias_analysis): Use REG_P.
      	* bt-load.c (find_btr_reference, insn_sets_btr_p, note_btr_set):
      	Likewise.
      	* builtins.c (expand_builtin_setjmp, expand_builtin_apply,
      	expand_builtin_mathfn, expand_builtin_strlen, expand_builtin_memcmp,
      	expand_builtin_strcmp, expand_builtin_strncmp,
      	expand_builtin_frame_address): Likewise.
      	* caller-save.c (mark_set_regs, add_stored_regs, mark_referenced_regs,
      	insert_one_insn): Likewise.
      	* calls.c (prepare_call_address, precompute_register_parameters,
      	precompute_arguments, expand_call, emit_library_call_value_1): Likewise.
      	* cfganal.c (flow_active_insn_p): Likewise.
      	* combine.c (set_nonzero_bits_and_sign_copies, can_combine_p,
      	combinable_i3pat, try_combine, find_split_point, COMBINE_RTX_EQUAL_P,
      	subst, combine_simplify_rtx, simplify_if_then_else, simplify_set,
      	make_extraction, recog_for_combine, gen_lowpart_for_combine,
      	simplify_comparison, record_dead_and_set_regs_1,
      	record_dead_and_set_regs, record_promoted_value,
      	check_promoted_subreg, get_last_value_validate, get_last_value,
      	reg_dead_at_p_1, reg_bitfield_target_p, distribute_notes,
      	unmentioned_reg_p_1): Likewise.
      	* conflict.c (mark_reg): Likewise.
      	* cse.c (HASH, COST, COST_IN, approx_reg_cost_1, notreg_cost,
      	mention_regs, insert_regs, lookup, lookup_for_remove, insert,
      	merge_equiv_classes, flush_hash_table, invalidate,
      	remove_invalid_refs, remove_invalid_subreg_refs, rehash_using_reg,
      	invalidate_for_call, use_related_value, canon_hash, exp_equiv_p,
      	cse_rtx_varies_p, canon_reg, find_best_addr, fold_rtx, equiv_constant,
      	record_jump_cond, cse_insn, addr_affects_sp_p,
      	invalidate_from_clobbers, cse_process_notes, cse_around_loop,
      	cse_set_around_loop, count_reg_usage, set_live_p, cse_change_cc_mode,
      	cse_cc_succs, cse_condition_code_reg): Likewise.
      	* cselib.c (cselib_reg_set_mode, rtx_equal_for_cselib_p,
      	cselib_lookup, cselib_invalidate_regno, cselib_invalidate_rtx,
      	cselib_record_set, cselib_record_sets): Likewise.
      	* dbxout.c (dbxout_symbol_location, dbxout_parms, dbxout_reg_parms,
      	dbxout_block): Likewise.
      	* df.c (df_ref_record, df_def_record_1, df_uses_record): Likewise.
      	* dojump.c (do_jump): Likewise.
      	* dwarf2out.c (dwarf2out_frame_debug_expr, is_pseudo_reg,
      	is_based_loc, rtl_for_decl_location): Likewise.
      	* emit-rtl.c (set_reg_attrs_for_parm, set_decl_rtl,
      	set_decl_incoming_rtl, mark_user_reg): Likewise.
      	* explow.c (copy_all_regs, copy_all_regs, memory_address, force_reg,
      	copy_to_suggested_reg, allocate_dynamic_stack_space,
      	probe_stack_range, hard_function_value): Likewise.
      	* expmed.c (store_bit_field, store_fixed_bit_field,
      	store_split_bit_field, extract_bit_field, extract_fixed_bit_field,
      	extract_split_bit_field, expand_divmod, emit_store_flag_force):
      	Likewise.
      	* expr.c (convert_move, convert_modes,
      	block_move_libcall_safe_for_call_parm, emit_group_load, use_reg,
      	use_group_regs, emit_move_insn, emit_move_insn_1,
      	compress_float_constant, push_block, emit_single_push_insn,
      	emit_push_insn, get_subtarget, expand_assignment, store_expr,
      	store_constructor, store_field, force_operand, safe_from_p,
      	expand_expr_real_1, expand_increment, do_store_flag, do_tablejump):
      	Likewise.
      	* final.c (profile_function, final_scan_insn, alter_subreg,
      	get_mem_expr_from_op, output_asm_operand_names, output_operand,
      	only_leaf_regs_used, leaf_renumber_regs_insn): Likewise.
      	* flow.c (verify_wide_reg_1, mark_regs_live_at_end,
      	find_regno_partial, propagate_one_insn, init_propagate_block_info,
      	insn_dead_p, libcall_dead_p, mark_set_1, not_reg_cond,
      	attempt_auto_inc, find_auto_inc, mark_used_regs,
      	count_or_remove_death_notes_bb): Likewise.
      	* function.c (find_temp_slot_from_address, update_temp_slot_address,
      	preserve_temp_slots, put_var_into_stack, fixup_var_refs_insn,
      	fixup_var_refs_1, fixup_stack_1, optimize_bit_field, flush_addressof,
      	put_addressof_into_stack, purge_addressof_1, insns_for_mem_walk,
      	purge_single_hard_subreg_set, instantiate_decl,
      	instantiate_virtual_regs_1, aggregate_value_p, assign_parms,
      	promoted_input_arg, setjmp_vars_warning, setjmp_args_warning,
      	setjmp_protect, setjmp_protect_args, fix_lexical_addr,
      	expand_function_start, diddle_return_value, clobber_return_register,
      	expand_function_end, keep_stack_depressed, handle_epilogue_set,
      	update_epilogue_consts): Likewise.
      	* genemit.c (gen_exp, gen_insn): Likewise.
      	* genrecog.c (make_insn_sequence): Likewise.
      	* global.c (global_conflicts, expand_preferences, mark_reg_store,
      	mark_reg_conflicts, set_preference, reg_becomes_live,
      	build_insn_chain, mark_reg_change): Likewise.
      	* haifa_sched.c (CONST_BASED_ADDRESS_P, find_set_reg_weight):
      	Likewise.
      	* ifcvt.c (noce_try_abs, noce_get_condition, noce_process_if_block):
      	Likewise.
      	* integrate.c (copy_rtx_and_substitute, try_constants,
      	subst_constants, mark_stores, allocate_initial_values): Likewise.
      	* jump.c (reversed_comparison_code_parts, delete_prior_computation,
      	delete_computation, rtx_renumbered_equal_p, true_regnum,
      	reg_or_subregno): Likewise.
      	* lcm.c (reg_dies, reg_becomes_live): Likewise.
      	* local-alloc.c (validate_equiv_mem_from_store, validate_equiv_mem,
      	update_equiv_regs, no_equiv, block_alloc, combine_regs, reg_is_set,
      	wipe_dead_reg, no_conflict_p): Likewise.
      	* loop-iv.c (simple_reg_p, simple_set_p, kill_sets,
      	iv_get_reaching_def, iv_analyze_biv, altered_reg_used, mark_altered,
      	simple_rhs_p, simplify_using_assignment, implies_p): Likewise.
      	* loop.c (scan_loop, combine_movables, rtx_equal_for_loop_p,
      	move_movables, note_set_pseudo_multiple_uses, consec_sets_invariant_p,
      	find_single_use_in_loop, count_one_set, loop_bivs_init_find,
      	loop_givs_rescan, check_insn_for_bivs, check_insn_for_givs,
      	valid_initial_value_p, simplify_giv_expr, consec_sets_giv,
      	loop_regs_update, check_dbra_loop, maybe_eliminate_biv,
      	maybe_eliminate_biv_1, record_initial, update_reg_last_use,
      	canonicalize_condition, loop_regs_scan, load_mems, try_copy_prop,
      	try_swap_copy_prop): Likewise.
      	* optabs.c (expand_binop, expand_vector_binop, expand_vector_unop,
      	expand_abs, emit_no_conflict_block, emit_libcall_block, expand_float):
      	Likewise.
      	* postreload.c (reload_cse_simplify, reload_cse_simplify_set,
      	reload_cse_simplify_operands, reload_combine,
      	reload_combine_note_store, reload_combine_note_use,
      	reload_cse_move2add, move2add_note_store): Likewise.
      	* print-rtl.c (print_rtx): Likewise.
      	* ra-build.c (copy_insn_p, remember_move, init_one_web_common,
      	contains_pseudo, handle_asm_insn): Likewise.
      	* ra-debug.c (ra_print_rtx_object, dump_constraints,
      	dump_static_insn_cost): Likewise.
      	* ra-rewrite.c (slots_overlap_p, emit_colors,
      	remove_suspicious_death_notes): Likewise.
      	* recog.c (validate_replace_rtx_1, find_single_use_1, find_single_use,
      	register_operand, scratch_operand, nonmemory_operand,
      	constrain_operands): Likewise.
      	* reg-stack (check_asm_stack_operands, remove_regno_note,
      	emit_swap_insn, swap_rtx_condition, subst_stack_regs_pat,
      	subst_asm_stack_regs): Likewise.
      	* regclass.c (scan_one_insn, record_reg_classes, copy_cost,
      	record_address_regs, reg_scan_mark_refs): Likewise.
      	* regmove.c (discover_flags_reg, replacement_quality,
      	copy_src_to_dest, reg_is_remote_constant_p, regmove_optimize,
      	fixup_match_1): Likewise.
      	* regrename.c (note_sets, clear_dead_regs, build_def_use, kill_value,
      	kill_set_value, copyprop_hardreg_forward_1): Likewise.
      	* reload.c (MATCHES, push_secondary_reload, find_reusable_reload,
      	reload_inner_reg_of_subreg, can_reload_into, push_reload,
      	combine_reloads, find_dummy_reload, hard_reg_set_here_p,
      	operands_match_p, decompose, find_reloads, find_reloads_toplev,
      	find_reloads_address, subst_indexed_address, find_reloads_address_1,
      	find_reloads_subreg_address, find_replacement,
      	refers_to_regno_for_reload_p, reg_overlap_mentioned_for_reload_p,
      	refers_to_mem_for_reload_p, find_equiv_reg, regno_clobbered_p): Likewise.
      	* reload1.c (replace_pseudos_in, reload, calculate_needs_all_insns,
      	find_reg, delete_dead_insn, alter_reg, eliminate_regs,
      	elimination_effects, eliminate_regs_in_insn, scan_paradoxical_subregs,
      	forget_old_reloads_1, reload_reg_free_for_value_p, choose_reload_regs,
      	emit_input_reload_insns, emit_output_reload_insns, do_input_reload,
      	do_output_reload, emit_reload_insns, gen_reload,
      	delete_address_reloads_1, inc_for_reload): Likewise.
      	* reorg.c (update_reg_dead_notes, fix_reg_dead_note,
      	update_reg_unused_notes, fill_slots_from_thread): Likewise.
      	* resource.c (update_live_status, mark_referenced_resources,
      	mark_set_resources, mark_target_live_regs): Likewise.
      	* rtlanal.c (nonzero_address_p, get_jump_table_offset,
      	global_reg_mentioned_p_1, reg_mentioned_p, reg_referenced_p,
      	reg_set_p, set_noop_p, find_last_value, refers_to_regno_p,
      	note_stores, dead_or_set_p, dead_or_set_regno_p, find_regno_note,
      	find_reg_fusage, find_regno_fusage, replace_regs, regno_use_in,
      	parms_set, find_first_parameter_load, keep_with_call_p,
      	hoist_test_store, hoist_update_store, address_cost, nonzero_bits1,
      	num_sign_bit_copies1): Likewise.
      	* rtlhooks.c (gen_lowpart_general): Likewise.
      	* sched-deps.c (deps_may_trap_p, sched_analyze_1, sched_analyze_insn,
      	sched_analyze): Likewise.
      	* sched-rgn.c (check_live_1, update_live_1, sets_likely_spilled_1):
      	Likewise.
      	* sdbout.c (sdbout_symbol, sdbout_parms, sdbout_reg_parms): Likewise.
      	* simplify-rtx.c (simplify_replace_rtx, simplify_unary_operation,
      	simplify_binary_operation, simplify_const_relational_operation,
      	simplify_subreg): Likewise.
      	* stmt.c (decl_conflicts_with_clobbers_p, expand_asm_operands,
      	expand_end_stmt_expr, expand_return, expand_decl,
      	expand_anon_union_decl): Likewise.
      	* unroll.c (precondition_loop_p, calculate_giv_inc, copy_loop_body,
      	find_splittable_regs, find_splittable_givs, find_common_reg_term,
      	loop_iterations): Likewise.
      	* var-tracking.c (variable_union, variable_part_different_p,
      	variable_different_p, count_uses, add_uses, add_stores,
      	compute_bb_dataflow, set_variable_part, delete_variable_part,
      	emit_notes_in_bb, vt_get_decl_and_offset, vt_add_function_parameters):
      	Likewise.
      	* varasm.c (assemble_variable): Likewise.
      
      From-SVN: r83195
      Jerry Quinn committed
  15. 13 May, 2004 1 commit
  16. 20 Mar, 2004 1 commit
  17. 03 Mar, 2004 1 commit
    • alias.c (rtx_equal_for_memref_p): Use predicates to test rtx classes and new rtx class codes... · ec8e098d
      2004-02-07  Paolo Bonzini  <bonzini@gnu.org>
      
      	* alias.c (rtx_equal_for_memref_p): Use predicates
      	to test rtx classes and new rtx class codes, possibly
      	splitting conditionals that tested against '<' and 'o'.
      	* caller-save.c (save_call_clobbered_regs): Likewise.
      	* combine.c (contains_muldiv, find_split_point, subst,
      	combine_simplify_rtx, simplify_if_then_else,
      	simplify_set, simplify_logical, expand_compound_operation,
      	make_compound_operation, if_then_else_cond, known_cond,
      	apply_distributive_law, cached_nonzero_bits,
      	cached_num_sign_bit_copies, simplify_shift_const,
      	gen_binary, simplify_comparison, update_table_tick,
      	record_value_for_reg, get_lsat_value_validate): Likewise.
      	* cse.c (mention_regs, find_best_addr, find_comparison_args,
      	fold_rtx, cse_insn, invalidate_memory, cse_basic_block):
      	Likewise.
      	* emit-rtl.c (copy_insn_1): Likewise.
      	* expr.c (force_operand): Likewise.
      	* final.c (final_scan_insn, get_mem_expr_from_op): Likewise.
      	* flow.c (notice_stack_pointer_modification_1,
      	invalidate_mems_from_autoinc, ior_reg_cond, not_reg_cond,
      	and_reg_cond, elim_reg_cond): Likewise.
      	* function.c (update_epilogue_consts): Likewise.
      	* genattrtab.c (attr_rtx_1): Likewise.
      	* genopinit.c (gen_insn): Likewise.
      	* integrate.c (subst_constants): Likewise.
      	* jump.c (reversed_comparison_code_parts,
      	reversed_comparison_code, delete_related_insns,
      	rtx_renumbered_equal_p): Likewise.
      	* local-alloc.c (block_alloc): Likewise.
      	* loop.c (rtx_equal_for_prefetch_p, maybe_eliminate_biv,
      	canonicalize_condition): Likewise.
      	* loop-iv.c (simplify_using_conditions, iv_number_of_iterations):
      	Likewise.
      	* optabs.c (add_equal_node, expand_binop): Likewise.
      	* predict.c (estimate_probability): Likewise.
      	* ra-debug.c (ra_print_rtx_2op, ra_print_rtx): Likewise.
      	* recog.c (validate_replace_rtx_1, comparison_operator,
      	offsettable_address_p, constrain_operands): Likewise.
      	* reg-stack.c (swap_rtx_condition_1, subst_stack_regs_pat):
      	Likewise.
      	* regclass.c (scan_one_insn): Likewise.
      	* regmove.c (stable_and_no_regs_but_for_p): Likewise.
      	* regrename.c (kill_autoinc_value): Likewise.
      	* reload.c (find_reusable_reload, find_reloads,
      	reg_overlap_mentioned_for_reload_p): Likewise.
      	* reload1.c (gen_reload, delete_address_reloads_1): Likewise.
      	* rtl.c (copy_rtx): Likewise.
      	* rtl.h (CONSTANT_P, INSN_P): Likewise.
      	* rtlanal.c (commutative_operand_precedence): Likewise.
      	* sched-deps.c (conditions_mutex_p): Likewise.
      	* sched-rgn.c (is_cfg_nonregular): Likewise.
      	* simplify-rtx.c (simplify_gen_binary,
      	simplify_gen_relational, simplify_replace_rtx,
      	simplify_unary_operation, simplify_binary_operation,
      	simplify_ternary_operation, simplify_rtx): Likewise.
      	* unroll.c (reg_dead_after_loop): Likewise.
      	* config/alpha/alpha.c (alpha_swapped_comparison_operator,
      	print_operand): Likewise.
      	* config/arc/arc.c (proper_comparison_operator): Likewise.
      	* config/arm/arm.c (arm_arm_address_cost, arm_select_cc_mode):
      	Likewise.
      	* config/avr/avr.c (_reg_unused_after): Likewise.
      	* config/frv/frv.c (frv_ifcvt_modify_tests,
      	frv_ifcvt_modify_insn, frv_pack_insn): Likewise.
      	* config/i386/i386.c (ix86_comparison_operator,
      	ix86_carry_flag_operator, fcmov_comparison_operator,
      	arith_or_logical_operator, print_operand,
      	ix86_expand_binary_operator, ix86_binary_operator_ok):
      	Likewise.
      	* config/i386/i386.md: Likewise.
      	* config/ia64/ia64.c (not_postinc_memory_operand,
      	ia64_print_operand, update_set_flags, errata_emit_nops):
      	Likewise.
      	* config/ia64/ia64.h (PREFERRED_RELOAD_CLASS,
      	CONSTRAINT_OK_FOR_S): Likewise.
      	* config/ip2k/ip2k.c (mdr_resequence_xy_yx,
      	mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
      	ip2k_xexp_not_uses_reg_for_mem, ip2k_xexp_not_uses_reg_p,
      	ip2k_composite_xexp_not_uses_reg_p, ip2k_unary_operator):
      	Likewise.
      	* config/iq2000/iq2000.c (cmp_op, symbolic_expression_p,
      	eqne_comparison_operator, signed_comparison_operator):
      	Likewise.
      	* config/mips/mips.c (cmp_op, symbolic_expression_p):
      	Likewise.
      	* config/mmix/mmix (mmix_foldable_comparison_operator,
      	mmix_comparison_operator): Likewise.
      	* config/pa/pa.c (hppa_legitimize_address): Likewise.
      	* config/rs6000/rs6000.c (stmw_operation,
      	branch_comparison_operator, trap_comparison_operator,
      	ccr_bit): Likewise.
      	* config/rs6000/rs6000.h (SELECT_CC_MODE): Likewise.
      	* config/s390/s390.c (s390_alc_comparison,
      	s390_slb_comparison):L Likewise.
      	* config/sh/sh.c (gen_block_redirect, reg_unused_after):
      	Likewise.
      	* config/sparc/sparc.c (eq_or_neq, normal_comp_operator,
      	noov_compare_op, noov_compare64_op, v9_regcmp_op,
      	emit_hard_tfmode_operation, reg_unused_after)
      	* doc/md.texi, doc/rtl.texi: Likewise.
      
      	* ra-debug.c: Add 2004 to list of copyright years.
      	* unroll.c: Likewise.
      
      	* combine.c (simplify_logical): Remove dummy test,
      	(apply_distributive_law): Fix typo in comment.
      	GET_CODE (x) == AND so x is a commutative binary op.
      	* jump.c (delete_related_insns): simplify loop
      	condition, move testing of RTX codes inside the loop.
      	(rtx_renumbered_equal_p): do not use RTX_CODE.
      	* rtl.c (rtx_class): Declare as enum rtx_class.
      	* rtl.def (EQ, NE, UNEQ, LTGT, UNORDERED, ORDERED):
      	Move to RTX_COMM_COMPARE class.
      	(HIGH, SYMBOL_REF, LABEL_REF, CONST, CONST_INT, CONST_DOUBLE):
      	Move to RTX_CONST_OBJ class.
      	* rtl.h (enum rtx_class): New declaration,
      	(RTX_OBJ_MASK, RTX_OBJ_RESULT, RTX_COMPARE_MASK,
      	RTX_COMPARE_RESULT, RTX_ARITHMETIC_MASK, RTX_ARITHMETIC_RESULT,
      	RTX_BINARY_MASK, RTX_BINARY_RESULT, RTX_COMMUTATIVE_MASK,
      	RTX_COMMUTATIVE_RESULT, RTX_NON_COMMUTATIVE_RESULT,
      	RTX_EXPR_FIRST, RTX_EXPR_LAST, UNARY_P, BINARY_P,
      	ARITHMETIC_P, COMMUTATIVE_ARITHMETIC_P, COMPARISON_P,
      	SWAPPABLE_OPERANDS_P, NON_COMMUTATIVE_P, COMMUTATIVE_P,
      	OBJECT_P): New macros.
      	* config/sparc/sparc.c (noov_compare_op): Remove register
      	from parameter.
      
      From-SVN: r78824
      Paolo Bonzini committed
  18. 26 Feb, 2004 1 commit
  19. 06 Feb, 2004 1 commit
    • recog.c (split_all_insns): Do not update reg info. · 736b64dd
      	* recog.c (split_all_insns): Do not update reg info.
      	* regrename.c (regrename_optimize): Likewise.
      	* toplev.c (rest_of_handle_reorder_blocks): Likewise.
      	* flow.c (struct propagate_block_info): Add insn_num field.
      	(reg_deaths): New array.
      	(life_analysis): Free reg_deaths info.
      	(allocate_reg_life_data): Allocate reg_deaths array.
      	(propagate_one_insn): Use new array.
      	(init_propagate_block): Initialize it.
      	(free_propagate_block_info): Finish compuation of
      	REG_LIVE_LENGTH
      	(attempt_auto_inc): Sanity check that REG_INFO is not
      	computed at same time.
      	(mark_used_regs): Update new array.
      
      	* reg-stack.c (subst_stack_regs): Unshare clobbers before
      	substitution.
      
      From-SVN: r77396
      Jan Hubicka committed
  20. 02 Feb, 2004 1 commit
    • alias.c (record_set): Use hard_regno_nregs. · 66fd46b6
      	* alias.c (record_set): Use hard_regno_nregs.
      	* bt-load.c (find_btr_reference, note_btr_set): Likewise.
      	* builtins.c (apply_args_size): Likewise.
      	* caller-save.c (setup_save_areas, save_call_clobbered_regs,
      	mark_set_regs, add_stored_regs, mark_referenced_regs,
      	insert_restore, insert_save, insert_one_insn): Likewise.
      	* cfgcleanup.c: Include regs.h
      	(mark_effect, mentions_nonequal_regs): Likewise.
      	* cfgrtl.c (mark_killed_regs): Likewise
      	* combine.c (update_table_tick, record_value_for_reg,
      	record_dead_and_set_regs, get_last_value_validate, use_crosses_set_p,
      	reg_dead_at_p_1, reg_dead_at_p, mark_used_regs_combine, move_deaths,
      	reg_bitfield_target_p, distribute_notes): Likewise.
      	* cse.c (mention_regs, insert, invalidate, invalidate_for_call,
      	exp_equiv_p, cse_insn): Likewise.
      	* cselib.c (cselib_lookup): Likewise.
      	(cselib_invalidate_regno, cselib_record_set): Likewise.
      	* df.c (df_ref_record): Likewise.
      	* dwarf2out.c (reg_loc_descriptor, multiple_reg_loc_descriptor):
      	Likewise.
      	* flow.c (mark_reg, insn_dead_p, mark_set_1, mark_used_reg,
      	count_or_remove_death_notes_bb): Likewise.
      	* function.c (aggregate_value_p, keep_stack_depressed): Likewise.
      	* gloval.c (global_alloc, find_reg, mark_reg_store, mark_reg_conflicts,
      	mark_reg_death, set_preference, reg_becomes_live, reg_dies): Likewise.
      	* integrate.c (mark_stores): Likewise.
      	* jump.c (delete_prior_computation): Likewise.
      	* lcm.c (reg_dies, reg_becomes_live): Likewise.
      	* local-alloc.c (combine_regs, find_free_reg, post_mark_life): Likewise.
      	* loop.c (LOOP_REGNO_NREGS): Likewise.
      	* postreload.c (reload_combine, reload_combine_note_store,
      	reload_combine_note_use, reload_cse_move2add, move2add_note_store): Likewise.
      	* ra-colorize.c (combine, color_usable_p, get_free_reg,
      	calculate_dont_begin, calculate_dont_begin, colorize_one_web,
      	try_recolor_web, insert_coalesced_conflicts, check_colors,
      	break_precolored_alias): Likewise.
      	* ra-debug.c: Include regs.h
      	(ra_print_rtx_object): Likewise.
      	* ra-rewrite (choose_spill_colors): Likewise.
      	(spill_same_color_p, update_spill_colors, spill_is_free): Likewise.
      	* ra.c (init_ra): Likewise.
      	* recog.c (reg_fits_class_p, peep2_reg_dead_p,
      	peep2_find_free_register): Likewise.
      	* reg-stack.c (subst_stack_regs_pat, convert_regs_exit): Likewise.
      	* regclass.c (hard_regno_nregs): New array.
      	(init_reg_modes_once): Initialize it.
      	(choose_hard_reg_mode): Use it.
      	(record_reg_classes): Likewise.
      	* regmove.c (mark_flags_life_zones): Likewise.
      	* regrename.c (note_sets, clear_dead_regs, regrename_optimize,
      	scan_rtx_reg, dump_def_use_chain, kill_value, set_value_regno,
      	copy_value, maybe_mode_change, find_oldest_value_reg,
      	copyprop_hardreg_forward_1):
      	* regs.h (hard_regno_nregs): Declare.
      	* realod.c (reload_inner_reg_of_subreg): Use it.
      	(push_reload, combine_reloads, find_dummy_reload,
      	hard_reg_set_here_p, operands_match_p, decompose, find_reloads,
      	refers_to_regno_for_reload_p, find_equiv_reg, regno_clobbered_p,
      	reload_adjust_reg_for_mode): Likewise.
      	* reload1.c (compute_use_by_pseudos, count_pseudo,
      	count_spilled_pseudo, find_reg, find_reload_regs, mark_home_live,
      	spill_hard_reg, forget_old_reloads_1, mark_reload_reg_in_use,
      	clear_reload_reg_in_use, reload_reg_free_for_value_p, free_for_value_p
      	allocate_reload_reg, choose_reload_regs, emit_reload_insns,
      	delete_output_reload): Likewise.
      	* resource.c (update_live_status, mark_referenced_resources,
      	mark_set_resources, mark_target_live_regs): Likewise.
      	* rtlanal.c:  Include regs.h
      	(refers_to_regno_p, reg_overlap_mentioned_p, dead_or_set_p,
      	dead_or_set_regno_p, find_regno_note, find_reg_fusage,
      	subreg_regno_offset, subreg_offset_representable_p,
      	hoist_test_store): Likewise.
      	* sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
      	* sched-rgn.c (check_live_1, update_live_1): Likewise.
      	* stmt.c: Include regs.h
      	(decl_conflicts_with_clobbers_p): Likewise.
      	* varasm.c (make_decl_rtl): Likewise.
      	* Makefile.in (cfgcleanup.o, rtlanal.o, ra-debug.o): Add regs.h dependnecy.
      
      From-SVN: r77088
      Jan Hubicka committed
  21. 23 Jan, 2004 1 commit
  22. 21 Jan, 2004 1 commit
    • alias.c, [...]: Update copyright. · d9221e01
      	* alias.c, basic-block.h, c-common.c, c-common.h,
      	c-cppbuiltin.c, c-opts.c, c-pragma.c, c-pretty-print.c,
      	calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c,
      	combine.c, cppcharset.c, cpphash.h, cppinit.c, cpplib.c,
      	cpplib.h, cppmacro.c, crtstuff.c, cselib.c, cselib.h,
      	defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c,
      	expr.h, fix-header.c, function.h, gcc.c, gcse.c, genattrtab.c,
      	genautomata.c, genconditions.c, genemit.c, genflags.c,
      	gengtype.c, gengtype.h, genopinit.c, genrecog.c, gensupport.c,
      	ggc-zone.c, graph.c, haifa-sched.c, input.h, integrate.c,
      	langhooks-def.h, langhooks.c, langhooks.h, line-map.c,
      	line-map.h, local-alloc.c, optabs.c, optabs.h, postreload.c,
      	ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c,
      	rtl.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h,
      	target.h, targhooks.c, toplev.h, tree-inline.c, unwind-pe.h,
      	unwind.h, varray.c, varray.h: Update copyright.
      
      From-SVN: r76302
      Kazu Hirata committed
  23. 10 Jan, 2004 1 commit
  24. 06 Jan, 2004 1 commit
    • alias.c: Fix comment typos. · 5d3cc252
      	* alias.c: Fix comment typos.
      	* builtins.c: Likewise.
      	* cfg.c: Likewise.
      	* df.c: Likewise.
      	* dominance.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* expr.c: Likewise.
      	* final.c: Likewise.
      	* fold-const.c: Likewise.
      	* gcse.c: Likewise.
      	* genattrtab.c: Likewise.
      	* genrecog.c: Likewise.
      	* gensupport.c: Likewise.
      	* ggc-zone.c: Likewise.
      	* integrate.c: Likewise.
      	* local-alloc.c: Likewise.
      	* loop.c: Likewise.
      	* recog.c: Likewise.
      	* regmove.c: Likewise.
      	* reg-stack.c: Likewise.
      	* reorg.c: Likewise.
      	* rtlanal.c: Likewise.
      	* rtl.h: Likewise.
      	* sched-ebb.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* toplev.c: Likewise.
      	* varasm.c: Likewise.
      
      From-SVN: r75475
      Kazu Hirata committed
  25. 01 Jan, 2004 1 commit
    • re PR rtl-optimization/13473 (cc1 segfault w/-march=pentium4) · b684a3df
      	PR opt/13473
      	* recog.c (validate_replace_rtx_1):  Take care for RTL sharing inside
      	ASM input operands
      
      	PR opt/12617
      	* toplev.c (dump_file_index): Reorder ce3 and bbro.
      	(dump_file): Likewise.
      	(rest_of_compilation): Likewise.
      
      	PR debug/13367
      	* cgraph.c (cgraph_function_possibly_inlined):  Even with
      	flag_really_no_inline we inline always_inline functions.
      	* cgraphunit.c (cgraph_analyze_function): Clear inlinable flag
      	for non-always_inline functions when there is flag_really_no_inline.
      	(cgraph_decide_inlining): Limit work done when not inlining.
      	(cgraph_decide_inlining_incrementally): Likewise.
      	(cgraph_optimize_function): Check whether something got inlined.
      	* c-objc-common.c (c_disregard_inline_limits): Do not always inline
      	extern inline functions when not inlining.
      
      	* opts.c (decode_options):  Disable crossjumping at -O1
      	* invoke.texi (-O1): Document change.
      
      	* gcc.dg/debug/20031231-1.c: New.
      	* gcc.c-torture/compile/20040101-1.c: New.
      	* gcc.dg/dwarf-die-[1-7].c: New.
      
      From-SVN: r75303
      Jan Hubicka committed
  26. 11 Dec, 2003 1 commit
    • basic-block.h (BLOCK_HEAD, BLOCK_END): Remove. · a813c111
      2003-12-11  Steven Bosscher  <steven@gcc.gnu.org>
      
      	* basic-block.h (BLOCK_HEAD, BLOCK_END): Remove.
      	(BLOCK_HEAD_TREE, BLOCK_END_TREE): Remove.
      	(basic_block_def): Rename `head' to `head_' and `end' to `end_'.
      	(BB_HEAD, BB_END): New accessor macros for the `head_' and `end_'
      	fields of a basic block.
      	* bb-reorder.c, bt-load.c, caller-save.c, cfg.c, cfganal.c,
      	cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgloopanal.c,
      	cfgloopmanip.c, cfgrtl.c, combine.c, conflict.c, df.c, emit-rtl.c,
      	final.c, flow.c, function.c, gcse.c, global.c, graph.c,
      	haifa-sched.c, ifcvt.c, lcm.c, local-alloc.c, loop-unswitch.c,
      	loop.c, postreload.c, predict.c, profile.c, ra-build.c, ra-debug.c,
      	ra-rewrite.c, ra.c, recog.c, reg-stack.c, regclass.c, regmove.c,
      	regrename.c, reload1.c, resource.c, sched-ebb.c, sched-rgn.c,
      	sibcall.c, tracer.c, config/frv/frv.c, config/i386/i386.c,
      	config/ia64/ia64.c: Use the BB_HEAD and BB_END macros instead of
      	accessing the `head' and `end' fields of a basic block directly.
      
      	* gengtype.c: Add missing piece from earlier patch.  Dunno what
      	I was thinking...
      
      From-SVN: r74520
      Steven Bosscher committed
  27. 02 Dec, 2003 1 commit
    • re PR rtl-optimization/11634 ([hppa] ICE in verify_local_live_at_start, at flow.c:555) · d9e7c8e3
      	PR optimization/11634
      	* recog.c (split_insn): Factor test of INSN_P and handling of
      	set_noop_p out of here into the two callers.
      	(split_all_insns): Add INSN_P test and set_noop_p handling here.
      	If deleting a no-op set after reload that has a REG_UNUSED note,
      	mark the basic block as changed and recalculate life information.
      	(split_all_insns_noflow): Add INSN_P test and set_noop_p handling
      	here.
      
      	* gcc.dg/20031201-2.c: New test case.
      
      From-SVN: r74145
      Roger Sayle committed
  28. 23 Nov, 2003 1 commit
  29. 30 Oct, 2003 1 commit
    • Fix problem noticed by Dale Johannesen on the gcc list. · 3b6c3bb0
      	* recog.c (asm_operand_ok): Add missing break after case 'X'.
      	Change if statements to else if statements in default case.
      	(extract_constrain_insn_cached): Fix misspelling of constrain_operands
      	in comment.
      	(constrain_operands_cached): Likewise.
      	(constrain_operands): Change if statements to else if statements in
      	default case.
      	* reload.c (find_reloads): Likewise.
      
      From-SVN: r73074
      James E Wilson committed
  30. 22 Aug, 2003 1 commit
  31. 22 Jul, 2003 1 commit
    • alias.c: Fix comment formatting. · 938d968e
      	* alias.c: Fix comment formatting.
      	* c-common.c: Likewise.
      	* c-decl.c: Likewise.
      	* c-opts.c: Likewise.
      	* combine.c: Likewise.
      	* cpplib.c: Likewise.
      	* diagnostic.c: Likewise.
      	* dojump.c: Likewise.
      	* final.c: Likewise.
      	* fold-const.c: Likewise.
      	* gcc.c: Likewise.
      	* gcse.c: Likewise.
      	* ggc-page.c: Likewise.
      	* jump.c: Likewise.
      	* loop.c: Likewise.
      	* mips-tfile.c: Likewise.
      	* recog.c: Likewise.
      	* regclass.c: Likewise.
      	* regmove.c: Likewise.
      	* tree.c: Likewise.
      	* tree.h: Likewise.
      
      From-SVN: r69689
      Kazu Hirata committed
  32. 19 Jul, 2003 1 commit
    • alias.c [...]: Remove unnecessary casts. · 703ad42b
      	* alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
      	c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
      	c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
      	collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
      	cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
      	cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
      	dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
      	fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
      	gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
      	genemit.c genextract.c genoutput.c genrecog.c gensupport.c
      	ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
      	integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
      	loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
      	postreload.c prefix.c print-tree.c protoize.c ra-build.c
      	ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
      	regmove.c regrename.c reload.c reload1.c reorg.c resource.c
      	sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
      	simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
      	tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
      	varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
      	casts.
      
      From-SVN: r69587
      Kaveh R. Ghazi committed
  33. 06 Jul, 2003 1 commit
    • jump.c: Convert prototypes to ISO C90. · 0c20a65f
      	* jump.c: Convert prototypes to ISO C90.
      	* langhooks-def.h: Likewise.  Add extern to prototypes.
      	* langhooks.c: Likewise.
      	* langhooks.h: Likewise.
      	* lcm.c: Likewise.
      	* local-alloc.c: Likewise.
      	* loop-init.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* loop-unswitch.c: Likewise.
      	* loop.c: Likewise.
      	* loop.h: Likewise. Add extern to prototypes.
      	* machmode.h: Likewise.
      	* main.c: Likewise.
      	* mbchar.c: Likewise.
      	* mbchar.h: Likewise.
      	* mkdeps.c: Likewise.
      	* mkdeps.h: Likewise.
      	* optabs.c: Likewise.
      	* optabs.h: Likewise.
      	* output.h: Likewise.
      	* gccspec.c: Likwise.
      	* postreload.c: Likewise.
      	* prefix.c: Likewise.
      	* prefix.h: Likewise.
      	* print-rtl.c: Likewise.
      	* print-tree.c: Likewise.
      	* profile.c: Likewise.
      	* read-rtl.c: Likewise.
      	* real.c: Likewise.
      	* real.h: Likewise.
      	* recog.c: Likewise.
      	* recog.h: Likewise.
      	* reg-stack.c: Likewise.
      	* regclass.c: Likewise.
      	* regmove.c: Likewise.
      	* regrename.c: Likewise.
      	* regs.h: Likewise.
      	* reload.c: Likewise.
      	* reload.h: Likewise.
      	* reload1.c: Likewise.
      	* reorg.c: Likewise.
      	* resource.c: Likewise.
      	* resource.h: Likewise.
      	* rtl-error.c: Likewise.
      	* rtl.c: Likewise.
      	* rtl.h: Likewise.
      	* rtlanal.c: Likewise.
      
      From-SVN: r68998
      Andreas Jaeger committed
  34. 23 Jun, 2003 1 commit
  35. 18 Jun, 2003 1 commit
    • bt-load.c: New file. · fe3ad572
      2003-06-18  Stephen Clarke <stephen.clarke@superh.com>
                  J"orn Rennecke <joern.rennecke@superh.com>
      
      	* bt-load.c: New file.
      	* Makefile.in (OBJS): Include bt-load.o
      	(bt-load.o): Add dependencies.
      	* flags.h (flag_branch_target_load_optimize): Declare.
      	(flag_branch_target_load_optimize2): Likewise.
      	* hooks.c (hook_reg_class_void_no_regs): New function.
      	(hook_bool_bool_false): Likewise.
      	* hooks.h (hook_reg_class_void_no_regs, hook_bool_bool_false): Declare.
      	* rtl.h (branch_target_load_optimize): Declare.
      	* target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define.
      	(TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
      	(TARGET_INITIALIZER): Include these.
      	* target.h (struct gcc_target): Add branch_target_register_class
      	and branch_target_register_callee_saved members.
      	* toplev.c (enum dump_file_index): Add DFI_branch_target_load
      	(dump_file) Add "tars" entry.
      	(flag_branch_target_load_optimize): New variable.
      	(flag_branch_target_load_optimize2): Likewise.
      	(lang_independent_options): Add entries for new options.
      	(rest_of_compilation): Call branch_target_load_optimize.
      	* doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Document.
      	(TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
      	* doc/invoke.texi: Document -fbranch-target-load-optimize and
      	-fbranch-target-load-optimize2.
      	* rtl.h (epilogue_completed): Declare.
      	* recog.c (epilogue_completed): New variable.
      	* toplev.c (rest_of_compilation): Set it.
      	* flow.c (mark_regs_live_at_end): Use it.
      	* config/ia64/ia64.c (ia64_output_mi_thunk): Set it.
      	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
      	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
      	* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
      
      	* sh.c (shmedia_space_reserved_for_target_registers): New variable.
      	(sh_target_reg_class): New function.
      	(sh_optimize_target_register_callee_saved): Likwise.
      	(shmedia_target_regs_stack_space): Likewise.
      	(shmedia_reserve_space_for_target_registers_p): Likewise.
      	(shmedia_target_regs_stack_adjust): Likewise.
      	(TARGET_BRANCH_TARGET_REGISTER_CLASS): Override.
      	(TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
      	(calc_live_regs): If flag_branch_target_load_optimize2 and
      	TARGET_SAVE_ALL_TARGET_REGS is enabled, and we have space reserved
      	for target registers, make sure that we save all target registers.
      	(sh_expand_prologue, sh_expand_epilogue): Take target register
      	optimizations into account.  Collapse stack adjustments if that
      	is beneficial.
      	(initial_elimination_offset): Reserve space for target registers
      	if necessary.
      	* sh.h (SAVE_ALL_TR_BIT, TARGET_SAVE_ALL_TARGET_REGS): Define.
      	(OPTIMIZATION_OPTIONS): Enable flag_branch_target_load_optimize.
      
      Co-Authored-By: J"orn Rennecke <joern.rennecke@superh.com>
      
      From-SVN: r68165
      Stephen Clarke committed
  36. 08 Jun, 2003 1 commit
    • cfglayout.c (insn_scope): New static function · 0435312e
      	* cfglayout.c (insn_scope): New static function
      	(block_locators_*, line_locators*, file_locators*): New static varrays.
      	(scope_to_insns_initialize): Use them.
      	(insn_line, insn_file): New functions.
      	(scope_to_insns_finalize): Use insn_scope.
      	(prologue_locator, epilogue_locator): New global variables.
      	* emit-rt.c (try_split, make_insn_raw, make_jump_insn_raw,
      	make_call_insn_raw, emit_copy_of_insn_after): Use locators.
      	(emit_insn_after_scope, emit_insn_before_scope
      	emit_jump_insn_after_scope, emit_jump_insn_before_scope
      	emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
      	(emit_insn_after_setloc, emit_insn_before_setloc
      	emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
      	emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
      	use locators.
      	* final.c (notice_source_line): Use locators.
      	(final_start_function): Set initial source file and line.
      	(final_scan_insn): Use locators.
      	* ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
      	noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
      	noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
      	noce_process_if_block, find_cond_trap): Likewise.
      	* integrate.c (copy_insn_list): Likewise.
      	* jump.c (duplicate_loop_exit_test): LIkewise.
      	* print-rtl.c (print_rtx): Print locators.
      	* recog.c (peephole2_optimize): Likewise.
      	* rtl.h (INSN_SCOPE): Remove.
      	(emit_insn_after_scope, emit_insn_before_scope
      	emit_jump_insn_after_scope, emit_jump_insn_before_scope
      	emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
      	(emit_insn_after_setloc, emit_insn_before_setloc
      	emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
      	emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
      	(insn_file, insn_line, prologue_locator, epilogue_locator): Declare.
      	* unroll.c (copy_loop_body): Use locators.
      	* function.c (set_insn_locators): New function.
      	(thread_prologue_and_epilogue_insns): Set the locators accordingly.
      
      From-SVN: r67637
      Jan Hubicka committed
  37. 06 Jun, 2003 2 commits
  38. 18 Feb, 2003 1 commit
  39. 17 Feb, 2003 1 commit