Commit Graph

217 Commits

Author SHA1 Message Date
Kazu Hirata 0a6b055f65 cfgrtl.c (delete_insn_chain_and_edges): Remove.
* cfgrtl.c (delete_insn_chain_and_edges): Remove.
	* rtl.h: Remove the prototype for delete_insn_chain_and_edges.

From-SVN: r126441
2007-07-07 14:20:02 +00:00
Daniel Berlin 6fb5fa3cbc Merge dataflow branch into mainline
From-SVN: r125624
2007-06-11 18:02:15 +00:00
Zdenek Dvorak a7b87f730f haifa-sched.c (restore_bb_notes): Clear bb field of the notes emited outside of basic block.
* haifa-sched.c (restore_bb_notes): Clear bb field of the notes
	emited outside of basic block.
	* cfgbuild.c (find_bb_boundaries): Clear bb field for insns between
	the created blocks.
	* rtl.h (delete_insn_chain): Declaration changed.
	* cfgrtl.c (delete_insn_chain): Add option to clear bb field for
	non-removed insns.
	(rtl_delete_block, rtl_merge_blocks): Pass true to delete_insn_chain.
	(delete_insn_chain_and_edges, try_redirect_by_replacing_jump,
	rtl_tidy_fallthru_edge, cfg_layout_merge_blocks): Pass false 
	to delete_insn_chain.
	(rtl_verify_flow_info_1): Verify that the insns in header and footer
	do not have bb field set.
	(rtl_verify_flow_info): Verify that insns between basic blocks do not
	have bb field set.
	* recog.c (peephole2_optimize): Add argument to delete_insn_chain call.
	* cfgcleanup.c (try_optimize_cfg): Ditto.

From-SVN: r125492
2007-06-06 14:46:34 +00:00
Thomas Neumann ae50c0cbc8 cfg.c (init_flow): Use type safe memory macros.
* cfg.c (init_flow): Use type safe memory macros.
	(alloc_block): Likewise.
	(unchecked_make_edge): Likewise.
	(dump_flow_info): Avoid using C++ keywords as variable names.
	(copy_original_table_clear): Cast according to the coding conventions.
	(copy_original_table_set): Likewise.
	* cfgexpand (label_rtx_for_bb): Likewise.
	(expand_gimüle_basic_block): Likewise.
	* cfghooks.c (dump_bb): Likewise.
	(lv_adjust_loop_header_phi): Avoid using C++ keywords as variable names.
	(lv_add_condition_to_bb): Likewise.
	* cfglayout (relink_block_chain): Cast according to the coding
	conventions.
	(fixup_reorder_chain): Likewise.
	(fixup_fallthru_exit_predecessor): Likewise.
	* cfgloop.c (glb_enum_p): Likewise.
	(get_exit_description): Likewise.
	(dump_recorded_exit): Likewise.
	* cfgloop.h (enum loop_estimation): Move out of struct scope...
	(struct loop): ... from here.
	* cfgloopmanip (rpe_enum_p): Cast according to the coding conventions.
	* cfgrtl.c (rtl_create_basic_block): Likewise.
	(rtl_split_block): Likewise.
	(rtl_dump_bb): Likewise.
	(cfg_layout_split_block): Likewise.
	(init_rtl_bb_info): Use typesafe memory macros.

	* graphds.h (struct graph_edge): Renamed edge to graph_edge.
	* graphds.h: Updated all usages of edge to graph_edge.
	* graphds.c: Likewise.
	* cfgloopanal.c: Likewise.

From-SVN: r125336
2007-06-05 15:41:04 +00:00
Steve Ellcey 15eb3a2e59 re PR target/31733 (ICE in rtl_verify_flow_info, at cfgrtl.c:2050: {return_internal} (nil))
PR target/31733
	* cfgrtl.c (rtl_verify_flow_info): Skip notes when looking for barrier.

From-SVN: r125312
2007-06-04 15:58:12 +00:00
Jan Hubicka a38e7aa544 gengtype.c (adjust_field_rtx_def): Use NOTE_KIND instead of NOTE_LINE_NUMBER...
* gengtype.c (adjust_field_rtx_def): Use NOTE_KIND instead of
	NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
	* ddg.c (create_ddg): LIkewise.
	* final.c (final): Remove hunk moving line numbernotes around since
	they are no longer present at this stage.
	(final_scan_insn): Use NOTE_KIND instead of
	NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
	(output_asm_label): Likewise.
	* reorg.c (dbr_schedule): Likewise.
	* haifa-sched.c (unlink_other_notes): Likewise.
	* mode-switching.c (optimize_mode_switching): Likewise.
	* graph.c (start_bb): Likewise.
	* rtl.def (NOTE): Update description.
	* jump.c (squeeze_notes): Delete.
	(mark_jump_label): Use NOTE_KIND instead of NOTE_LINE_NUMBER; use
	NOTE_INSN_BASIC_BLOCK_P when possible.
	* ifcvt.c (dead_or_predicable): Remove call of squeeze_notes.
	* dwarf2out.c (gen_label_die): Use NOTE_KIND instead of
        NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
	(dwarf2out_var_location): Likewise.
	* cfgbuild.c (make_edges): Likewise.
	(find_basic_blocks_1): Likewise.
	* function.c (reorder_blocks_1): Likewise.
	(epilogue_done): Likewise.
	(reposition_prologue_and_epilogue_notes): Likewise.
	* print-rtl.c (print_rtx): Likewise; drop code for printing line number
	notes.
	(print_rtl): Likewise.
	(print_rtl_single): Likewise.
	* gcse.c (insert_insn_start_bb): Likewise.
	* alias.c (init_alias_analysis): Likewise.
	* calls.c (fixup_tail_calls): Likewise.
	* except.c (sjlj_emit_function_enter): Likewise.
	* emit-rtl.c (add_insn_after): Likeiwse.
	(emit_label_before): Likewise.
	(emit_label_after): Likewise.
	(emit_note_before, emit_note_after, emit_note): Update
	parameter to be enum insn_note; do not deal with source
	files.
	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps):
	Use NOTE_KIND instead of NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P
	when possible.
	(merge_blocks_move_successor_nojumps): Simplify now when
	we don't have BLOCK notes.
	(try_optimize_cfg): Likewise.
	* cfglayout.c (skip_insns_after_block): Likewise.
	(record_effective_endpoints): Likewise.
	(duplicate_insn_chain): Likewise.
	* varasm.c (output_constant_pool_1): Likewise.
	* sched-deps.c (sched_analyze): Likewise.
	* rtl.c (NOTE_INSN_MAX_isnt_negative_adjust_NOTE_INSN_BIAS):
	Exterminate.
	(note_insn_name): Simplify now when NOTE_INSN_BIAS is gone.
	* rtl.h (NOTE_SOURCE_LOCATION, NOTE_EXPANDED_LOCATION): Exterminate.
	(SET_INSN_DELETED): Simplify.
	(NOTE_LINE_NUMBER): Exterminate.
	(NOTE_LINE_KIND): New.
	(NOTE_INSN_BASIC_BLOCK_P): Update.
	(enum insn_note): Simplify.
	(GET_NOTE_INSN_NAME) Simplify.
	(emit_note_before, emit_note_after, emit_note): Update prototype.
	(squeeze_notes): Remove.
	* sched-int.h (NOTE_NOT_BB_P): Update.
	* resource.c (mark_target_live_regs): Update.
	* sched-rgn.c (debug_dependencies): Update.
	* sched-vis.c (print_insn): Update.
	* config/alpha/alpha.c (alpha_handle_trap_shadows): Update.
	* config/i386/i386.c (ix86_output_function_epilogue): Update.
	* config/sh/sh.c (sh_adjust_unroll_max): Function dead since gcc 4.0.0.
	(TARGET_ADJUST_UNROLL_MAX): Likewise.
	(split_branches): Update.
	(sh_optimize_target_register_callee_saved): Remove hunk dead since gcc
	4.0.0.
	(sh_adjust_unroll_max): Exterminate.
	* config/c4x/c4x.c (c4x_reorg): Use SET_INSN_DELETED.
	* config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Likewise.
	(m68hc11_reorg): Likewise.
	* config/ia64/ia64.c (emit_insn_group_barriers): Update.
	(emit_predicate_relation_info): Update.
	(process_for_unwind_directive): Update.
	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Update.
	(output_call): Update.
	* config/pa/pa.c (output_lbranch): Update.
	(output_millicode_call): Update.
	(output_call): Update.
	(pa_combine_instructions): Update.
	* config/mips/mips.c (mips16_gp_pseudo_reg): Update.
	* config/bfin/bfin.c (gen_one_bundle): Update.
	* cfgrtl.c (can_delete_note_p): Update.
	(delete_insn): Update.
	(rtl_merge_blocks): Update.
	(commit_one_edge_insertion): Update.
	(rtl_verify_flow_info): Update.
	* stmt.c (expand_case): Do not call squeeze_notes.

From-SVN: r124895
2007-05-21 06:19:50 +00:00
Zdenek Dvorak f06b0a10f9 predict.c: Include pointer-set.h.
* predict.c: Include pointer-set.h.
	(bb_predictions): New variable.
	(tree_predicted_by_p, tree_predict_edge,
	remove_predictions_associated_with_edge): Use bb_predictions map
	instead of bb->predictions.
	(clear_bb_predictions, assert_is_empty): New functions.
	(combine_predictions_for_bb): Use bb_predictions map.  Call
	clear_bb_predictions.
	(tree_estimate_probability): Create and free bb_predictions map.
	* Makefile.in (predict.o): Add pointer-set.h dependency.
	* basic-block.h (struct basic_block_def): Remove predictions
	field.
	* cfgrtl.c (rtl_verify_flow_info_1): Do not check bb->predictions.

From-SVN: r124032
2007-04-22 00:51:38 +00:00
Steven Bosscher 49ea3702aa cfglayout.c (fixup_reorder_chain): Postpone deleting dead jump tables...
* cfglayout.c (fixup_reorder_chain): Postpone deleting dead
	jump tables, move the call to delete_dead_jumptables from here...
	(cfg_layout_finalize): ...to here.  But rebuild jump labels first.
	* cfgrtl.c (cfg_layout_can_merge_blocks_p): When not optimizing,
	don't allow merging of blocks that try_redirect_by_replacing_jump
	also does not handle when not optimizing.

From-SVN: r122957
2007-03-15 20:08:29 +00:00
Zdenek Dvorak 14fa2cc057 cfgloopmanip.c (loop_delete_branch_edge): Removed.
* cfgloopmanip.c (loop_delete_branch_edge): Removed.
	(remove_path): Use can_remove_branch_p and remove_branch instead
	of loop_delete_branch_edge.
	* tree-ssa-loop-manip.c (scale_dominated_blocks_in_loop): New function.
	(tree_transform_and_unroll_loop): Remove dead branches immediately.
	Update profile using scale_dominated_blocks_in_loop.
	* cfghooks.c (can_remove_branch_p, remove_branch): New functions.
	* cfghooks.h (struct cfg_hooks): Add can_remove_branch_p.
	(can_remove_branch_p, remove_branch): Declare.
	* tree-cfg.c (tree_can_remove_branch_p): New function.
	(tree_cfg_hooks): Add tree_can_remove_branch_p.
	* cfgrtl.c (rtl_can_remove_branch_p): New function.
	(rtl_cfg_hooks, cfg_layout_rtl_cfg_hook): Add rtl_can_remove_branch_p.

From-SVN: r121583
2007-02-04 23:47:09 +00:00
Richard Sandiford 9caea4a72f cfgrtl.c (try_redirect_by_replacing_jump): Check only_sets_cc0_p.
gcc/
	* cfgrtl.c (try_redirect_by_replacing_jump): Check only_sets_cc0_p.

From-SVN: r121339
2007-01-30 15:07:34 +00:00
Steven Bosscher 9eab67850b tracer.c (rest_of_handle_tracer): We already cleaned up the CFG in tracer() so don't do it here again.
* tracer.c (rest_of_handle_tracer): We already cleaned
	up the CFG in tracer() so don't do it here again.
	* cfgcleanup.c (rest_of_handle_jump2): Don't repeat
	cleanup_cfg here, either.  And don't call renumber_insns.

	* cfgrtl.c (rtl_verify_flow_info_1): Don't verify that BB_END
	and BB_HEAD are in the insn stream here.  Instead make sure
	that BB_INSN is valid on all insns.  Also, do check here that
	there are no pending branch predictions...
	(rtl_verify_flow_info): ...instead of doing it here.  Checks
	for BB_END and BB_HEAD moved from rtl_verify_flow_info_1 to
	here.

From-SVN: r121231
2007-01-27 14:48:02 +00:00
Kazu Hirata a590ac6560 alias.c (init_alias_analysis): Use VEC_safe_grow_cleared.
* alias.c (init_alias_analysis): Use VEC_safe_grow_cleared.
	* cfgbuild.c (find_basic_blocks): Likewise.
	* cfgrtl.c (rtl_create_basic_block): Likewise.
	* function.c (temp_slots_at_level): Likewise.
	* reg-stack.c (stack_regs_mentioned): Likewise.
	* regclass.c (allocate_reg_info): Likewise.
	* tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb,
	set_bb_for_stmt, move_block_to_fn): Likewise.
	* tree-complex.c (tree_lower_complex): Likewise.
	* vec.h (VEC_safe_grow_cleared): New.

From-SVN: r120386
2007-01-03 08:04:01 +00:00
Kazu Hirata 61465e7563 Revert:
2007-01-02  Kazu Hirata  <kazu@codesourcery.com>

	* alias.c (init_alias_analysis): Use VEC_safe_grow_cleared.
	* cfgbuild.c (find_basic_blocks): Likewise.
	* cfgrtl.c (rtl_create_basic_block): Likewise.
	* function.c (temp_slots_at_level): Likewise.
	* reg-stack.c (stack_regs_mentioned): Likewise.
	* regclass.c (allocate_reg_info): Likewise.
	* tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb,
	set_bb_for_stmt, move_block_to_fn): Likewise.
	* tree-complex.c (tree_lower_complex): Likewise.
	* vec.h (VEC_safe_grow_cleared): New.

From-SVN: r120351
2007-01-02 18:06:37 +00:00
Kazu Hirata d887a68299 alias.c (init_alias_analysis): Use VEC_safe_grow_cleared.
* alias.c (init_alias_analysis): Use VEC_safe_grow_cleared.
	* cfgbuild.c (find_basic_blocks): Likewise.
	* cfgrtl.c (rtl_create_basic_block): Likewise.
	* function.c (temp_slots_at_level): Likewise.
	* reg-stack.c (stack_regs_mentioned): Likewise.
	* regclass.c (allocate_reg_info): Likewise.
	* tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb,
	set_bb_for_stmt, move_block_to_fn): Likewise.
	* tree-complex.c (tree_lower_complex): Likewise.
	* vec.h (VEC_safe_grow_cleared): New.

From-SVN: r120345
2007-01-02 17:03:22 +00:00
Kazu Hirata 2ac6615771 basic-block.h: Remove the prototype for commit_edge_insertions_watch_calls.
* basic-block.h: Remove the prototype for
	commit_edge_insertions_watch_calls.
 	* cfgrtl.c (commit_edge_insertion): Drop the last argument.
	Simplify.
	(commit_edge_insertions_watch_calls): Remove.
	(commit_edge_insertions): Adjust the call to
	commit_one_edge_insertion.

From-SVN: r120157
2006-12-22 23:59:34 +00:00
Steven Bosscher e9ec5c6b5e cgraphunit.c (cgraph_finalize_compilation_unit): Add a newline at the end of a diagnostics message.
* cgraphunit.c (cgraph_finalize_compilation_unit): Add a newline
	at the end of a diagnostics message.

	* alloc-pool.c (pool_free): Postpone clearing the pool entry
	until after asserting that it was allocated in the right pool.

	* cfgrtl.c (print_rtl_with_bb): Print predecessor and
	successor edge information as well.  Make output of live regs
	on exit consistent with live regs on entry.

From-SVN: r119357
2006-11-30 07:22:04 +00:00
Steven Bosscher 05549c9604 jump.c (mark_all_labels): Work in cfglayout mode.
* jump.c (mark_all_labels): Work in cfglayout mode.
	* cfgcleanup.c (cleanup_cfg): Do not call delete_dead_jumptables
	when in cfglayout mode, because there are no dead jumptables
	visible.
	* cfgrtl.c (commit_one_edge_insertion): Don't set bb->aux when
	in cfglayout mode.
	(commit_edge_insertions): Do not allow insertion of instructions
	with control flow insns when in cfglayout mode.

From-SVN: r119191
2006-11-25 10:53:06 +00:00
Maxim Kuvyrkov 96370780ab re PR target/29201 (ICE in create_recovery_block, at haifa-sched.c:3692 at -O3)
2006-11-16  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>

	PR target/29201
	* cfgrtl.c (rtl_delete_block): Move the code for getting last insn of
	bb to ...
	(get_last_bb_insn): ... new global function.
	(basic_block.h): Declare it.
	* haifa-sched.c (create_recovery_block): Use it.

2006-11-16  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>

	PR target/29201
	* gcc.c-torture/compile/pr29201.c: New test for ia64 target.

From-SVN: r118882
2006-11-16 06:57:59 +00:00
Jan Hubicka 6039a0c74a tree-pass.h (pass_purge_lineno_notes): Remove declaration.
* tree-pass.h (pass_purge_lineno_notes): Remove declaration.
	* modulo-sched.c (find_line_note): Remove.
	(loop_canon_p): Do not worry about line number notes.
	(sms_schedule): Likewise.
	* cse.c (cse_main): Likewise.
	* regmove.c (fixup_match_1): Likewise
	* function.c (emit_return_info_block): Likewise.
	(expand_function_end): Likewise.
	(thread_prologue_an_epilogue_insns): Likewise.
	* cfgrtl.c (try_redirect_by_replacing_jump, rtl_tidy_fallthru_edge):
	Likewise.
	* emit-rtl.c (find_line_note, emit_insn_after_with_line_notes,
	emit_note_copy_after): Kill.
	(emit_note_copy): Do not worry about line numbers.
	* jump.c (purge_line_number_notes): Kill.
	(pass_purge_lineno_notes): Kill.
	* cfgcleanup.c (rest_of_handle_jump2): Kill purge_line_number_notes
	call.
	* rtl.h (emit_note_copy_after, emit_insn_after_with_line_notes): Kill.
	* passes.c (init_optimization_passes): Don't purge_lineno_notes.
	* sched-ebb.c (schedule_ebbs): Don't do rm_redundant_line_notes.
	* tree-pass.h (pass_purge_lineno_notes): Kill.
	* sched-ebb.c (schedule_ebb): Don't rm_line_notes,
	rm_redundant_line_notes.
	* sched-rgb.c (schedule_region): Don't rm_line_notes,
	rm_redundant_line_notes.
	* sched-int.h (rm_line_notes, rm_redundant_line_notes): Kill.
	* haifa-sched.c: Update comment about handling notes.
 	(unlink_line_notes): Kill.
	(rm_line_notes): Kill.
	(save_line_notes): Simplify.
	(rm_redundant_line_notes): Kill.

From-SVN: r118693
2006-11-11 15:50:16 +00:00
Bernd Schmidt 5419bc7f3d cfgrtl.c (emit_insn_at_entry): Use gcc_assert, not abort.
* cfgrtl.c (emit_insn_at_entry): Use gcc_assert, not abort.

From-SVN: r116969
2006-09-15 12:41:08 +00:00
Bernd Schmidt 11b904a1fc cfgrtl.c (emit_insn_at_entry): New function.
* cfgrtl.c (emit_insn_at_entry): New function.
	* rtl.h (emit_insn_at_entry): Declare it.
	* integrate.c (emit_initial_value_sets): Use it.

From-SVN: r116968
2006-09-15 12:35:43 +00:00
Jan Hubicka 370adb7b5d re PR middle-end/28071 (A file that can not be compiled in reasonable time/space)
PR rtl-optimization/28071
	* cfgrtl.c (rtl_delete_block): Free regsets.
	* flow.c (allocate_bb_life_data): Re-use regsets if available.

From-SVN: r115810
2006-07-29 13:14:22 +00:00
Mike Stump c22cacf346 Whitespace fixups
From-SVN: r113893
2006-05-18 22:16:23 +00:00
Razya Ladelsky 8cd37d0b6c [multiple changes]
2006-05-04  Leehod Baruch  <leehod@il.ibm.com>

        * see.c: New file.
        * Makefile.in (OBJS-common): Add see.o.
        (see.o): Add dependencies.
        * common.opt (fsee): New flag for the see optimization was added.
        * opts.c (flag_see): Initialized.
        * passes.c (init_optimization_passes, pass_see): New pass.
        * rtl.h (see_main): Declaration as extern.
        * timevar.def (TV_SEE): New.
        * tree-pass.h (pass_see): Declaration as extern.
        * invoke.texi (-fsee): Document.
        * recog.c (validate_simplify_insn): New function.
        * recog.h (validate_simplify_insn): Declaration as extern.
        * df-problems.c (df_chain_dump): Check for NULL.

2006-05-04  Kenneth Zadeck <zadeck@naturalbridge.com>
            Daniel Berlin  <dberlin@dberlin.org>

        * cfgrtl.c (insert_insn_bb_end_new): New function.
        * basic-block.h (insert_insn_bb_end_new): Declaration as extern.

2006-05-04  Leehod Baruch  <leehod.baruch@weizmann.ac.il>

        * df.h (struct web_entry): Moved from web.c.
        (union_defs): Declaration as extern.
        (unionfind_root): Likewise.
        (unionfind_union): Likewise.
        * web.c (struct web_entry): Moved to df.h.
        (unionfind_root): Remove static declaration.
        (unionfind_union): Likewise.
        (union_defs): Likewise and generalize to use callback function.
        (web_main): Update arguments for union_defs function call.

From-SVN: r113518
2006-05-04 09:19:02 +00:00
Kenneth Zadeck 3bf7d5e771 basic-block.h (safe_insert_insn_on_edge): Removed.
2006-04-26  Kenneth Zadeck <zadeck@naturalbridge.com>

	* basic-block.h (safe_insert_insn_on_edge): Removed.
	* cfgrtl.c (mark_killed_regs, safe_insert_insn_on_edge): Removed.

From-SVN: r113276
2006-04-26 16:17:01 +00:00
Richard Sandiford c0c5d392eb re PR rtl-optimization/26725 (ICE in check_reg_live, at haifa-sched.c:4645 with -O2 on ia64)
gcc/
	PR rtl-optimization/26725
	* cfgrtl.c (rtl_redirect_edge_and_branch_force): Set the source
	block's BB_DIRTY flag.

gcc/testsuite/
	* gcc.c-torture/compile/pr26725.c: New test.

From-SVN: r113257
2006-04-25 21:34:48 +00:00
Zdenek Dvorak 96e82e0a8a cfgrtl.c (last_loop_beg_note, [...]): Removed.
* cfgrtl.c (last_loop_beg_note, back_edge_of_syntactic_loop_p):
	Removed.
	(force_nonfallthru_and_redirect): Do not use last_loop_beg_note.
	(rtl_split_edge): Do not use back_edge_of_syntactic_loop_p.
	(commit_one_edge_insertion): Do not look for loop notes.

From-SVN: r111997
2006-03-13 12:20:26 +00:00
Daniel Berlin c2924966db tree-vrp.c (execute_vrp): Return value.
2006-03-02  Daniel Berlin <dberlin@dberlin.org>

	* gcc/tree-vrp.c (execute_vrp): Return value.
	* gcc/regrename.c (rest_of_handle_regrename): Ditto.
	* gcc/tree-into-ssa.c (rewrite_into_ssa): Ditto.
	* gcc/tree-complex.c (tree_lower_complex): Ditto.
	(tree_lower_complex_O0): Ditto.
	* gcc/tracer.c (rest_of_handle_tracer): Ditto.
	* gcc/postreload-gcse.c (rest_of_handle_gcse2): Ditto.
	* gcc/postreload.c (rest_of_handle_postreload): Ditto.
	* gcc/tree-tailcall.c (execute_tail_recursion): Ditto.
	(execute_tail_calls): Ditto.
	* gcc/tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
	* gcc/tree.h (init_function_for_compilation): Ditto.
	* gcc/ipa-cp.c (ipcp_driver): Ditto.
	* gcc/tree-scalar-evolution.c (scev_const_prop): Ditto.
	* gcc/tree-scalar-evolution.h (scev_const_prop): Ditto.
	* gcc/final.c (compute_alignments): Ditto.
	(rest_of_handle_final): Ditto.
	(rest_of_handle_shorten_branches): Ditto.
	(rest_of_clean_state): Ditto.
	* gcc/omp-low.c (execute_expand_omp): Ditto.
	(execute_lower_omp): Ditto.
	* gcc/tree-ssa-dse.c (tree_ssa_dse): Ditto.
	* gcc/ipa-reference.c (static_execute): Ditto.
	* gcc/tree-ssa-uncprop.c (tree_ssa_uncprop): Ditto.
	* gcc/reorg.c (rest_of_handle_delay_slots): Ditto.
	(rest_of_handle_machine_reorg): Ditto.
	* gcc/cgraphunit.c (rebuild_cgraph_edges): Ditto.
	* gcc/flow.c (recompute_reg_usage): Ditto.
	(rest_of_handle_remove_death_notes): Ditto.
	(rest_of_handle_life): Ditto.
	(rest_of_handle_flow2): Ditto.
	* gcc/tree-ssa-copyrename.c (rename_ssa_copies): Ditto.
	* gcc/tree-ssa-ccp.c (do_ssa_ccp): Ditto.
	(do_ssa_store_ccp): Ditto.
	(execute_fold_all_builtins): Ditto.
	* gcc/mode-switching.c (rest_of_handle_mode_switching): Ditto.
	* gcc/modulo-sched.c (rest_of_handle_sms): Ditto.
	* gcc/ipa-pure-const.c (static_execute): Ditto.
	* gcc/cse.c (rest_of_handle_cse): Ditto.
	(rest_of_handle_cse2): Ditto.
	* gcc/web.c (rest_of_handle_web): Ditto.
	* gcc/tree-stdarg.c (execute_optimize_stdarg): Ditto.
	* gcc/tree-ssa-math-opts.c (execute_cse_reciprocals): Ditto.
	* gcc/tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto.
	* gcc/tree-nrv.c (tree_nrv): Ditto.
	(execute_return_slot_opt): Ditto.
	* gcc/tree-ssa-alias.c (compute_may_aliases): Ditto.
	(create_structure_vars): Ditto.
	* gcc/loop-init.c (rtl_loop_init): Ditto.
	(rtl_loop_done): Ditto.
	(rtl_move_loop_invariants): Ditto.
	(rtl_unswitch): Ditto.
	(rtl_unroll_and_peel_loops): Ditto.
	(rtl_doloop): Ditto.
	* gcc/gimple-low.c (lower_function_body): Ditto.
	(mark_used_blocks): Ditto.
	* gcc/tree-ssa-sink.c (execute_sink_code): Ditto.
	* gcc/ipa-inline.c (cgraph_decide_inlining): Ditto.
	(cgraph_early_inlining): Ditto.
	* gcc/global.c (rest_of_handle_global_alloc): Ditto.
	* gcc/jump.c (cleanup_barriers): Ditto.
	(purge_line_number_notes): Ditto.
	* gcc/ifcvt.c (rest_of_handle_if_conversion): Ditto.
	(rest_of_handle_if_after_reload): Ditto.
	* gcc/tree-ssa-loop.c (tree_ssa_loop_init): Ditto.
	(tree_ssa_loop_im): Ditto.
	(tree_ssa_loop_unswitch): Ditto.
	(tree_vectorize): Ditto.
	(tree_linear_transform): Ditto.
	(tree_ssa_loop_ivcanon): Ditto.
	(tree_ssa_empty_loop): Ditto.
	(tree_ssa_loop_bounds): Ditto.
	(tree_complete_unroll): Ditto.
	(tree_ssa_loop_prefetch): Ditto.
	(tree_ssa_loop_ivopts): Ditto.
	(tree_ssa_loop_done): Ditto.
	* gcc/predict.c (tree_estimate_probability): Ditto.
	* gcc/recog.c (split_all_insns_noflow): Ditto.
	(rest_of_handle_peephole2): Ditto.
	(rest_of_handle_split_all_insns): Ditto.
	* gcc/tree-eh.c (lower_eh_constructs): Ditto.
	* gcc/regmove.c (rest_of_handle_regmove): Ditto.
	(rest_of_handle_stack_adjustments): Ditto.
	* gcc/local-alloc.c (rest_of_handle_local_alloc): Ditto.
	* gcc/function.c (instantiate_virtual_regs): Ditto.
	(init_function_for_compilation): Ditto.
	(rest_of_handle_check_leaf_regs): Ditto.
	* gcc/gcse.c (rest_of_handle_jump_bypass): Ditto.
	(rest_of_handle_gcse): Ditto.
	* gcc/ipa-type-escape.c (type_escape_execute): Ditto.
	* gcc/alias.c (rest_of_handle_cfg): Ditto.
	* gcc/tree-if-conv.c (main_tree_if_conversion): Ditto.
	* gcc/profile.c (rest_of_handle_branch_prob): Ditto.
	* gcc/tree-ssa-phiopt.c (tree_ssa_phiopt): Ditto.
	* gcc/rtl-factoring.c (rest_of_rtl_seqabstr): Ditto.
	* gcc/bt-load.c (rest_of_handle_branch_target_load_optimize): Ditto
	* gcc/tree-dfa.c (find_referenced_vars): Ditto.
	* gcc/except.c (set_nothrow_function_flags): Ditto.
	(convert_to_eh_region_ranges): Ditto.
	(rest_of_handle_eh): Ditto.
	* gcc/emit-rtl.c (unshare_all_rtl): Ditto.
	(remove_unnecessary_notes): Ditto.
	* gcc/except.h (set_nothrow_function_flags): Ditto.
	(convert_to_eh_region_ranges): Ditto.
	* gcc/cfgexpand.c (tree_expand_cfg): Ditto.
	* gcc/tree-cfgcleanup.c (merge_phi_nodes): Ditto.
	* gcc/tree-ssa-pre.c (do_pre): Ditto.
	(execute_fre): Ditto.
	* gcc/cfgcleanup.c (rest_of_handle_jump): Ditto.
	(rest_of_handle_jump2): Ditto.
	* gcc/tree-sra.c (tree_sra): Ditto.
	* gcc/tree-mudflap.c (execute_mudflap_function_ops): Ditto.
	(execute_mudflap_function_decls): Ditto.
	* gcc/tree-ssa-copy.c (do_copy_prop): Ditto.
	(do_store_copy_prop): Ditto.
	* gcc/ipa-prop.h (ipcp_driver): Ditto.
	* gcc/cfglayout.c (insn_locators_initialize): Ditto.
	* gcc/tree-ssa-forwprop.c
	(tree_ssa_forward_propagate_single_use_vars): Ditto.
	* gcc/cfglayout.h (insn_locators_initialize): Ditto.
	* gcc/tree-ssa-dce.c (tree_ssa_dce): Ditto.
	* gcc/tree-ssa.c (execute_early_warn_uninitialized): Ditto.
	(execute_late_warn_uninitialized): Ditto.
	* gcc/rtl.h (cleanup_barriers): Ditto.
	(split_all_insns_noflow): Ditto.
	(purge_line_number_notes): Ditto.
	(unshare_all_rtl): Ditto.
	(remove_unnecessary_notes): Ditto.
	(recompute_reg_usage): Ditto.
	(variable_tracking_main): Ditto.
	* gcc/integrate.c (emit_initial_value_sets): Ditto.
	* gcc/integrate.h (emit_initial_value_sets): Ditto.
	* gcc/tree-optimize.c (execute_free_datastructures): Ditto
	(execute_free_cfg_annotations): Ditto.
	(execute_fixup_cfg): Ditto.
	(execute_cleanup_cfg_pre_ipa): Ditto.
	(execute_cleanup_cfg_post_optimizing): Ditto.
	(execute_init_datastructures): Ditto.
	* gcc/tree-object-size.c (compute_object_sizes): Ditto.
	* gcc/combine.c (rest_of_handle_combine): Ditto.
	* gcc/tree-outof-ssa.c (rewrite_out_of_ssa): Ditto.
	* gcc/bb-reorder.c (duplicate_computed_gotos): Ditto.
	(rest_of_handle_reorder_blocks): Ditto.
	(rest_of_handle_partition_blocks): Ditto.
	* gcc/var-tracking.c (variable_tracking_main): Ditto.
	* gcc/tree-profile.c (tree_profiling): Ditto.
	* gcc/tree-vect-generic.c (expand_vector_operations): Ditto.
	* gcc/reg-stack.c (rest_of_handle_stack_regs): Ditto.
	* gcc/sched-rgn.c (rest_of_handle_sched): Ditto.
	(rest_of_handle_sched2): Ditto.
	* gcc/basic-block.h (free_bb_insn): Ditto.
	* gcc/tree-ssa-structalias.c (ipa_pta_execute): Ditto.
	* gcc/tree-cfg.c (execute_build_cfg): Ditto.
	(remove_useless_stmts): Ditto.
	(split_critical_edges): Ditto.
	(execute_warn_function_return): Ditto.
	(execute_warn_function_noreturn): Ditto.
	* gcc/tree-ssa-reassoc.c (execute_reassoc): Ditto.
	* gcc/cfgrtl.c (free_bb_for_insn): Ditto.
	* gcc/passes.c (execute_one_pass): Run additional
	todos returned by execute function.
	* gcc/tree-pass.h (struct tree_opt_pass): Make execute
	return a value.

From-SVN: r111643
2006-03-02 19:00:11 +00:00
Marcin Dalecki 5ed6ace578 tree-vrp.c: Use XNEW/XCNEW allocation wrappers.
2006-01-31  Marcin Dalecki  <martin@dalecki.de>

	* tree-vrp.c: Use XNEW/XCNEW allocation wrappers.
	* regrename.c: Ditto.
	* tree-ssa-loop-im.c: Ditto.
	* tree-dump.c: Ditto.
	* tree-complex.c: Ditto.
	* genrecog.c: Ditto.
	* tree-ssa-threadupdate.c: Ditto.
	* tracer.c: Ditto.
	* java/class.c: Ditto.
	* java/jcf-parse.c: Ditto.
	* java/resource.c: Ditto.
	* java/except.c: Ditto.
	* java/jvspec.c: Ditto.
	* java/jcf-write.c: Ditto.
	* java/jcf-path.c: Ditto.
	* java/gjavah.c: Ditto.
	* java/zextract.c: Ditto.
	* java/jcf-io.c: Ditto.
	* java/jcf.h: Ditto.
	* java/buffer.c: Ditto.
	* java/lang.c: Ditto.
	* java/parse-scan.y: Ditto.
	* java/lex.c: Ditto.
	* java/lex.h: Ditto.
	* cfgloopmanip.c: Ditto.
	* postreload-gcse.c: Ditto.
	* tree-ssa-loop-manip.c: Ditto.
	* postreload.c: Ditto.
	* tree-ssa-loop-ch.c: Ditto.
	* loop.c: Ditto.
	* ipa-cp.c: Ditto.
	* cppspec.c: Ditto.
	* diagnostic.c: Ditto.
	* final.c: Ditto.
	* genoutput.c: Ditto.
	* gcc.c: Ditto.
	* cfghooks.c: Ditto.
	* cfgloopanal.c: Ditto.
	* objc/objc-act.c: Ditto.
	* gcov.c: Ditto.
	* genextract.c: Ditto.
	* genautomata.c: Ditto.
	* pretty-print.c: Ditto.
	* genemit.c: Ditto.
	* cgraphunit.c: Ditto.
	* flow.c: Ditto.
	* df-scan.c: Ditto.
	* haifa-sched.c: Ditto.
	* dominance.c: Ditto.
	* dbxout.c: Ditto.
	* tree-ssa-loop-ivopts.c: Ditto.
	* df-core.c: Ditto.
	* mode-switching.c: Ditto.
	* modulo-sched.c: Ditto.
	* graph.c: Ditto.
	* ipa-pure-const.c: Ditto.
	* cse.c: Ditto.
	* fix-header.c: Ditto.
	* web.c: Ditto.
	* tree-stdarg.c: Ditto.
	* ipa-utils.c: Ditto.
	* loop-init.c: Ditto.
	* ipa-inline.c: Ditto.
	* cfganal.c: Ditto.
	* global.c: Ditto.
	* alloc-pool.c: Ditto.
	* dwarf2out.c: Ditto.
	* opts.c: Ditto.
	* genattrtab.c: Ditto.
	* tree-ssa-loop-ivcanon.c: Ditto.
	* predict.c: Ditto.
	* timevar.c: Ditto.
	* lcm.c: Ditto.
	* fortran/gfortranspec.c: Ditto.
	* regmove.c: Ditto.
	* local-alloc.c: Ditto.
	* langhooks.c: Ditto.
	* function.c: Ditto.
	* tree-vectorizer.c: Ditto.
	* gcse.c: Ditto.
	* ipa-type-escape.c: Ditto.
	* alias.c: Ditto.
	* tree-if-conv.c: Ditto.
	* profile.c: Ditto.
	* ipa.c: Ditto.
	* tree-data-ref.c: Ditto.
	* loop-unroll.c: Ditto.
	* treelang/treetree.c: Ditto.
	* calls.c: Ditto.
	* bt-load.c: Ditto.
	* ggc-common.c: Ditto.
	* except.c: Ditto.
	* coverage.c: Ditto.
	* cselib.c: Ditto.
	* tree-cfgcleanup.c: Ditto.
	* tree-ssa-pre.c: Ditto.
	* cfgcleanup.c: Ditto.
	* loop-invariant.c: Ditto.
	* loop-iv.c: Ditto.
	* ipa-prop.c: Ditto.
	* print-tree.c: Ditto.
	* conflict.c: Ditto.
	* ggc-page.c: Ditto.
	* sched-deps.c: Ditto.
	* regclass.c: Ditto.
	* tree-object-size.c: Ditto.
	* combine.c: Ditto.
	* bb-reorder.c: Ditto.
	* resource.c: Ditto.
	* var-tracking.c: Ditto.
	* cfgloop.c: Ditto.
	* df-problems.c: Ditto.
	* reg-stack.c: Ditto.
	* tlink.c: Ditto.
	* gccspec.c: Ditto.
	* sched-rgn.c: Ditto.
	* tree-ssa-structalias.c: Ditto.
	* tree-ssa-reassoc.c: Ditto.
	* config/darwin-c.c: Ditto.
	* config/darwin.c: Ditto.
	* config/arm/arm.c: Ditto.
	* cfgrtl.c: Ditto.
	* collect2.c: Ditto.
	* reload1.c: Ditto.

From-SVN: r110446
2006-01-31 20:56:55 +01:00
Richard Guenther c11fd0b206 re PR rtl-optimization/24626 (internal compiler error: verify_flow_info failed)
2006-01-20  Richard Guenther  <rguenther@suse.de>
	Steven Bosscher <stevenb.gcc@gmail.com>

	PR rtl-optimization/24626
	* cfgloopmanip.c (lv_adjust_loop_entry_edge): Don't set
	EDGE_TRUE_VALUE if in RTL mode.

	Revert
	2005-03-30 Mostafa Hagog <mustafa@il.ibm.com>
	* cfgrtl.c (rtl_verify_flow_info_1): Fix.

	* gcc.dg/torture/pr24626-1.c: New testcase.
	* gcc.dg/torture/pr24626-2.c: Likewise.
	* gcc.dg/torture/pr24626-3.c: Likewise.
	* gcc.dg/torture/pr24626-4.c: Likewise.

Co-Authored-By: Steven Bosscher <stevenb.gcc@gmail.com>

From-SVN: r110020
2006-01-20 09:38:56 +00:00
Kazu Hirata 68f9b84438 basic-block.h (control_flow_graph): Change the type of x_basic_block_info to VEC(basic_block,gc) *.
* basic-block.h (control_flow_graph): Change the type of
	x_basic_block_info to VEC(basic_block,gc) *.
	(BASIC_BLOCK_FOR_FUNCTION, BASIC_BLOCK): Adjust the uses of
	basic_block_info.
	(SET_BASIC_BLOCK): New.
	* cfg.c (compact_blocks, expunge_block): Use SET_BASIC_BLOCK
	instead of BASIC_BLOCK when assigning to BASIC_BLOCK.
	* cfgbuild.c (find_basic_blocks): Likewise.
	* cfglayout.c (fixup_reorder_chain): Likewise.
	* cfgrtl.c (create_basic_block_structure,
	rtl_create_basic_block): Likewise.
	* ifcvt.c (find_if_case_1): Likewise.
	* tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb):
	Likewise.

From-SVN: r109596
2006-01-11 18:43:15 +00:00
Eric Botcazou c8c3cb28fa cfglayout.c (fixup_reorder_chain): Remove kludge for the case of conditional jump jumping to the next instruction.
* cfglayout.c (fixup_reorder_chain): Remove kludge for the
	case of conditional jump jumping to the next instruction.
	* cfgrtl.c (force_nonfallthru_and_redirect): Accept all
	cases of conditional jump jumping to the next instruction.


Co-Authored-By: Jan Hubicka <jh@suse.cz>

From-SVN: r109247
2006-01-02 22:47:50 +00:00
Daniel Berlin 24bd1a0b27 basic-block.h: Changed basic block numbering so that the entry block is 0 and the exit block is 1.
2005-12-17  Danny Berlin <dberlin@dberlin.org>
	    Kenneth Zadeck <zadeck@naturalbridge.com>

	* basic-block.h: Changed basic block numbering so that the entry
	block is 0 and the exit block is 1.  Changed insn iterators so
	that they are tolerant of blocks with no insns.
	* regrename.c (copyprop_hardreg_forward): Changed basic block
	numbering so that the entry block is 0 and the exit block is 1.
	* sched-ebb.c (sehedule_ebbs): Ditto.
	* tracer.c (branch_ratio_cutoff): Ditto.
	* cfgloopmanip.c (fix_loop_structure): Ditto.
	* cfghooks.c (verify_flow_info): Ditto.
	* cfg.c (compact_blocks): Ditto.
	* reorg.c (dbr_schedule): Ditto.
	* flow.c (calculate_global_regs_live, libcall_dead_p): Ditto.
	* dominance.c (calc_dfs_tree_nonrec, calc_dfs_tree,
	calculate_dominance_info): Ditto.
	* cfganal.c (create_edge_list, print_edge_list,
	flow_depth_first_order_compute, flow_dfs_compute_reverse_init,
	flow_dfs_compute_reverse_add_bb, flow_dfs_compute_reverse_execute,
	dfs_enumerate_from): Ditto.
	* global.c (global_alloc, set_up_bb_rts_numbers): Ditto.
	* ifcvt.c (find_if_case_2): Ditto.
	* cfgbuild.c (control_flow_insn_p, count_basic_blocks,
	find_basic_blocks): Ditto.
	* predict.c (predict_loops, tree_bb_level_predictions,
	predict_paths_leading_to, propagate_freq): Ditto.
	* lcm.c (compute_antinout_edge, compute_laterin,
	compute_available): Ditto.
	* function.c (thread_prologue_and_epilogue_insns): Ditto.
	* gcse.c (gcse_main, bypass_jumps): Ditto.
	* profile.c (compute_branch_probabilities,
	compute_value_histograms, branch_prob): Ditto.
	* tree-flow-inline.h (bsi_start, bsi_after_labels,
	bsi_last): Ditto.
	* tree-ssa-phiopt.c (tree_ssa_phiopt,
	blocks_in_phiopt_order): Ditto.
	* bt-load.c (compute_defs_uses_and_gen, compute_kill,
	compute_out, link_btr_uses, migrate_btr_defs): Ditto.
	* tree-dfa.c (collect_dfa_stats): Ditto.
	* cfgcleanup.c (try_forward_edges, try_optimize_cfg): Ditto.
	* cfglayout.c (fixup_reorder_chain): Ditto.
	* bb-reorder.c (reorder_basic_blocks, duplicate_computed_gotos,
	partition_hot_cold_basic_blocks): Ditto.
	* var-tracking.c (vt_find_locations): Ditto.
	* cfgloop.c (flow_loops_cfg_dump, flow_loops_find, get_loop_body): Ditto.
	* sched-rgn.c (compute_trg_info, init_regions, schedule_insns): Ditto.
	* tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, make_edges
	label_to_block_fn, print_loop_ir, tree_flow_call_edges_add): Ditto.
	* tree-ssa-reassoc.c (init_reassoc): Ditto.
	* cfgrtl.c (entry_of_function, rtl_verify_flow_info,
	rtl_flow_call_edges_add, rtl_flow_call_edges_add): Ditto.
	* df.c (df_analyze_1, hybrid_search, iterative_dataflow): Ditto
	and removed unused reverse orders.
	* df.h (): Ditto.
	* combine.c: Fix document typo.



Co-Authored-By: Kenneth Zadeck <zadeck@naturalbridge.com>

From-SVN: r108713
2005-12-17 13:40:27 +00:00
James E Wilson e5f9a909f1 Rewrite fix for PR 17356, fix for enable checking ada build failure.
cfgrtl.c (purge_dead_edges): Undo last change.  In EDGE_EH code,
add check for CALL_INSN if EDGE_ABRNOMAL_CALL true.

From-SVN: r106297
2005-10-31 15:24:36 -08:00
Eric Botcazou e48050bd06 re PR middle-end/23199 (ICE in int_mode_for_mode, at stor-layout.c:251)
PR middle-end/23199
	* cfgrtl.c (safe_insert_insn_on_edge): Use can_copy_p to detect
	whether registers live on the edge can be saved/restored.

From-SVN: r105618
2005-10-19 14:42:17 +00:00
James E Wilson 1b2914a086 Fix IA-64 libada build failure, abnormal call edges on non-call insns.
PR rtl-optimization/17356
* cfgrtl.c (purge_dead_edges): Check for EDGE_ABNORMAL_CALL before
checking for EDGE_EH.

From-SVN: r105533
2005-10-17 17:22:53 -07:00
Richard Henderson 2c97f8e4f3 cfgrtl.c (rtl_merge_blocks): Call maybe_remove_eh_handler on labels we want to delete.
* cfgrtl.c (rtl_merge_blocks): Call maybe_remove_eh_handler on
        labels we want to delete.
        (cfg_layout_merge_blocks): Likewise.

From-SVN: r102512
2005-07-28 14:11:30 -07:00
Paolo Bonzini ef3303124e Makefile.in: Adjust dependencies.
2005-07-05  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.in: Adjust dependencies.
	* tree-pass.h: Add new passes and passes formerly in tree-optimize.c.
	* basic-block.h (duplicate_computed_gotos): Remove, it is now static.
	* alias.c (rest_of_handle_cfg, pass_cfg): New.
	* bb-reorder.c (duplicate_computed_gotos): Make it static.
	* cfgexpand.c (tree_expand_cfg): Add code formerly at the beginning of
	rest_of_compilation.

	* bb-reorder.c (gate_duplicate_computed_gotos,
	pass_duplicate_computed_gotos, gate_handle_reorder_blocks,
	rest_of_handle_reorder_blocks, pass_reorder_blocks,
	gate_handle_partition_blocks, rest_of_handle_partition_blocks,
	pass_partition_blocks): New.
	* bt-load.c (gate_handle_branch_target_load_optimize,
	rest_of_handle_branch_target_load_optimize,
	pass_branch_target_load_optimize): New.
	* cfgcleanup.c (rest_of_handle_jump, pass_jump, rest_of_handle_jump2,
	pass_jump2): New.
	* cfglayout.c (pass_insn_locators_initialize): New.
	* cfgrtl.c (pass_free_cfg): New.
	* combine.c (gate_handle_combine, rest_of_handle_combine,
	pass_combine): New.
	* cse.c (gate_handle_cse, rest_of_handle_cse, pass_cse,
	gate_handle_cse2, rest_of_handle_cse2, pass_cse2): New.
	* emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes): New.
	* except.c (pass_set_nothrow_function_flags,
	pass_convert_to_eh_region_ranges, gate_handle_eh, rest_of_handle_eh,
	pass_rtl_eh): New.
	* final.c (pass_compute_alignments, rest_of_handle_final, pass_final,
	rest_of_handle_shorten_branches, pass_shorten_branches,
	rest_of_clean_state, pass_clean_state): New.
	* flow.c (pass_recompute_reg_usage, gate_remove_death_notes,
	rest_of_handle_remove_death_notes, pass_remove_death_notes,
	rest_of_handle_life, pass_life, rest_of_handle_flow2,
	pass_flow2): New.
	* function.c (pass_instantiate_virtual_regs, pass_init_function,
	rest_of_handle_check_leaf_regs, pass_leaf_regs): New.
	* gcse.c (gate_handle_jump_bypass, rest_of_handle_jump_bypass,
	pass_jump_bypass, gate_handle_gcse, rest_of_handle_gcse,
	pass_gcse): New.
	* global.c (rest_of_handle_global_alloc, pass_global_alloc): New.
	* ifcvt.c (gate_handle_if_conversion, rest_of_handle_if_conversion,
	pass_rtl_ifcvt, gate_handle_if_after_combine,
	rest_of_handle_if_after_combine, pass_if_after_combine,
	gate_handle_if_after_reload, rest_of_handle_if_after_reload,
	pass_if_after_reload): New.
	* integrate.c (pass_initial_value_sets): New.
	* jump.c (pass_cleanup_barriers, purge_line_number_notes,
	pass_purge_lineno_notes): New.
	* mode-switching.c (rest_of_handle_mode_switching,
	pass_mode_switching): New.
	* local-alloc.c (rest_of_handle_local_alloc, pass_local_alloc): New.
	* loop-init.c (gate_handle_loop2, rest_of_handle_loop2,
	pass_loop2): New.
	* loop.c (gate_handle_loop_optimize, rest_of_handle_loop_optimize,
	pass_loop_optimize): New.
	* modulo-sched.c (gate_handle_sms, rest_of_handle_sms,
	pass_sms): New.
	* postreload-gcse.c (gate_handle_gcse2, rest_of_handle_gcse2,
	pass_gcse2): New.
	* postreload.c (gate_handle_postreload, rest_of_handle_postreload,
	pass_postreload_cse): New.
	* profile.c (gate_handle_profiling, pass_profiling,
	rest_of_handle_branch_prob, pass_branch_prob): New.
	* recog.c (pass pass_split_for_shorten_branches, gate_do_final_split,
	pass_split_before_regstack, gate_handle_split_before_regstack,
	gate_handle_peephole2, rest_of_handle_peephole2, pass_peephole2,
	rest_of_handle_split_all_insns, pass_split_all_insns): New.
	* reg-stack.c (gate_handle_stack_regs, rest_of_handle_stack_regs,
	pass_stack_regs): New.
	* regmove.c (gate_handle_regmove, rest_of_handle_regmove, pass_regmove,
	gate_handle_stack_adjustments, rest_of_handle_stack_adjustments,
	pass_stack_adjustments): New.
	* regrename.c (gate_handle_regrename, rest_of_handle_regrename,
	pass_regrename): New.
	* reorg.c (gate_handle_delay_slots, rest_of_handle_delay_slots,
	pass_delay_slots, gate_handle_machine_reorg,
	rest_of_handle_machine_reorg, pass_machine_reorg): New.
	* rtl.h (extern void purge_line_number_notes): New.
	* sched-rgn.c (gate_handle_sched, rest_of_handle_sched,
	gate_handle_sched2, rest_of_handle_sched2, pass_sched,
	pass_sched2): New.
	* tracer.c (gate_handle_tracer, rest_of_handle_tracer,
	pass_tracer): New.
	* value-prof.c (gate_handle_value_profile_transformations,
	rest_of_handle_value_profile_transformations,
	pass_value_profile_transformations): New.
	* var-tracking.c (gate_handle_var_tracking,
	pass_variable_tracking): New.
	* web.c (gate_handle_web, rest_of_handle_web, pass_web): New.

	* passes.c (open_dump_file, close_dump_file, rest_of_handle_final,
	rest_of_handle_delay_slots, rest_of_handle_stack_regs,
	rest_of_handle_variable_tracking, rest_of_handle_machine_reorg,
	rest_of_handle_old_regalloc, rest_of_handle_regrename,
	rest_of_handle_reorder_blocks, rest_of_handle_partition_blocks,
	rest_of_handle_sms, rest_of_handle_sched, rest_of_handle_sched2,
	rest_of_handle_gcse2, rest_of_handle_regmove,
	rest_of_handle_tracer, rest_of_handle_if_conversion,
	rest_of_handle_if_after_combine, rest_of_handle_if_after_reload,
	rest_of_handle_web, rest_of_handle_branch_prob,
	rest_of_handle_value_profile_transformations, rest_of_handle_cfg,
	rest_of_handle_jump_bypass, rest_of_handle_combine,
	rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
	rest_of_handle_gcse, rest_of_handle_loop_optimize,
	rest_of_handle_loop2, rest_of_handle_branch_target_load_optimize,
	rest_of_handle_mode_switching, rest_of_handle_jump,
	rest_of_handle_eh, rest_of_handle_stack_adjustments,
	rest_of_handle_flow2, rest_of_handle_jump2,
	rest_of_handle_peephole2, rest_of_handle_postreload,
	rest_of_handle_shorten_branches, rest_of_clean_state,
	rest_of_compilation): Remove.

	* cgraphunit.c (ipa_passes): Moved from tree-optimize.c.
	* passes.c (dump_flags, in_gimple_form, all_passes,
	all_ipa_passes, all_lowering_passes, register_one_dump_file,
	register_dump_files, next_pass_1, last_verified, execute_todo,
	execute_one_pass, execute_pass_list, execute_ipa_pass_list): Moved
	from tree-optimize.c.
	(init_optimization_passes): Moved from tree-optimize.c,
	adding the RTL optimizations.
	* tree-dump.h (dump_info_p, dump_flag): Moved from tree.h.
	* tree-optimize.c (dump_flags, in_gimple_form, all_passes,
	all_ipa_passes, all_lowering_passes, register_one_dump_file,
	register_dump_files, next_pass_1, last_verified, execute_todo,
	execute_one_pass, execute_pass_list, execute_ipa_pass_list,
	init_tree_optimization_passes, ipa_passes): Delete.
	* tree-pass.h (enum tree_dump_index): Moved from tree.h, removing
	the RTL dumps.
	(TDF_*, get_dump_file_name, dump_enabled_p, dump_initialized_p,
	dump_begin, dump_end, dump_node, dump_switch_p, dump_flag_name): Moved
	from tree.h.
	(ipa_passes): Remove.
	(all_passes, all_ipa_passes, all_lowering_passes): Now extern.
	* tree.h (enum tree_dump_index, TDF_*, get_dump_file_name,
	dump_enabled_p, dump_initialized_p, dump_begin, dump_end, dump_node,
	dump_switch_p, dump_flag_name): Moved to tree-pass.h.
	(dump_info_p, dump_flag): Moved to tree-dump.h.

	* Makefile.in: Adjust dependencies for tree-pretty-print.c,
	cgraph.c, opts.c.
	* passes.c (finish_optimization_passes): Use dump_begin
	and dump_end, TDI_end.
	(gate_rest_of_compilation): New.
	(pass_rest_of_compilation): Use it.
	(gate_postreload, pass_postreload): New.
	* toplev.c (general_init): Rename init_tree_optimization_passes.
	* toplev.h (init_tree_optimization_passes): Rename to
	init_optimizations_passes.
	* tree-dump.c (dump_flag): Make static.
	(dump_files): Remove RTL dumps.
	* tree-optimize.c (pass_all_optimizations, pass_early_local_passes,
	pass_cleanup_cfg, pass_free_cfg_annotations,
	pass_cleanup_cfg_post_optimizing, pass_free_datastructures,
	pass_init_datastructures, pass_fixup_cfg): Make non-static.
	* tree-pretty-print.c: Include tree-pass.h.
	* cgraph.c: Include tree-dump.h.

cp:
2005-07-05  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.in (class.o, decl2.o): Adjust dependencies.
	* class.c: Include tree-dump.h.
	* decl2.c: Include tree-dump.h.

java:
2005-07-05  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.in (parse.o): Adjust dependencies.
	* parse.y: Include tree-dump.h.

From-SVN: r101627
2005-07-05 16:20:53 +00:00
Joseph Myers ab532386bd bb-reorder.c, [...]: Avoid "." or "\n" at end of diagnostics and capital letters at start of diagnostics.
* bb-reorder.c, c-pch.c, c-pragma.c, c.opt, cfghooks.c, cfgloop.c,
	cfgrtl.c, cgraphunit.c, config/c4x/c4x.c, config/cris/cris.c,
	config/frv/frv.c, config/host-darwin.c, config/iq2000/iq2000.c,
	config/lynx.h, config/m68k/m68k.c, config/pa/pa.c, config/sh/sh.h,
	config/stormy16/stormy16.c, config/v850/v850.c,
	config/vax/netbsd-elf.h, coverage.c, dwarf2out.c, emit-rtl.c,
	except.c, gcc.c, tree-cfg.c, tree-eh.c, tree-ssa.c, xcoffout.c:
	Avoid "." or "\n" at end of diagnostics and capital letters at
	start of diagnostics.
	* combine.c, cse.c: Don't translate dump file output.
	* toplev.c (print_version): Only translate output if going to
	stderr.

From-SVN: r101561
2005-07-03 22:08:11 +01:00
Jan Hubicka 370369e1a7 basic-block.h (basic_block_def): Kill rbi.
* basic-block.h (basic_block_def): Kill rbi.
	(reorder_block_def): Kill; Remove next field (replaced by aux);
	move other fields to ...
	(rtl_bb_info): ... here.
	* bb-reorder.c (find_traces, rotate_loop, find_traces_1_round,
	copy_bb, connect_traces, add_labels_and_missing_jumps
	fix_up_fall_thru_edges, fix_crossing_conditional_branches,
	duplicate_computed_gotos, partition_hot_cold_basic-blocks):
	Update to new fields.
	* cfg.c (initialize_bb_rbi): Kill.
	* cfglayout.c (record_effective_endpoints, fixup_reorder_chain,
	fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update.
	* cfgrtl.c (cfg_layout_create_basic_block): Do not initialize rbi.
	(try_redirect_by_replacing_jump): Update rbi references.
	(cfg_layout_split_block): Likewise.
	(cfg_layout_delete_block): Likewise.
	(cfg_layout_merge_blocks): Likewise.
	* function.c (thread_prologue_and_epilogue_insns): Likewise.
	* passes.c (rest_of_handle_sms): Likewise.
	* tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.

From-SVN: r101359
2005-06-27 23:06:33 +00:00
Kelley Cook 366ccddb2b Update FSF address.
From-SVN: r101317
2005-06-25 02:02:01 +00:00
Jan Hubicka 5e2d947ce8 basic-block.h (rtl_bb_info): Break out head_, end_, global_live_at_start, global_live_at_end from ...
* basic-block.h (rtl_bb_info): Break out head_, end_,
	global_live_at_start, global_live_at_end from ...
	(basic_block_def): ... here; update all references
	(BB_RTL): New flag.
	(init_rtl_bb_info): Declare.
	* cfgexpand.c (expand_gimple_basic_block): Init bb info, set BB_RTL
	flag.
	* cfgrtl.c: Include ggc.h
	(create_basic_block_structure): Init bb info.
	(rtl_verify_flow_info_1): Check BB_RTL flag and rtl_bb_info pointer.
	(init_rtl_bb_info): New function.
	(rtl_merge_block, cfglayout_merge_block): Copy global_live_at_end here.
	* cfghooks.c (merge_block): Do not copy global_live_at_end here.
	* cfg.c (clear_bb_flags): Skip BB_RTL flag.
	(dump_flow_info): Gueard global_live_* dumping.

From-SVN: r101082
2005-06-16 10:33:40 +00:00
Jan Hubicka a00d11f077 predict.c (tree_predict_edge): Don't drop useless predictions; check that it is not called too late in the game.
* predict.c (tree_predict_edge): Don't drop useless predictions;
	check that it is not called too late in the game.
	(gate_estimate_probability): New gate.
	(pass_profile): Gate.
	* tree-mudflap.c (mf_build_check_statement_for): Do not drop
	predictions; update CFG instead.
	* cfgrtl.c (rtl_verify_flow_info): Check that predcitions are consumed.

From-SVN: r100662
2005-06-06 12:31:35 +00:00
Steven Bosscher 610d24786d lcm.c: Move all mode-switching related functions from here...
* lcm.c: Move all mode-switching related functions from here...
	* mode-switching.c: ...to this new file.
	* doc/passes.texi: Update accordingly.

	* basic-block.h (label_value_list): Remove extern decl.
	* cfgrtl.c (label_value_list): Remove.
	(can_delete_label_p): Don't look at it.
	* cfgcleanup.c (cleanup_cfg): Don't free it.

	* common.opt: Don't refer to non-existing flag_alias_check.

From-SVN: r100591
2005-06-04 17:07:57 +00:00
Kazu Hirata 0fa2e4df47 c-common.c, [...]: Fix comment typos.
* c-common.c, c-parser.c, cfgbuild.c, cfghooks.c, cfghooks.h,
	cfgrtl.c, cgraphunit.c, ddg.c, expr.h, gcse.c, ggc-page.c,
	ggc-zone.c, gimplify.c, ipa-inline.c, longlong.h, targhooks.c,
	tree-flow-inline.h, tree-pass.h, tree-ssa-dse.c,
	tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c,
	tree-ssa-operands.c, tree-vect-analyze.c,
	tree-vect-transform.c, tree-vectorizer.c, tree.c,
	config/arm/arm.c, config/bfin/bfin.c, config/frv/frv.c,
	config/frv/frv.md, config/i386/i386.c, config/i386/sse.md,
	config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
	config/mcore/mcore.c, config/mips/mips.c, config/mips/mips.md,
	config/rs6000/darwin-ldouble.c, config/rs6000/rs6000.c,
	config/rs6000/rs6000.h, config/sh/sh.c, config/sh/sh.md,
	config/sh/ushmedia.h, config/sparc/sparc.c,
	config/sparc/sparc.md, config/stormy16/stormy-abi: Fix comment
	typos.  Follow spelling conventions.
	* doc/invoke.texi, doc/tm.texi, doc/tree-ssa.texi: Fix typos.
	Follow spelling conventions.

From-SVN: r100218
2005-05-26 18:15:27 +00:00
Daniel Berlin 2afa8dceda cfgrtl.c (purge_dead_edges): Don't remove fake edges.
2005-05-18  Daniel Berlin  <dberlin@dberlin.org>

	* cfgrtl.c (purge_dead_edges): Don't remove fake edges.

From-SVN: r99897
2005-05-18 13:29:38 +00:00
J"orn Rennecke 4c33cb26d4 re PR rtl-optimization/20413 (VOIDmode LABEL_REFs are generated)
2005-04-25  J"orn Rennecke <joern.rennecke@st.com>
	    Stephen Clarke <stevec@superh.com>
	    Roger Sayle <roger@eyesopen.com>

	PR rtl-optimization/20413
	* cfgrtl.c (redirect_edge_and_branch): Use Pmode instead of
	VOIDmode for LABEL_REF.
	* final.c (shorten_branches): Likewise.
	* jump.c (mark_all_labels, redirect_exp_1): Likewise.
	* loop.c (reg_dead_after_loop): Likewise.
	* varasm.c (decode_addr_const): Likewise.
	* doc/rtl.texi: Document mode requirement for LABEL_REF.

Co-Authored-By: Roger Sayle <roger@eyesopen.com>
Co-Authored-By: Stephen Clarke <stevec@superh.com>

From-SVN: r98711
2005-04-25 13:46:12 +01:00
Nathan Sidwell 41806d92af alias.c (true_dependence): Remove 'abort' from comments.
* alias.c (true_dependence): Remove 'abort' from comments. Use
	gcc_assert and gcc_unreachable as appropriate.
	(canon_true_dependence): Likewise.
	* bb-reorder.c (connect_traces): Likewise.
	* c-common.c (c_add_case_label): Likewise.
	* c-decl.c (finish_function): Likewise.
	* caller-save.c (insert_restore, insert_save): Likewise.
	* cfg.c (update_bb_profile_for_threading): Likewise.
	* cfganal.c (flow_active_insn_p): Likewise.
	* cfgexpand.c (add_reg_br_prob_note): Likewise.
	* cfgrtl.c (rtl_redirect_edge_and_branch_force, rtl_split_edge,
	cfg_layout_merge_blocks): Likewise.
	* ifcvt.c (cond_exec_process_insns, merge_if_block,
	find_if_block): Likewise.
	* integrate.c (allocate_initial_values): Likewise.
	* jump.c (reverse_condition, reverse_condition_maybe_unordered,
	swap_condition, unsigned_condition, signed_condition,
	mark_jump_label, invert_jump_1, rtx_renumbered_equal_p,
	reg_or_subregno): Likewise.
	* lambda-code.c (lambda_compute_auxillary_space,
	lambda_transform_legal_p): Likewise.
	* lambda-mat.c (lambda_matrix_inverse_hard): Likewise.
	* langhooks.c (lhd_set_decl_assembler_name, lhd_type_promotes_to,
	lhd_incomplete_type_error, lhd_expand_expr,
	lhd_types_compatible_p, lhd_tree_size): Likewise.
	* lcm.c (create_pre_exit, optimize_mode_switching): Likewise.
	* local-alloc.c (update_equiv_regs): Likewise.
	* loop-unroll.c (peel_loop_completely
	unroll_loop_constant_iterations, unroll_loop_runtime_iterations,
	peel_loop_simple, unroll_loop_stupid,
	analyze_iv_to_split_insn): Likewise.
	* loop.c (gen_prefetch, find_and_verify_loops,
	basic_induction_var): Likewise.
	* modulo-sched.c (normalize_sched_times, check_nodes_order): Likewise.
	* value-prof.c (tree_find_values_to_profile): Likewise.
	* varasm.c (named_section, default_assemble_integer,
	decode_addr_const): Likewise.

From-SVN: r98508
2005-04-21 15:47:33 +00:00
Nathan Sidwell d4e6fecb8f vec.h: Update API to separate allocation mechanism from type.
* vec.h: Update API to separate allocation mechanism from type.
	(VEC_safe_grow): New.
	* vec.c (calculate_allocation): New.
	(vec_gc_o_reserve, vec_heap_o_reserve): Adjust.
	(vec_gc_free, vec_heap_free): Remove.
	* gengtype-lex.l (DEF_VEC_): Process mult-argument macros.  Adjust.
	(VEC): Likewise.
	(mangle_macro_name): New.
	(struct macro_def): New.
	(struct macro): Add multiple argument values.
	(macro_expans_end): New.
	(push_macro_expansion):  Chain on new macro. Process multiple
	args, create follow on expansion. Return follow on argument.
	(macro_input): Deal with multiple arguments.

	* tree.h: Define VEC(tree,heap) and VEC(tree,gc).
	(struct tree_binfo): Adjust.
	* basic-block.h: Define VEC(edge,gc).
	(struct edge_def): Adjust.
	(struct basic_block_def, struct edge_iterator): Likewise.
	(ei_container, ei_start_1, ei_last_1): Likewise.
	* cfg.c (connect_src, connect_dest): Likewise.
	* cfgrtl.c (force_nonfallthru_and_redirect)
	* dbxout.c (dbxout_type)
	* dwarf2out.c (gen_member_die)
	* lambda-code.c: Define VEC(int,gc), VEC(lambda_loop,gc).
	(gcc_tree_to_linear_expression): Adjust.
	(gcc_loop_to_lambda_loop, gcc_loopnest_to_lambda_loopnest,
	lbv_to_gcc_expression, lle_to_gcc_expression,
	lambda_loopnest_to_gcc_loopnest, can_convert_to_perfect_nest,
	perfect_nestify): Likewise.
	* lambda.h (gcc_loopnest_to_lambda_loopnest,
	lambda_loopnest_to_gcc_loopnest): Adjust prototypes.
	* profile.c (instrument_values): Adjust.
	* tree-cfg.c (modified_noreturn_calls): Adjust.
	(remove_fallthru_edge): Likewise.
	* tree-dump.c (dequeue_and_dump): Adjust.
	* tree-flow-inline.h (mark_stmt_modified): Adjust.
	* tree-flow.h (modified_noreturn_calls): Adjust.
	(tree_on_heap): Remove. (yay!)
	(register_new_def): Adjust.
	* tree-into-ssa.c: Define VEC(int,heap).
	(block_defs_stack): Adjust.
	(find_idf, insert_phi_nodes, register_new_def,
	rewrite_initialize_block, rewrite_finalize_block,
	register_new_update_single, rewrite_update_init_block,
	rewrite_update_fini_block, rewrite_blocks,
	ssa_rewrite_finalize_block, ssa_register_new_def,
	ssa_rewrite_initialize_block, rewrite_ssa_into_ssa): Likewise.
	* tree-loop-linear.c (linear_transform_loops): Adjust.
	* tree-ssa-alias.c: Define VEC(fieldoff_t,heap).
	(push_fields_onto_fieldstack, create_overlap_variables_for): Adjust.
	* tree-ssa-dom.c (avail_exprs_stack, block_defs_stack,
	stmts_to_rescan, const_and_copies_stack, nonzero_vars_stack,
	vrp_variables_stack): Adjust declarations.
	(tree_ssa_dominator_optimize): Adjust.
	(dom_opt_initialize_block, remove_local_expressions_from_table,
	restore_nonzero_vars_to_original_value,
	restore_vars_to_original_value,
	restore_currdefs_to_original_value, dom_opt_finalize_block,
	record_var_is_nonzero, record_cond, record_const_or_copy_1,
	optimize_stmt, update_rhs_and_lookup_avail_expr,
	lookup_avail_expr, record_range): Likewise.
	* tree-ssa-pre.c: Define VEC(basic_block,heap).
	(compute_antic_aux): Adjust.
	(inserted_exprs, create_expression_by_pieces,
	insert_into_preds_of_block, eliminate, mark_operand_necessary,
	remove_dead_inserted_code, fini_pre): Likewise.
	* tree-ssa-propagate.c (interesting_ssa_edges): Adjust.
	(varying_ssa_edges, add_ssa_edge, process_ssa_edge_worklist.
	ssa_prop_init): Likewise.
	* tree-ssa.c: Define VEC(bitmap,heap).
	(verify_name_tags): Adjust.
	* value-prof.c (rtl_divmod_values_to_profile): Adjust.
	(insn_prefetch_values_to_profile, rtl_find_values_to_profile,
	tree_divmod_values_to_profile, tree_find_values_to_profile,
	value_profile_transformations): Likewise.
	* value-prof.h: Define VEC(histogram_value,heap).
	* varasm.c: Remove alias_pair pointer typedef, define
	VEC(alias_pair,gc).
	(finish_aliases_1, finish_aliases_2, assemble_alias): Adjust.

	* config/pa/pa.c (typedef extern_symbol): Typedef the structure,
	not a pointer to it.  Create an object vector.
	(extern_symbols): Turn into an object vector.
	(pa_hpux_asm_output_external, pa_hpux_file_end): Adjust.

	* cp/cp-tree.h: Adjust for new VEC API.
	Define VEC(tree_pair_s,gc).
	(struct save_scope): Adjust.
	(struct lang_type_class): Adjust.
	(unemitted_tinfo_decls): Adjust.
	* cp/class.c (add_method, resort_type_method_vec,
	finish_struct_methods, struct find_final_overrider_data,
	dfs_find_final_overrider_pre, find_final_overrider,
	get_vcall_index, warn_hidden, walk_subobject_offsets,
	check_methods, fixup_inline_methods, end_of_class,
	warn_about_ambiguous_bases, finish_struct, build_vtbl_initializer,
	add_vcall_offset): Adjust.
	* cp/decl.c (xref_basetypes, finish_method): Adjust.
	* cp/decl2.c (check_classfn): Adjust.
	* cp/init.c (sort_mem_initializers, push_base_cleanups): Adjust.
	* cp/method.c (do_build_copy_constructor): Adjust.
	* cp/name-lookup.c (new_class_binding, store_binding,
	store_bindings, store_class_bindings): Adjust.
	* cp/name-lookup.h: Define VEC(cxx_saved_binding,gc),
	VEC(cp_class_binding,gc).
	(struct cp_binding_level): Adjust.
	* cp/parser.c: Define VEC(cp_token_position,heap).
	(struct cp_lexer): Adjust.
	(cp_lexer_new_main, cp_lexer_new_from_tokens, cp_lexer_destroy,
	cp_lexer_save_tokens): Adjust.
	* cp/pt.c (retrieve_specialization,
	check_explicit_specialization): Adjust.
	* cp/rtti.c (unemitted_tinfo_decls): Adjust.
	(init_rtti_processing, get_tinfo_decl, get_pseudo_ti_init,
	get_pseudo_ti_desc): Adjust.
	* cp/search.c (dfs_access_in_type, lookup_conversion_operator,
	lookup_fnfields_1, dfs_walk_once, dfs_walk_once_accessible,
	dfs_get_pure_virtuals, lookup_conversions_r, binfo_for_vbase): Adjust.
	* cp/semantics.c: Define VEC(deferred_access,gc).
	(push_deferring_access_checks): Adjust.
	* cp/typeck2.c (abstract_virtuals_error): Adjust.

From-SVN: r98498
2005-04-21 09:18:28 +00:00
Kazu Hirata 25cd19de2f cfgrtl.c (purge_all_dead_edge): Remove an unused argument.
* cfgrtl.c (purge_all_dead_edge): Remove an unused argument.
	* basic-block.h: Update the prototype for
	purge_all_dead_edges.
	* cfgexpand.c (tree_expand_cfg): Update a call to
	purge_all_dead_edges.
	* combine.c (combine_instructions): Likewise.
	* passes.c (rest_of_handle_old_regalloc, rest_of_handle_cse,
	rest_of_handle_cse2, rest_of_handle_gcse,
	rest_of_handle_postreload): likewise.

From-SVN: r98168
2005-04-15 03:16:20 +00:00