1. 05 Jan, 2005 1 commit
    • combine.c (expand_compound_operation): Add comment that we fall through after case. · 46d096a3
      	* combine.c (expand_compound_operation)  <ZERO_EXTRACT>: Add
      	comment that we fall through after case.
      	(mark_used_regs_combine): Don't expect a SIGN_EXTRACT in a SET_DEST.
      	(distribute_links): Likewise.
      	* cse.c (cse_insn): Likewise.
      	* cselib.c (cselib_invalidate_mem): Likewise.
      	* df.c: Update comments at the top of the file.
      	(read_modify_subreg_p): Update comments here too.
      	(df_def_record_1): Don't expect a SIGN_EXTRACT in a SET_DEST.
      	* flow.c (mark_set_1): Likewise.
      	(mark_used_regs): Likewise.
      	* gcse.c (mems_conflict_for_gcse_p): Likewise.
      	(canon_list_insert): Likewise.
      	(mark_set): Likewise.
      	(try_replace_reg): Likewise.
      	(store_killed_in_insn): Likewise.
      	* loop.c (count_one_set): Likewise.
      	(basic_induction_var): Likewise.
      	* postreload-gcse.c (find_mem_conflicts): Likewise.
      	* postreload.c (reload_combine_note_store): Likewise.
      	(move2add_note_store): Likewise.
      	* reload.c (find_equiv_reg): Likewise.
      	(mark_referenced_resources): Likewise.
      	* rtlanal.c (set_noop_p): Likewise.
      	(note_stores): Likewise.
      	(note_uses): Likewise.
      	* sched-deps.c (sched_analyze_1): Likewise.
      	* sched-rgn.c (check_live_1): Likewise.
      	(update_live_1): Likewise.
      	* config/i860/i860.c: Likewise.
      
      	* rtl.dec (SIGN_EXTRACT): Document that this cannot appear as
      	an lvalue.
      	(ZERO_EXTRACT): Mention that this one can be an lvalue.
      
      	* doc/rtl.texi: Update documentation for bit-fields and SET.
      
      From-SVN: r92974
      Steven Bosscher committed
  2. 04 Dec, 2004 1 commit
  3. 29 Nov, 2004 1 commit
  4. 23 Nov, 2004 1 commit
    • function.h (struct function): Remove calls_longjmp. · 6e14af16
      	* function.h (struct function): Remove calls_longjmp.
      	(current_function_calls_longjmp): Delete.
      	* tree.h (ECF_LONGJMP): Delete.
      	(ECF_SIBCALL, ECF_PURE, ECF_SP_DEPRESSED, ECF_ALWAYS_RETURN)
      	(ECF_LIBCALL_BLOCK): Everybody slide down one.
      	(ECF_CONST, ECF_NORETURN, ECF_SIBCALL): Clarify comments.
      	* builtins.c (expand_builtin_longjmp): Don't set
      	current_function_calls_longjmp.
      	* calls.c (special_function_p): Mark longjmp and siglongjmp
      	with ECF_NORETURN, not ECF_LONGJMP.
      	(emit_call_1, expand_call, emit_library_call_value_1):
      	Don't check for ECF_LONGJMP.
      	* tree-cfg.c (make_exit_edges, is_ctrl_altering_stmt)
      	(need_fake_edge_p): Likewise.
      
      	* config/avr/avr.h, config/ip2k/ip2k.h: Don't define NON_SAVING_SETJMP.
      	* system.h: Poison NON_SAVING_SETJMP.
      	* function.c (use_register_for_decl)
      	* gcse.c (compute_hash_table_work, compute_store_table)
      	* postreload-gcse.c (record_opr_changes)
      	* reload.c (find_equiv_reg)
      	* reload1.c (reload)
      	* config/i386/i386.c (ix86_can_use_return_insn_p):
      	Remove code conditional on NON_SAVING_SETJMP.
      	* doc/tm.texi: Delete documentation of NON_SAVING_SETJMP.
      
      	* config/i386/sysv3.h: Delete file.
      	* config/i386/i386.c (ix86_svr3_asm_out_constructor): Delete.
      
      From-SVN: r91101
      Zack Weinberg committed
  5. 04 Nov, 2004 1 commit
    • bitmap.c (bitmap_print): Make bitno unsigned. · 3cd8c58a
      	* bitmap.c (bitmap_print): Make bitno unsigned.
      	* bt-load.c (clear_btr_from_live_range,
      	btr_def_live_range): Likewise.
      	* caller-save.c (save_call_clobbered_regs): Likewise.
      	* cfganal.c (compute_dominance_frontiers_1): Likewise.
      	* cfgcleanup.c (thread_jump): Likewise.
      	* cfgrtl.c (safe_insert_insn_on_edge): Likewise.
      	* conflict.c (conflict_graph_compute): Likewise.
      	* ddg.c (add_deps_for_use): Likewise.
      	* df.c (df_refs_update): Likewise.
      	* except.c (remove_eh_handler): Likewise.
      	* flow.c (verify_local_live_at_start, update_life_info,
      	initialize_uninitialized_subregs, propagate_one_insn,
      	free_propagate_block_info, propagate_block, find_use_as_address,
      	reg_set_to_hard_reg_set): Likewise.
      	* gcse.c (clear_modify_mem_tables): Likewise.
      	* global.c (global_conflicts, build_insn_chain): Likewise.
      	* ifcvt.c (dead_or_predicable): Likewise.
      	* local-alloc.c (update_equiv_regs): Likewise.
      	* loop.c (load_mems): Likewise.
      	* ra-build.c (livethrough_conflicts_bb, conflicts_between_webs):
      	Likewise.
      	* ra-rewrite.c (reloads_to_loads, rewrite_program2, actual_spill):
      	Likewise.
      	* reload1.c (order_regs_for_reload, finish_spills): Likewise.
      	* sched-deps.c (sched_analyze_insn, free_deps): Likewise.
      	* sched-rgn.c (propagate_deps
      	* tree-cfg.c (tree_purge_all_dead_eh_edges): Likewise.
      	* tree-dfa.c (dump_dfa_stats
      	tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
      	insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags):
      	Likewise.
      	* tree-outof-ssa.c (coalesce_ssa_name, coalesce_vars,
      	free_temp_expr_table, find_replaceable_exprs): Likewise.
      	* tree-sra.c (scan_function, scalarize_parms): Likewise.
      	* tree-ssa-alias.c (init_alias_info,
      	compute_points_to_and_addr_escape,
      	compute_flow_sensitive_aliasing, maybe_create_global_var): Likewise.
      	* tree-ssa-dce.c (mark_control_dependent_edges_necessary): Likewise.
      	* tree-ssa-live.c (new_tree_live_info, live_worklist,
      	calculate_live_on_entry, calculate_live_on_exit, compare_pairs,
      	sort_coalesce_list, build_tree_conflict_graph, dump_live_info
      	tree-ssa-loop-manip.c (add_exit_phis_var): Likewise.
      	tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
      	add_call_read_ops): Likewise.
      	* tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Likewise.
      	* tree-ssa-live.h (num_var_partitions): Return unsigned.
      
      From-SVN: r90053
      Nathan Sidwell committed
  6. 30 Oct, 2004 1 commit
    • re PR rtl-optimization/17581 (Long long arithmetic fails inside a switch/case… · 5976e643
      re PR rtl-optimization/17581 (Long long arithmetic fails inside a switch/case statement when compiled with -O2)
      
      
      	PR rtl-optimization/17581
      	* cselib.c (cselib_process_insn): The last instruction of a libcall
      	block, with the REG_RETVAL note, should be considered in the libcall.
      	* gcse.c (do_local_cprop): Allow constants to be propagated outside
      	of libcall blocks.
      	(adjust_libcall_notes): Use simplify_replace_rtx instead of
      	replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
      
      	* gcc.dg/pr17581-1.c: New test case.
      
      From-SVN: r89873
      Roger Sayle committed
  7. 13 Oct, 2004 1 commit
    • basic-block.h (edge_iterator): Keep the address of VEC(edge) *. · f76ccf60
      	* basic-block.h (edge_iterator): Keep the address of VEC(edge) *.
      	(ei_container): New; renamed.
      	(ei_start, ei_last): New macros.
      	(ei_start_1, ei_last_1): Renamed from ei_start.
      	(ei_last_1, ei_end_p): Use ei_container() where applicable.
      	(ei_one_before_end_p, ei_next, ei_edge): Likewise.
      	* gcse.c (remove_reachable_equiv_notes): Use ei_container().
      
      From-SVN: r88966
      Ben Elliston committed
  8. 30 Sep, 2004 1 commit
    • re PR debug/13974 (bad line marker in debug info) · a7102479
      	PR debug/13974
      	* cfgrtl.c (try_redirect_by_replacing_jump,
      	force_nonfallthru_and_redirect, commit_one_edge_insertion,
      	cfg_layout_merge_blocks):  Do not attach any line number information
      	to newly inserted instructions.
      	* emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to
      	emit_insn_*_noloc.
      	(emit_*insn_before, emit_insn*_after): New.
      	(emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite
      	existing locators.
      	* rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare.
      	(emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill.
      
      From-SVN: r88358
      Jan Hubicka committed
  9. 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
  10. 26 Sep, 2004 1 commit
    • bitmap.h (EXECUTE_IF_SET_IN_BITMAP, [...]): Changed to iterator style. · 87c476a2
      	* bitmap.h (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_COMPL_IN_BITMAP,
      	EXECUTE_IF_AND_IN_BITMAP): Changed to iterator style.
      	(bitmap_iterator): New type.
      	(bmp_iter_common_next_1, bmp_iter_single_next_1, bmp_iter_single_init,
      	bmp_iter_end_p, bmp_iter_single_next, bmp_iter_and_not_next_1,
      	bmp_iter_and_not_init, bmp_iter_and_not_next, bmp_iter_and_next_1,
      	bmp_iter_and_init, bmp_iter_and_next): New functions.
      	* basic-block.h (EXECUTE_IF_SET_IN_REG_SET,
      	EXECUTE_IF_AND_COMPL_IN_REG_SET, EXECUTE_IF_AND_IN_REG_SET): Changed to
      	use iterator-style EXECUTE_IF_IN_BITMAP macros.
      	* bitmap.c (bitmap_print): Ditto.
      	* bt-load.c (clear_btr_from_live_range, add_btr_to_live_range,
      	btr_def_live_range): Ditto.
      	* cfganal.c (compute_dominance_frontiers_1) Ditto.
      	* cgraphunit.c (convert_UIDs_in_bitmap, cgraph_characterize_statics):
      	Ditto.
      	* ddg.c (build_inter_loop_deps): Ditto.
      	* df.c (FOR_EACH_BB_IN_BITMAP, df_bb_reg_info_compute, df_refs_update):
      	Ditto.
      	* except.c (remove_eh_handler): Ditto.
      	* flow.c (reg_set_to_hard_reg_set): Ditto.
      	* gcse.c (clear_modify_mem_tables): Ditto.
      	* global.c (build_insn_chain): Ditto.
      	* ifcvt.c (dead_or_predicable): Ditto.
      	* loop-invariant.c (get_inv_cost, set_move_mark, move_invariant_reg):
      	Ditto.
      	* ra-build.c (livethrough_conflicts_bb, conflicts_between_webs): Ditto.
      	* ra-rewrite.c (reloads_to_loads, rewrite_program2,
      	detect_web_parts_to_rebuild, delete_useless_defs, actual_spill): Ditto.
      	* tree-cfg.c (allocate_ssa_names, tree_duplicate_sese_region,
      	tree_purge_all_dead_eh_edges): Ditto.
      	* tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
      	insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags,
      	rewrite_ssa_into_ssa): Ditto.
      	* tree-outof-ssa.c (find_replaceable_exprs): Ditto.
      	* tree-sra.c (scan_function, decide_instantiations, scalarize_parms):
      	Ditto.
      	* tree-ssa-alias.c (init_alias_info, compute_points_to_and_addr_escape,
      	compute_flow_sensitive_aliasing, maybe_create_global_var,
      	dump_points_to_info_for): Ditto.
      	* tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Ditto.
      	* tree-ssa-dse.c (dse_finalize_block): Ditto.
      	* tree-ssa-live.c (live_worklist, calculate_live_on_entry,
      	calculate_live_on_exit, build_tree_conflict_graph, dump_live_info):
      	Ditto.
      	* tree-ssa-loop-ivopts.c (find_induction_variables,
      	find_interesting_uses, add_old_ivs_candidates, alloc_use_cost_map,
      	determine_use_iv_costs, determine_set_costs, find_best_candidate,
      	set_cost_up_to, create_new_ivs, remove_unused_ivs, free_loop_data):
      	Ditto.
      	* tree-ssa-loop-manip.c (add_exit_phis_var, add_exit_phis): Ditto.
      	* tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
      	add_call_read_ops): Ditto.
      	* tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Ditto.
      
      From-SVN: r88145
      Zdenek Dvorak committed
  11. 18 Sep, 2004 1 commit
    • alias.c, [...]: Fix comment typos. · 454ff5cb
      	* alias.c, crtstuff.c, dbxout.c, domwalk.c, domwalk.h, gcc.c,
      	gcse.c, global.c, lambda-code.c, loop.c, mips-tdump.c,
      	optabs.h, predict.c, reg-stack.c, regclass.c, sched-rgn.c,
      	tree-optimize.c, tree-ssa-dom.c, tree-ssa-forwprop.c,
      	tree-ssa-operands.c, tree-ssa-phiopt.c,
      	tree-ssa-threadupdate.c: Fix comment typos.
      
      From-SVN: r87707
      Kazu Hirata committed
  12. 15 Sep, 2004 1 commit
  13. 09 Sep, 2004 1 commit
    • gcse.c (INSN_CUID, [...]): Use gcc_assert and gcc_unreachable. · 282899df
      	* gcse.c (INSN_CUID, insert_set_in_table, find_avail_set,
      	cprop_insn, do_local_cprop, local_cprop_pass, find_bypass_set,
      	process_insert_insn, insert_insn_end_bb, pre_insert_copy_insn,
      	hoist_code, extract_mentioned_regs_helper, compute_store_table,
      	insert_store): Use gcc_assert and gcc_unreachable.
      	* ggc-common.c (ggc_splay_alloc, ggc_splay_dont_free,
      	gt_pch_note_object, gt_pch_note_reorder, relocate_ptrs,
      	ggc_record_overhead): Likewise.
      	* ggc-page.c (alloc_page, free_page, ggc_set_mark, ggc_marked_p,
      	init_ggc, ggc_push_context, ggc_recalculate_in_use_p,
      	ggc_pop_context, clear_marks, validate_free_objects,
      	ggc_pch_read): Likewise.
      	* ggc-zone.c (ggc_allocated_p, free_chunk, ggc_set_mark,
      	ggc_marked_p, ggc_get_size, init_ggc, destroy_ggc_zone,
      	ggc_push_context, check_cookies, ggc_collect,
      	ggc_print_statistics): Likewise.
      	* gimple-low.c (lower_function_body, lower_stmt,
      	lower_bind_expr): Likewise.
      	* gimplify.c (gimple_tree_eq, push_gimplify_context,
      	pop_gimplify_context, gimple_pop_condition, create_tmp_var,
      	declare_tmp_vars, gimple_add_tmp_var, annotate_all_with_locus,
      	mostly_copy_tree_r, gimplify_return_expr, gimplify_switch_expr,
      	gimplify_case_label_expr, gimplify_exit_block_expr,
      	canonicalize_component_ref, gimplify_compound_lval,
      	gimplify_self_mod_expr, gimplify_call_expr,
      	gimplify_init_ctor_eval, gimplify_init_constructor,
      	gimplify_modify_expr, gimplify_save_expr, gimplify_target_expr,
      	gimplify_expr, check_pointer_types_r,
      	force_gimple_operand): Likewise.
      	* global.c (global_alloc, build_insn_chain): Likewise.
      	* graph.c (clean_graph_dump_file,
      	finish_graph_dump_file): Likewise.
      	gcov-io.c (gcov_open): Use GCOV_CHECK.
      
      From-SVN: r87240
      Nathan Sidwell committed
  14. 01 Sep, 2004 1 commit
  15. 31 Aug, 2004 1 commit
  16. 29 Aug, 2004 1 commit
  17. 18 Aug, 2004 1 commit
    • Makefile.in (OBJS-common): Add postreload-gcse.c. · 0516f6fe
      	* Makefile.in (OBJS-common): Add postreload-gcse.c.
      	Add new postreload-gcse.o.
      	* cse.c (SAFE_HASH): Define as wrapper around safe_hash.
      	(lookup_as_function, insert, rehash_using_reg, use_related_value,
      	equiv_constant): Use SAFE_HASH instead of safe_hash.
      	(exp_equiv_p): Export.  Add for_gcse argument when comparing
      	for GCSE.
      	(lookup, lookup_for_remove, merge_equiv_classes, find_best_addr,
      	find_comparison_args, fold_rtx, cse_insn): Update callers.
      	(hash_rtx): New function derived from old canon_hash and bits
      	from gcse.c hash_expr_1.
      	(canon_hash_string): Rename to hash_rtx_string.
      	(canon_hash, safe_hash): Make static inline.  Call hash_rtx.
      	* cselib.c (hash_rtx): Rename to cselib_hash_rtx.
      	(cselib_lookup): Update this caller.
      	* gcse.c (modify_mem_list_set, canon_modify_mem_list_set):
      	Make static.
      	(hash_expr): Call hash_rtx.
      	(ldst_entry): Likewise.
      	(expr_equiv_p): Call exp_equiv_p.
      	(struct unoccr, hash_expr_1, hash_string_1, lookup_expr,
      	reg_used_on_edge, reg_set_between_after_reload_p,
      	reg_used_between_after_reload_p, get_avail_load_store_reg,
      	is_jump_table_basic_block, bb_has_well_behaved_predecessors,
      	get_bb_avail_insn, hash_scan_set_after_reload,
      	compute_hash_table_after_reload,
      	eliminate_partially_redundant_loads, gcse_after_reload,
      	get_bb_avail_insn, gcse_after_reload_main): Remove.
      	* postreload-gcse.c: New file, reincarnating most of the above.
      	* rtl.h (exp_equiv_p, hash_rtx): New prototypes.
      	(gcse_after_reload_main): Update prototype.
      	* timevar.def (TV_GCSE_AFTER_RELOAD): New timevar.
      	* passes.c (rest_of_handle_gcse2): Use it.
      
      From-SVN: r86206
      Steven Bosscher committed
  18. 09 Aug, 2004 1 commit
    • timevar.def (TV_CPROP1, [...]): New timers. · 27fb79ad
      	* timevar.def (TV_CPROP1, TV_CPROP2, TV_PRE, TV_HOIST, TV_LSM):
      	New timers.
      	* gcse.c: Include timevar.h.
      	(const_prop_count, copy_prop_count): Rename to global_const_prop_count
      	and global_copy_prop_count.
      	(local_const_prop_count, local_copy_prop_count): New static globals.
      	(gcse_main): Set the right timevar for each pass.
      	(cprop_jump): Increment global_const_prop_count when a constant is
      	propagated.  Add "GLOBAL" to dump output.
      	(cprop_insn): Increment global_const_prop_count when a constant is
      	propagated, or global_copy_prop_count when a copy is propagated.
      	(do_local_cprop): Likewise for local_const_prop_count and
      	local_copy_prop_count.
      	(one_cprop_pass): Initialize const/cprop counters to zero.
      	Print out results of local and global const/cprop separately.
      	(bypass_block): Break over-length line.
      
      From-SVN: r85718
      Steven Bosscher committed
  19. 27 Jul, 2004 1 commit
    • expr.h (canonicalize_condition, [...]): Add an int argument. · 45d09c02
      	* expr.h (canonicalize_condition, get_condition): Add an int argument.
      	* gcse.c (fis_get_condition): Reimplement using get_condition, leaving
      	it to check whether the condition is still valid at the jump insn.
      	* ifcvt.c (noce_get_condition): Likewise.
      	(noce_get_alt_condition): Update call to canonicalize_condition.
      	* loop-iv.c (simplify_using_initial_values): Update call to
      	get_condition.  Remove FIXME.
      	(check_simple_exit): Update call to get_condition.
      	* loop-unswitch.c (may_unswitch_on): Likewise.
      	* loop.c (check_dbra_loop): Likewise.
      	(canonicalize_condition, get_condition): Add an argument to say whether
      	the condition must still be valid at INSN.
      	(get_condition_for_loop): Update call to get_condition.  Require that
      	the condition be valid at INSN.
      	* predict.c (estimate_probability): Update call to get_condition.
      	Remove unused earliest parameter.
      	(expected_value_to_br_prob): Update call to canonicalize_condition.
      
      From-SVN: r85218
      Richard Sandiford committed
  20. 16 Jul, 2004 1 commit
    • basic-block.h (remove_fake_exit_edges): Declare. · 6809cbf9
              * basic-block.h (remove_fake_exit_edges): Declare.
              * cfganal.c (remove_fake_predecessors): Rename from
              remove_fake_successors; iterate over predecessors.
              (remove_fake_exit_edges): New.
              * cfgcleanup.c (try_optimize_cfg): Use it.
              * gcse.c (one_pre_gcse_pass, store_motion): Likewise.
              * predict.c (estimate_probability): Likewise.
              (tree_estimate_probability, note_prediction_to_br_prob): Likewise.
              * tree-cfg.c (make_edges): Likewise.
              * tree-ssa-pre.c (fini_pre): Likewise.
              * profile.c (instrument_edges): Don't remove_fake_edges.
              (branch_prob): Do it earlier here.
      
      From-SVN: r84840
      Richard Henderson committed
  21. 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
  22. 14 Jun, 2004 1 commit
  23. 12 Jun, 2004 1 commit
    • gcse.c (record_set_info): Use predicates like REG_P. · 7b1b4aed
      	* gcse.c (record_set_info): Use predicates like REG_P.
      	(mems_conflict_for_gcse_p): Likewise.
      	(load_killed_in_block_p): Likewise.
      	(hash_expr_1): Likewise.
      	(insert_set_in_table): Likewise.
      	(gcse_constant_p): Likewise.
      	(hash_scan_set): Likewise.
      	(hash_scan_insn): Likewise.
      	(canon_list_insert): Likewise.
      	(record_last_mem_set_info): Likewise.
      	(record_last_set_info): Likewise.
      	(compute_hash_table_work): Likewise.
      	(mark_set): Likewise.
      	(mark_clobber): Likewise.
      	(mark_oprs_set): Likewise.
      	(compute_transp): Likewise.
      	(find_avail_set): Likewise.
      	(cprop_insn): Likewise.
      	(do_local_cprop): Likewise.
      	(cprop): Likewise.
      	(find_implicit_sets): Likewise.
      	(find_bypass_set): Likewise.
      	(bypass_conditional_jumps): Likewise.
      	(insert_insn_end_bb): Likewise.
      	(pre_insert_copy_insn): Likewise.
      	(compute_transpout): Likewise.
      	(next_ls_expr): Likewise.
      	(invalidate_any_buried_refs): Likewise.
      	(compute_ld_motion_mems): Likewise.
      	(reg_set_info): Likewise.
      	(reg_clear_last_set): Likewise.
      	(find_moveable_store): Likewise.
      	(compute_store_table): Likewise.
      	(find_loads): Likewise.
      	(store_killed_in_insn): Likewise.
      	(insert_insn_start_bb): Likewise.
      	(reg_set_between_after_reload_p): Likewise.
      	(reg_used_between_after_reload_p): Likewise.
      	(is_jump_table_basic_block): Likewise.
      	(gcse_after_reload): Likewise.
      	(hash_scan_set_after_reload): Likewise.
      	(compute_hash_table_after_reload): Likewise.
      
      Co-Authored-By: Andreas Jaeger <aj@suse.de>
      
      From-SVN: r83026
      Steven Bosscher committed
  24. 14 May, 2004 1 commit
    • passes.c (rest_of_handle_null_pointer): Remove. · e83f4801
      	* passes.c (rest_of_handle_null_pointer): Remove.
      	(rest_of_handle_cse): Don't call rest_of_handle_null_pointer.
      	(rest_of_compilation): Likewise.
      	* rtl.h (delete_null_pointer_checks): Remove prototype.
      	* gcse.c (rd_kill, rd_gen, reaching_defs, rd_out, ae_in, ae_out):
      	Remove declarations.
      	(get_bitmap_width, alloc_rd_mem, free_rd_mem, handle_rd_kill_set,
      	compute_kill_rd, compute_rd, alloc_avail_expr_mem,
      	free_avail_expr_mem, compute_ae_gen, expr_killed_p, compute_ae_kill,
      	expr_reaches_here_p, computing_insn, def_reaches_here_p,
      	can_disregard_other_sets, handle_avail_expr, classic_gcse,
      	one_classic_gcse_pass, invalidate_nonnull_info,
      	delete_null_pointer_checks_1, delete_null_pointer_checks,
      	expr_reached_here_p_work): Remove.
      	(gcse_main): Do not perform classic GCSE when optimizing for size.
      	(alloc_pre_mem, free_pre_mem): Don't touch ae_in and ae_out, they
      	are never used.
      
      From-SVN: r81849
      Steven Bosscher committed
  25. 13 May, 2004 1 commit
  26. 10 May, 2004 1 commit
  27. 30 Apr, 2004 1 commit
  28. 28 Apr, 2004 1 commit
  29. 23 Mar, 2004 1 commit
  30. 22 Mar, 2004 1 commit
  31. 18 Mar, 2004 1 commit
  32. 04 Mar, 2004 1 commit
    • cfgcleanup.c (thread_jump): Update call of cselib_init. · 463301c3
      	* cfgcleanup.c (thread_jump): Update call of cselib_init.
      	* cselib.c (cselib_record_memory): New static variable.
      	(cselib_lookup_mem, cselib_record_set, cselib_record_sets):
      	Give up on memories when asked for.
      	(cselib_init): Accept new argument.
      	* cselib.h (cselib_init): Update prototype.
      	* gcse.c (local_cprop_pass): Update call of cselib_init.
      	* loop.c (load_mems): Update call of cselib_init.
      	* postreload.c (reload_cse_regs_1): Update call of cselib_init.
      	* sched-deps.c (sched_analyze): Update call of cselib_init.
      
      From-SVN: r78917
      Jan Hubicka committed
  33. 03 Mar, 2004 1 commit
    • common.opt: Add description of the new -fgcse-after-reload flag. · f9957958
      2004-03-03  Mostafa Hagog  <mustafa@il.ibm.com>
      
              * common.opt: Add description of the new -fgcse-after-reload flag.
      
              * flags.h (flag_gcse_after_reload): Declaration of global variable.
      
              * gcse.c (reg_used_on_edge ,reg_set_between_after_reload_p,
              reg_used_between_after_reload_p, rtx get_avail_load_store_reg,
              is_jump_table_basic_block, bb_has_well_behaved_predecessors,
              get_bb_avail_insn, hash_scan_set_after_reload,
              compute_hash_table_after_reload, eliminate_partially_redundant_loads,
              gcse_after_reload, get_bb_avail_insn): New functions to implement
              gcse-after-reload.
              (gcse_after_reload_main): New function, the main entry point to
              gcse-after-reload.
      
              * rtl.h (gcse_after_reload_main): Declaration of the new function.
      
              * opts.c (common_handle_option): Handle the -fgcse-after-reload flag.
      
              * toplev.c (flag_gcse_after_reload): Initialization.
      
              * passes.c (rest_of_handl_gcse2): Call gcse_after_reload_main.
      
              * params.def (PARAM_GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
              PARAM_GCSE_AFTER_RELOAD_CRITICAL_FRACTION): New parameters for tuning
              the gcse after reload optimization.
      
              * params.h (GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
              GCSE_AFTER_RELOAD_CRITICAL_FRACTION): Two macros to access the tuning
              parameters.
      
              * doc/invoke.texi: Documentation for the new flag gcse-after-reload.
      
      From-SVN: r78842
      Mostafa Hagog committed
  34. 26 Feb, 2004 1 commit
  35. 24 Feb, 2004 1 commit
  36. 30 Jan, 2004 1 commit
  37. 28 Jan, 2004 1 commit
  38. 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
  39. 15 Jan, 2004 1 commit
  40. 13 Jan, 2004 1 commit
    • re PR c++/13376 (Incorrect dumps of RTL for passes that use current_function_name) · faed5cc3
      	PR c++/13376
      	* function.h (struct function): Kill `name' field.
      	(current_function_name): Make it an extern function.
      	* function.c (current_function_name): New function.
      	* graph.c: Update all uses of current_function_name.
      	* gcse.c: Likewise.
      	* config/alpha/alpha.c, config/avr/avr.c, config/c4x/c4x.c,
      	config/mips/mips.c, config/pdp11/pdp11.c: Likewise.
      	* config/ip2k/ip2k.c (function_prologue): Use MAIN_NAME_P
      	instead of a strcmp with "main".
      
      From-SVN: r75784
      Steven Bosscher committed