Commit Graph

737 Commits

Author SHA1 Message Date
Jan Hubicka
ca9fef16af flow.c (try_simplify_condjump): Avoid duplicated edges.
* flow.c (try_simplify_condjump): Avoid duplicated edges.
	(verify_flow_info): Check for duplicated edges; clarify
	error reporting.

	* flow.c (block_label): Update basic_block_for_insn.
	(commit_edge_insertions): Call compute_bb_for_insn.

	* flow.c (purge_dead_edges): Handle conditional jumps and conditional
	returns too.

	* flow.c (redirect_edge_and_branch,
	try_optimize_cfg): Use redirect_edge_succ_nodup
	(redirect_edge_succ_nodup): New.
	* basic_block.h (redirect_edge_succ_nodup): Declare.

	* toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
	after gcse.

From-SVN: r44320
2001-07-24 23:42:40 +00:00
Jan Hubicka
6f862f2fa9 recog.c (split_all_insns_noflow): New.
* recog.c (split_all_insns_noflow): New.
	* rtl.h (split_all_insns_noflow): Declare.
	* ia64.c (ia64_reorg): Use split_all_insns_noflow.
	* m68hc11.c (m68hc11_reorg): Likewise.
	* sh.c (machine_dependent_reorg): Likewise.
	* toplev.c (rest_of_compilation): Likewise for last split_all_insns
	call.

From-SVN: r44312
2001-07-24 18:34:07 +00:00
Jan Hubicka
0005550b58 basic-block.h (find_sub_basic_block): Declare.
* basic-block.h (find_sub_basic_block): Declare.
	* flow.c (make_edges): New arguments MIN and MAX;
	(find_sub_basic_blocks): Revamp to use make_edges
	and purge_dead_edges.
	(find_basic_blocks): Update call of find_sub_basic_block.

	* recog.c (split_all_insns): Always expect CFG to be consistent;
	call find_sub_basic_blocks in case something has changed.
	* toplev.c (rest_of_compilation): Always call split_all_insns once CFG
	has been built.

	* basic-block.h (delete_noop_moves): Declare.
	* combine.c (combine_instructions): Call it.
	(recog_for_combine): Tolerate noop moves
	(distribute_notes): Force refresh when register dies at noop move.
	* flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
	too.
	(life_analysis): Update delete_noop_moves call.
	(set_noop_p): Move too ...
	* rtlanal.c (noop_move_p): ... here.
	* rtl.h (noop_move_p): Declare.

	* basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
	* toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
	after combine.
	* gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
	(cprop_jump): Likewise; call purge_dead_edges if substitution suceeded.

From-SVN: r44267
2001-07-23 14:08:12 +00:00
Jan Hubicka
0045d50435 jump.c: Update comments.
* jump.c: Update comments.
	(delete_barrier_successors, delete_unreferenced_labels,
	delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
	delete_labelref_insn, redirect_tablejump, jump_optimize_1,
	jump_optimize, jump_optimize_minimal): Kill.
	(rebuild_jump_labels): Move code from jump_optimize_1.
	(purge_line_number_notes): Likewise.
	(copy_loop_headers): Likewise.
	* reg-stack.c: Update comment.
	* stmt.c: Likewise.
	* rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
	JUMP_AFTER_REGSCAN): Kill.
	* toplev.c (rest_of_compilation): Use cleanup_cfg, call
	purge_line_number_notes and copy_loop_headers.

From-SVN: r44245
2001-07-22 19:34:13 +00:00
Neil Booth
e1772ac058 Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
* Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
	(final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
	(toplev.o): Don't depend on xcoffout.h.
	* c-decl.c: Include debug.h
	(duplicate_decls): Use debug hook.
	* dbxout.c (dbxout_source_file, dbxout_args): Make static.
	(dbx_debug_hooks, xcoff_debug_hooks): Update.
	(dbxout_types): Remove.
	* dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
	* debug.c (do_nothing_debug_hooks): Update.
	(debug_true_tree, debug_nothing_rtx): New.
	* debug.h (struct rtx_def): New.
	(struct gcc_debug_hooks): New hooks ignore_block,
	outlining_inline_function and label.
	(debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
	dwarf2out_frame_finish): New.
	* dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
	Make static, update prototype.
	(dwarf2_debug_hooks): Update.
	* dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
	dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
	* dwarfout.c (dwarf_debug_hooks): Update.
	* emit-rtl.c: Include debug.h.
	(remove_unnecessary_notes): Use debug hook.
	* final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
	(final_scan_insn): Use debug hook.
	* integrate.c (output_inline_function): Use debug hook.
	* sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
	(sdb_debug_hooks): Update.
	* sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
	* toplev.c: Don't include xcoffout.h.
	(note_outlining_of_inline_function, debug_ignore_block): Remove.
	* toplev.h (note_outlining_of_inline_function, debug_ignore_block):
	Remove.
	* tree.h (dwarf2out_do_frame): Remove.

From-SVN: r44163
2001-07-19 21:17:09 +00:00
Neil Booth
2b85879e63 Makefile.in (toplev.o, [...]): Don't depend on dwarfout.h.
* Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
	dwarfout.h.
	* dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
	to conditionally compiled block.
	(dbx_debug_hooks, xcoff_debug_hooks): Update.
	* dbxout.h (dbxout_function): Remove.
	* debug.c (do_nothing_debug_hooks): Update.
	* debug.h (struct gcc_debug_hooks): New hooks function_decl,
	global_decl, deferred_inline_function.
	* dwarf2out.c (dwarf2_debug_hooks): Update.
	(dwarf2out_global_decl): New.
	* dwarfout.c: Don't include dwarfout.h.
	(dwarfout_global_decl, dwarfout_function_decl,
	dwarfout_deferred_inline_function): New.
	(dwarf_debug_hooks): Update.
	* dwarfout.h: Remove.
	* final.c: Don't include dwarfout.h.
	* sdbout.c (sdbout_global_decl): New.
	(sdbout_debug_hooks): Update.
	* toplev.c: Don't include dwarfout.h.
	(check_global_declarations, rest_of_compilation): Use new debug hooks.
	(note_deferral_of_defined_inline_function): Remove.
	* toplev.h (note_deferral_of_defined_inline_function): Remove.
	* ch/Makefile.in (lex.o): No dependence on dwarfout.h.
	* ch/lex.c: Don't include dwarfout.h.
	* cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
	(semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
	* cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
	* cp/optimize.c: Include debug.h.
	(maybe_clone_body): Use debug hook.
	* cp/semantics.c: Include debug.h.
	(expand_body): Use debug hook.
	* po/POTFILES.in: Remove dwarfout.h.

From-SVN: r44145
2001-07-19 06:22:04 +00:00
Jan Hubicka
4793dca158 basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
* basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
	* except.c (finish_eh_generation): Update call of cleanup_cfg;
	do rebuild_jump_labels instead of jump_optimize
	* sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
	* toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
	* flow.c (try_optimize_cfg): Remove unneeded code_labels.

	* flow.c: Include timevar.h
	(find_basic_block): Push/pop timevar;
	(cleanup_cfg): Likewise.
	* timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
	* Makefile: Add dependencies on timevar.h

	* integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
	(copy_insn_list): Avoid killing of BASIC_BLOCK notes.

	* rtl.h (delete_trivially_dead_insns): Add new parameter.
	* toplev.c (rest_of_compilation): Update calls.
	* cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
	(delete_trivially_dead_insns): ... here; accept new argument
	preserve_basic_blocks; preserve basic blocks if set.

	* reg-stack.c (stack_regs_mentioned): Return 0 if
	stack_regs_mentioned_data is not initialized.
	(reg_to_stack): Make stack_regs_mentioned survive after the
	reg-stack is completted; do not call cleanup_cfg.
	* toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
	make cleanup_cfg after bb-reorder to output to debug file.

From-SVN: r44056
2001-07-16 20:54:44 +00:00
Jan Hubicka
22fb740dcc toplev.c (rest_of_compilation): Fix register_life_up_to_date handling...
* toplev.c (rest_of_compilation): Fix register_life_up_to_date
	handling; move unconditional splitting before mode switching.

	* i386.md (type): Add fistp type.
	(i387, length_attr, scheduling definitions): Handle this type.
	(fix_trunc?f?i2): Revamp to use mode switching.
	(fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
	* i386.h (fp_cw_mode): New enum
	(OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
	MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.

From-SVN: r44027
2001-07-15 16:59:06 +00:00
Richard Henderson
c319629b9a flow.c (redirect_edge_and_branch_force): Initialize global_live_at_start and global_live_at_end.
* flow.c (redirect_edge_and_branch_force): Initialize
        global_live_at_start and global_live_at_end.
        (allocate_bb_life_data): Export.
        * basic-block.h (allocate_bb_life_data): Declare it.
        * toplev.c (rest_of_compilation): Call it.

From-SVN: r44023
2001-07-15 08:47:05 -07:00
Jan Hubicka
03598deac8 loop.c (scan_loop): Add USEs inside PARALLELs into dependencies of the movable.
* loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
	of the movable.

	* toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.

	* i386-protos.h (ix86_split_fp_branch): Update prototype.
	(ix86_fp_jump_nontrivial_p): New.
	* i386.md (fp_jcc_?): Update call of split_fp_branch;
	use ix86_fp_jump_nontrivial_p.
	* i386.c (ix86_fp_jump_nontrivial_p): New.
	(ix86_split_fp_branch): Accept code instead of rtx.
	(ix86_expand_compare): Expand comparison early in case
	doing so is resonably cheap.

From-SVN: r44019
2001-07-15 12:00:34 +00:00
Neil Booth
e2a12aca42 dbxout.c (dbxout_source_line): Make static, update prototype.
* dbxout.c (dbxout_source_line): Make static, update prototype.
	(dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
	(dbxout_init, dbxout_finish, dbxout_source_line,
	dbxout_begin_block, dbxout_end_block): Update for new prototypes.
	* dbxout.h (dbxout_source_line): Delete.
	* debug.c (debug_nothing_file, debug_nothing_file_int,
	debug_nothing_file_charstar_rtx): New.
	(do_nothing_debug_hooks): Update.
	(debug_nothing_void, debug_nothing_charstar_rtx,
	dwarf2out_end_epilogue): New.
	(debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
	* debug.h (struct rtx_def): Declare.
	(gcc_debug_hooks): New hooks source_line, end_epilogue
	and end_function.
	(debug_nothing_void, debug_nothing_charstar_rtx,
	dwarf2out_end_epilogue): New.
	(debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
	* dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
	(dwarf2_debug_hooks): Update.
	(dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
	dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
	* dwarf2out.h (dwarf2out_source_line): Remove.
	* dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
	Make static, update prototype.
	(dwarfout_init, dwarfout_finish, dwarfout_source_line,
	dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
	(dwarf_debug_hooks): Update.
	* dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
	dwarfout_end_function): Remove.
	* final.c (profile_function): Use debug hooks for ending functions
	and epilogues.
	(output_source_line, final_end_function): Update prototype,
	use debug hooks.
	(final_start_function, final_scan_insn): Update.
	* output.h (sdb_begin_function_line): Remove.
	(final_end_function): Update prototype.
	* sdbout.c (sdb_begin_function_line): Make static.
	(PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
	(sdbout_source_line): New.
	(sdbout_end_epilogue, sdbout_end_function): Make static, update
	prototypes.
	(sdb_debug_hooks): Update.
	(sdbout_init, sdbout_source_line,
	sdbout_begin_block, sdbout_end_block): Update for new prototypes.
	* sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
	* toplev.c (compile_file, rest_of_compilation): Update.
	* tree.h (dwarf2out_end_epilogue): Move to debug.h.
	* xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
	xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
	Update for prototype changes.
	* xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
	xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.

From-SVN: r44017
2001-07-15 08:34:46 +00:00
Jan Hubicka
1e5fd09422 Re-install recently reverted patch.
* emit-rtl.c (try_split): Update mark_jump_label call.
	* flow.c (find_sub_basic_blocks): Likewise.
	* jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
	jump_back_p): Kill.
	(mark_all_labels): Kill second parameter.
	(jump_optimize, jump_optimize_1): Kill cross_jump parameter.
	(rebuild_jump_labels, jump_optimize_minimal): Update call
	of jump_optimize_1.
	(jump_optimize_1): Kill crossjumping code.
	(mark_jump_label): Kill cross_jump parameter.
	* rtl.h (mark_jump_label, jump_optimize): Update prototypes.
	(JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
	* reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
	 splitting.
	* toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
	DFI_bpro.
	(dump_file_info): Likewise.
	(rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
	reorganize passes to do reg-stack first, bb-reorder second.
	* invoke.texi (-d letters doc): Remove the jump2 pass.

From-SVN: r44008
2001-07-14 22:52:50 +00:00
Geoffrey Keating
998d20d22a Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
From-SVN: r43986
2001-07-13 17:24:48 +00:00
Jan Hubicka
f3ba35e478 emit-rtl.c (try_split): Update mark_jump_label call.
* emit-rtl.c (try_split): Update mark_jump_label call.
	* flow.c (find_sub_basic_blocks): Likewise.
	* jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
	jump_back_p): Kill.
	(mark_all_labels): Kill second parameter.
	(jump_optimize, jump_optimize_1): Kill cross_jump parameter.
	(rebuild_jump_labels, jump_optimize_minimal): Update call
	of jump_optimize_1.
	(jump_optimize_1): Kill crossjumping code.
	(mark_jump_label): Kill cross_jump parameter.
	* rtl.h (mark_jump_label, jump_optimize): Update prototypes.
	(JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
	* reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
	 splitting.
	* toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
	DFI_bpro.
	(rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
	reorganize passes to do reg-stack first, bb-reorder second.
	* invoke.texi (-d letters doc): Remove the jump2 pass.

From-SVN: r43979
2001-07-13 12:55:15 +00:00
Steve Ellcey
448d17f96a * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
From-SVN: r43972
2001-07-12 16:58:30 -04:00
Neil Booth
a5a42b9293 Makefile.in (final.o): Depend on debug.h.
* Makefile.in (final.o): Depend on debug.h.
	* dbxout.c (dbxout_begin_block, dbxout_end_block): New.
	(dbx_debug_hooks): Add new hooks.
	(xcoff_debug_hooks): New.
	* debug.c (debug_nothing_file_int_int): New.
	(do_nothing_debug_hooks): Update.
	* debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
	(debug_nothing_file_int_int): New.
	* dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
	static, update prototype.
	(dwarf2_debug_hooks): Update.
	* dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
	* dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
	static, update prototype.
	(dwarf_debug_hooks): Update.
	* dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
	* final.c: Include debug.h.
	(final_scan_insn): Use debug hooks when beginning and ending blocks.
	* sdbout.c (sdbout_begin_block, sdbout_end_block): Make
	static, update prototype.
	(sdb_debug_hooks): Update.
	* sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
	* toplev.c: Distinguish between xcoff and dbx.

	* f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
	Call all debug hooks, not just dwarf ones.

From-SVN: r43959
2001-07-12 05:56:27 +00:00
Neil Booth
7f905405bc Makefile.in (c-lex.o): Wrap long lines.
* Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
	* c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
	hooks directly.
	* dbxout.c (dbx_debug_hooks): Add new hooks.
	(dbxout_start_new_source_file): Rename dbxout_start_source_file,
	make static.
	(dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
	make static.
	* dbxout.h (dbxout_start_new_source_file,
	dbxout_resume_previous_source_file): Delete.
	* debug.c (do_nothing_debug_hooks): Add new hooks.
	(debug_nothing_init_finish): Rename debug_nothing_file_charstar.
	(debug_nothing_int_charstar, debug_nothing_int): New.
	* debug.h (gcc_debug_hooks): New hooks define, undef,
	start_source_file and end_source_file.
	(debug_nothing_init_finish): Rename debug_nothing_file_charstar.
	(debug_nothing_int_charstar, debug_nothing_int): New.
	* dwarf2out.c (dwarf2_debug_hooks): Add new hooks.
	(dwarf2out_start_source_file, dwarf2out_end_source_file,
	dwarf2out_define, dwarf2out_undef): Make static.
	* dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
	dwarf2out_define, dwarf2out_undef): Remove.
	* dwarfout.c (dwarf_debug_hooks): Add new hooks.
	(dwarfout_start_source_file, dwarfout_end_source_file,
	dwarfout_define, dwarfout_undef): Make static.
	(dwarfout_start_source_file_check,
	dwarfout_end_source_file_check): New.
	(dwarfout_define, dwarfout_finish): Update.
	* dwarfout.h (dwarfout_start_new_source_file,
	dwarfout_resume_previous_source_file, dwarfout_define,
	dwarfout_undef): Remove.
	* sdbout.c (sdb_debug_hooks): Add new hooks.
	(sdbout_start_new_source_file): Rename sdbout_start_source_file,
	make static.
	(sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
	make static, take an arg.
	* sdbout.h (sdbout_start_new_source_file,
	sdbout_resume_previous_source_file): Delete.
	* toplev.c (debug_start_source_file, debug_end_source_file,
	debug_define, debug_undef): Delete.
	* toplev.h (debug_start_source_file, debug_end_source_file,
	debug_define, debug_undef): Delete.

	* java/jcf-parse.c: Include debug.h.
	(parse_class_file): Update to use debug hooks directly.
	* java/Make-lang.in (jcf-parse.o): Depend on debug.h.

From-SVN: r43952
2001-07-11 20:51:46 +00:00
Jan Hubicka
46fac66482 flow.c (merge_blocks_move_successor_nojumps): Do not crash when fallthru edge is present.
* flow.c (merge_blocks_move_successor_nojumps): Do not crash
	when fallthru edge is present.
	(mege_blocks): Handle case where creation of jump insn
	is required.

	* basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
	CLEANUP_POST_REGSTACK): New constants.
	* except.c (finish_eh_generation): Update call of cleanup_cfg,
	* jump.c (rtx_renumbered_equal_p): Handle 't' fields.
	* output.h (cleanup_cfg): Update prototype.
	* reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
	* sibcall.c (optimize_sibling_and_tail_recursive_call): Update
	cleanup_cfg call; kill missleading comment.
	* toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
	* flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
	parameter; control optimizations performed using it.
	(flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
	try_crossjump_bb): New functions.

From-SVN: r43950
2001-07-11 19:42:35 +00:00
Neil Booth
a51d908e98 Makefile.in (toplev.o, [...]): Depend on debug.h, wrap long lines.
* Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
	dwarf2out.o): Depend on debug.h, wrap long lines.
	* dbxout.c: Include debug.h.
	(dbx_debug_hooks): New.
	(dbxout_init): Make static, take just 2 args.
	(dbxout_finish): Make static.
	* dbxout.h (dbxout_init, dbxout_finish): Delete.
	* debug.c: New file.
	* debug.h: New file.
	* dwarf2out.c: Include debug.h.
	(dwarf2_debug_hooks): New.
	(dwarf2out_init): Make static.
	(dwarf2out_finish): Make static, take 2 args.
	* dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
	* dwarfout.c: Include debug.h.
	(dwarf_debug_hooks): New.
	(dwarfout_init): Make static.
	(dwarfout_finish): Make static, take 2 args.
	* dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
	* sdbout.c: Include debug.h.
	(sdb_debug_hooks): New.
	(sdbout_init): Make static, take 2 args.
	* sdbout.h (sdbout_init): Delete.
	* toplev.c: Include debug.h.
	(debug_hooks): New.
	(compile_file): Set deubg_hooks based on command line options.
	Use the hooks unconditionally rather than conditional compilation.

From-SVN: r43908
2001-07-10 18:44:34 +00:00
Jeff Law
0b47e4c1cd Makefile.in (OBJS): Add ssa-ccp.o
* Makefile.in (OBJS): Add ssa-ccp.o
	(ssa-ccp.o): Add dependencies.
	* toplev.c (DFI_ssa_ccp): New dump file enum.
	(dump_file): Add entry for dumping after SSA CCP.
	(flag_ssa_ccp): New flag variable.
	(f_options): Add -fssa-ccp.
	(rest_of_compilation): Run SSA CCP if requested.
	* timevar.def (TV_SSA_CCP): New timevar.
	* ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
	* doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
	Fix minor typo in SSA DCE documentation.
	* doc/invoke.texi: Add documentation for new flag -fssa-ccp.
	Add documentation for new dump option.  Renumber dump files
	appropriately.

	* po/POTFILES.in: Add ssa-ccp.c

From-SVN: r43872
2001-07-09 13:42:28 -06:00
Daniel Berlin
84a5b4f858 c-lex.c (cb_file_change): Pass line number to debug_start_source_file.
2001-07-04  Daniel Berlin  <dan@cgsoftware.com>

	* c-lex.c (cb_file_change): Pass line number to
	debug_start_source_file.
	(cb_undefine): Pass correct line number to debug_undef.

	* toplev.c (debug_start_source_file): Add line number to
	parameters. Pass it along to dwarf2out_start_source_file.
	(decode_g_option): Stop resetting debug level back to normal when
	we change debug formats, unless the current level is
	none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
	3).

	* toplev.h (debug_start_source_file): Add line number to
	parameters.

	* dwarf2out.h (dwarf2out_start_source_file): Add line number to parameters.

	* dwarf2out.c (dwarf2out_start_source_file): Add line number to
	parameters.
	Output debug_macinfo data for starting file if requested.
	(dwarf2out_end_source_file): Output debug_macinfo data for ending
	file if requested.
	(dwarf2out_define): Output debug_macinfo data for defining a macro if requested.
	(dwarf2out_undef): Output debug_macinfo data for undefining a
	macro if requested.
	(DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
	(DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
	(macinfo_section_label): New. DWARF2 macro info section label.
	(dwarf2out_init): If we want macro info, output the start label
	for the section.
	(dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
	attribute to the compilation unit die pointing to the macro info.

2001-07-04  Daniel Berlin  <dan@cgsoftware.com>

	* dwarf2out.c (new_loc_list): Move to inside #ifdef
	DWARF2_DEBUGGING_INFO.
	(add_loc_descr_to_loc_list): Ditto.
	(output_loc_list): Ditto.
	Also, fix thinko in curr not being initialized.
	(gen_internal_sym): Ditto.

From-SVN: r43763
2001-07-04 17:55:20 +00:00
Jeffrey A Law
0826f1d89f toplev.c (dump_file_index): Move SSA dumps just after first jump dump.
* toplev.c (dump_file_index): Move SSA dumps just after first
        jump dump.
        (dump_file): Corresponding changes.
        (rest_of_compilation): Move SSA path to just after the first
        jump pass.
        * doc/gcc.texi (Passes): Update due to movement of SSA path.
        * doc/invoke.texi: Update dump file #s as they were completely
        out of date with reality.

From-SVN: r43704
2001-07-02 14:21:15 -06:00
Jeffrey A Law
62d285ff3a ssa-dce.c (ssa_eliminate_dead_code): Renamed from eliminate_date_code.
* ssa-dce.c (ssa_eliminate_dead_code): Renamed from
        eliminate_date_code.
        * ssa.h (ssa_eliminate_dead_code): Corresponding changes.
        * timevar.def (TV_SSA_DCE): Renamed from TV_DEAD_CODE_ELIM.
        * toplev.c (DFI_ssa_dce): Renamed from DFI_dce.
        (dump_file_info): Similar changes.
        (flag_ssa_dce): Similarly
        (f_options): Similar changes.
        (rest_of_compilation): Corresponding changes.
        * doc/invoke.texi: Update as option is now -fssa-dce instead
        of -fdce.  Update dump file name.

From-SVN: r43658
2001-06-29 14:35:53 -06:00
Daniel Berlin
639bc36ced toplev.c (display_help): Fix param thinko.
2001-06-26  Daniel Berlin  <dan@cgsoftware.com>

	* toplev.c (display_help): Fix param thinko.
	* Makefile.in: Fix params.h dependencies.

From-SVN: r43589
2001-06-26 19:24:09 +00:00
Gabriel Dos Reis
9596ddd67e toplev.c (decode_f_option): Adjust setting.
* toplev.c (decode_f_option): Adjust setting.
	(toplev_main): Call diagnostic_initialize.  Remove call to
	reshape_diagnostic_buffer._

	* diagnostic.h (struct output_buffer): Add new field format_decoder.
	(diagnostic_format_decoder): New macro.
	(diagnostic_prefixing_rule): Likewise.
	(diagnostic_line_cutoff): Likewise.
	(set_message_prefixing_rule): Remove.

	* diagnostic.c (lang_printer): Remove.
	(diagnostic_message_length_per_line): Likewise.
	(current_prefixing_rule): Likewise.
	(initialize_diagnostics): Rename to...
	(diagnostic_initialize): ...this. Tweak.
	(default_initialize_buffer): Remove.
	(reshape_diagnostic_buffer): Likewise.
	(init_output_buffer): Adjust prefixing rule setting.
	(output_format): Use format_decoder from the output_buffer.

	* c-lang.c (c_init): Adjust tree formatter setting.

cp/
  	* error.c (init_error): Adjust settings.

From-SVN: r43588
2001-06-26 19:18:37 +00:00
Jan Hubicka
05b432db5b i386.md (float_truncate splitter, [...]): Add reload_completted; fix operand predicate.
* i386.md (float_truncate splitter, and to mov splitters): Add
	reload_completted; fix operand predicate.

	* haifa-sched.c (sched_init): Do not split insns.
	* toplev.c (rest_of_compilation): Call split_all_insns before
	sched1 pass; simplify condition of post-reload splitter;
	call split_all_insn before sched2 pass.

From-SVN: r43575
2001-06-26 10:47:33 +00:00
DJ Delorie
c0e7830f8c integrate.c (ggc.h): Include.
* integrate.c (ggc.h): Include.
(initial_value_pair, initial_value_struct,
setup_initial_hard_reg_value_integration): Add prototypes.
(expand_inline_function): Call
setup_initial_hard_reg_value_integration.
(has_func_hard_reg_initial_val, get_func_hard_reg_initial_val,
get_hard_reg_initial_val, has_hard_reg_initial_val): New functions
to keep track of values present at the start of a function.
(mark_hard_reg_initial_vals): New, for gc.
(setup_initial_hard_reg_value_integration): New.  Sets up pseudo
mappings for initial values.
(emit_initial_value_sets): New.  Emits code to set initial value
pseudos.
* integrate.h: Add prototypes for new functions.
* function.h (struct function): Add hard_reg_initial_vals field.
* function.c (integrate.h): Include.
(mark_function_status): Call
mark_hard_reg_initial_vals.
* toplev.c (integrate.h): Include.
(rest_of_compilation): Call emit_initial_value_sets.

From-SVN: r43486
2001-06-21 12:50:56 -04:00
Jan Hubicka
097c2d51de toplev.c (rest_of_compilation): Run mark_constant_function before profile-arcs.
* toplev.c (rest_of_compilation): Run mark_constant_function
	before profile-arcs.

From-SVN: r43477
2001-06-20 17:12:34 +00:00
Mark Mitchell
6c7905cd83 Revert this patch:
* toplev.c (rest_of_compilation): Remove dead code before
	purge_addressof.

From-SVN: r43301
2001-06-13 03:21:48 +00:00
Gabriel Dos Reis
2a2b2d432e Makefile.in (c-parse.o): Depend on diagnostic.h
gcc/

2001-06-10  Mark Mitchell <mark@codesourcery.com>
	    Gabriel Dos Reis  <gdr@codesourcery.com>

	* Makefile.in (c-parse.o): Depend on diagnostic.h
	(dwarf2out.o): Likewise.

	* dwarf2out.c: #include diagnostic.h

	* toplev.h (warningcount, errorcount, sorrycount): Remove
	declarations.

	* toplev.c (warningcount, errorcount, sorrycount): Remove
	definitions.

	* diagnostic.h (struct output_buffer): Reorder fields.
	(diagnostic_kind_count): New macro.
	(errorcount, warningcount, sorrycount): Define as macros.
	(diagnostic_report_warnings_p): New macro.
	(output_state): Add diagnostic_count field.

	* diagnostic.c (warningcount, errorcount, inhibit_warnings):
	Remove tentative declaration.
	(count_error): Use diagnostic_report_warnings_p.

	* c-parse.in: #include diagnostic.h

ch/

2001-06-10  Gabriel Dos Reis  <gdr@codesourcery.com>

	* decl.c: #include diagnostic.h
	* actions.c: #include diagnostic.h
	* Makefile.in (actions.o): Depend on diagnostic.h
	(decl.o): Depend on diagnostic.h

cp/

2001-06-10  Mark Mitchell <mark@codesourcery.com>
	    Gabriel Dos Reis  <gdr@codesourcery.com>

	* Make-lang.in (cp/call.o): Depend on diagnostic.h
	(cp/typeck.o): Depend on diagnostic.h
	(cp/typeck2.o): Depend on diagnostic.h
	(cp/repo.o): Depend on dignostic.h
	* typeck.c: #include diagnostic.h
	(convert_for_initialization): Remove extern declaration for
	warningcount and errorcount.

	* call.c: #include diagnostic.h
	(convert_like_real): Remove extern declaration for warnincount and
	errorcount.

	* repo.c: #include diagnostic.h
	* typeck2.c: #include diagnostic.h

From-SVN: r43140
2001-06-10 13:48:04 +00:00
Alexandre Oliva
c47af4b7d3 toplev.c (independent_decode_option): Require =' between -aux-info' and filename in the same argument.
* toplev.c (independent_decode_option): Require `=' between
`-aux-info' and filename in the same argument.
* gcc.c: Don't pass -aux-info=filename twice.

From-SVN: r43123
2001-06-10 00:31:07 +00:00
Mark Mitchell
e69decfd36 expr.c (expand_expr, [...]): Do not replace an array element with the known initializing value if...
* expr.c (expand_expr, case ARRAY_REF): Do not replace
	an array element with the known initializing value if it has
	side-effects.

	* toplev.c (rest_of_compilation): Remove dead code before
	purge_addressof.

From-SVN: r43120
2001-06-09 23:08:05 +00:00
Jan Hubicka
932f084749 function.c (diddle_return_value): Kill code to determine return value before expand_function_end.
* function.c (diddle_return_value): Kill code to determine
	return value before expand_function_end.
	(expand_function_end): Delay call to clobber_return_register
	after fucntion return value is computed.

	Re-install temporary reverted patch:
	* toplev.c (rest_of_compilation): Call split_all_insns
	before reg-stack and shorten-branches. Do shorten-branches
	after reg-stack.
	* final.c (shorten_branches): Remove insn splitting code.

From-SVN: r43044
2001-06-08 19:52:06 +00:00
Jan Hubicka
d7e5d7feae toplev.c (rest_of_compilation): Revert previous patch.
* toplev.c (rest_of_compilation): Revert previous patch.
	* final.c (shorten_branches): Likewise.

From-SVN: r42961
2001-06-07 15:10:58 +00:00
Jan Hubicka
b47f8cfcfc Thu Jun 7 13:20:14 CEST 2001 Jan Hubicka <jh@suse.cz>
* expr.c (copy_blkmode_from_reg): Fix operand_subword_force call.

Thu Jun  7 12:12:58 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* toplev.c (rest_of_compilation): Call split_all_insns
	before reg-stack and shorten-branches. Do shorten-branches
	after reg-stack.
	* final.c (shorten_branches): Remove insn splitting code.

From-SVN: r42956
2001-06-07 11:23:34 +00:00
Mark Mitchell
d558416ef3 print-rtl.c (xspaces): Remove.
* print-rtl.c (xspaces): Remove.
	(print_rtx): Use printf field-width, rather than xpsaces, to
	indent.
	* toplev.c (main): Disable sibling-call optimization if we are
	handling exceptions.

	* reload1.c (reload): Delete all USEs generated during reload.

From-SVN: r42917
2001-06-05 20:32:41 +00:00
Neil Booth
84b7783609 c-decl.c (init_decl_processing): Don't call start_identifier_warnings.
* c-decl.c (init_decl_processing):
	 Don't call start_identifier_warnings.
	* flags.h (warn_id_clash, id_clash_len): Remove.
	* stringpool.c: Don't include flags.h.
	(scan_for_clashes, do_identifier_warnings,
	start_identifier_warnings): Remove.
	* toplev.c (warn_id_clash, id_clash_len): Remove.
	(display_help): Don't document -Wid-clash.
	(decode_W_option): Print warning on -Wid-clash.
	* tree.h (start_identifier_warnings): Remove.
	* invoke.texi: Remove documentation of -Wid-clash.

From-SVN: r42665
2001-05-27 21:04:28 +00:00
Zack Weinberg
a63719408d toplev.c (debug_args, [...]): Mark descriptions for translation.
* toplev.c (debug_args, f_options, W_options): Mark
	descriptions for translation.
	(display_help): Translate descriptions on output.

	* cp/lang-options.h, f/lang-options.h, java/lang-options.h,
	objc/lang-options.h: Mark descriptions for translation.

From-SVN: r42618
2001-05-26 05:28:26 +00:00
Neil Booth
2a967f3d3a Makefile.in (OBJS, [...]): Update.
* Makefile.in (OBJS, LIBCPP_OBJS, LIBCPP_DEPS,
	cpplib.o, cpphash.o, fix-header): Update.
	(hashtable.o): New target.
	* c-common.h: Include cpplib.h.  Define C_RID_CODE and
	struct c_common_identifier here.
	* c-lang.c (c_init_options): Update.  Call set_identifier_size.
	* c-lex.c (c_lex): Update.
	* c-pragma.h: Update.
	* c-tree.h (struct lang_identifier): Contain c_common_identifier.
	Delete rid_code.
	(C_RID_CODE): Delete.
	* cpphash.c: Rewrite to use hashtable.c.
	* cpphash.h: Update include guards.
	(struct cpp_reader): Remove hashtab.
	hash_ob and buffer_ob are no longer pointers.  Add hash_table
	and our_hashtable.
	(HASHSTEP, _cpp_init_hashtable,	_cpp_lookup_with_hash): Delete.
	(_cpp_cleanup_hashtable): Rename _cpp_destroy_hashtable.
	(_cpp_cleanup_stacks): Rename _cpp_init_directives.
	* cppinit.c (cpp_create_reader): Update.
	* cpplex.c (cpp_ideq, parse_identifier, cpp_output_token): Update.
	(cpp_interpret_charconst): Eliminate warning.
	* cpplib.c (do_pragma, do_endif, push_conditional,
	cpp_push_buffer, cpp_pop_buffer): Update.
	(_cpp_init_stacks): Rename cpp_init_directives.
	(_cpp_cleanup_stacks): Remove.
	* cpplib.h: Update include guards.  Include tree-core.h and c-rid.h.
	(cpp_hashnode, cpp_token, NODE_LEN, NODE_NAME,
	 cpp_forall_identifiers, cpp_create_reader): Update.
	(C_RID_CODE, cpp_make_node): New.
	(c_common_identifier): New identifier node for C front ends.
	* cppmain.c (main): Update.
	* fix-header.c (read_scan_file): Update.
	* flags.h (id_clash_len): Make unsigned.
	* ggc.h (ggc_mark_nonnull_tree): New.
	* hashtable.c: New.
	* hashtable.h: New.
	* stringpool.c: Update comments and copyright.  Update to use
	hashtable.c.
	* toplev.c (approx_sqrt): Move to hashtable.c.
	(id_clash_len): Make unsigned.
	* toplev.h (ident_hash): New.
	* tree.c (gcc_obstack_init): Move to hashtable.c.
	* tree.h: Include hashtable.h.
	(IDENTIFIER_POINTER, IDENTIFIER_LENGTH): Update.
	(GCC_IDENT_TO_HT_IDENT, HT_IDENT_TO_GCC_IDENT): New.
	(struct tree_identifier): Update.
	(make_identifier): New.
cp:
	* cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update.
	(C_RID_CODE): Remove.
	* lex.c (cxx_init_options): Call set_identifier_size.  Update.
	(init_parse): Don't do it here.
objc:
	* objc-act.c (objc_init_options): Call set_identifier_size. Update.

From-SVN: r42334
2001-05-20 06:26:45 +00:00
Mark Mitchell
4da5f005d4 defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New macro.
* defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New
	macro.
	* tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
	Document it.
	* toplev.c (main): If the target does not allow profiling without
	a frame pointer, issue an error message.
	* config/i386/linux.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
	Define it to false.

From-SVN: r42312
2001-05-19 17:56:48 +00:00
Andreas Jaeger
5262d6b642 Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
* Makefile.in (toplev.o): Add dependency on dwarf2asm.h.

	* toplev.c: Include dwarf2asm.h for prototype of
	dw2_output_indirect_constants.

From-SVN: r42165
2001-05-16 21:05:50 +02:00
Richard Henderson
2a1ee410ce defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
* defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
	* dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
	dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
	* dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
	(dw2_output_indirect_constants): Prototype.
	* dwarf2out.c (dwarf2out_begin_prologue): Generate
	current_function_func_begin_label if we'll need it for EH.  Exit
	early for IA64_UNWIND_INFO.
	* except.c: Get DW_EH_PE_* defines from dwarf2.h.
	(eh_data_format_name): Update for indirect references.
	(output_function_exception_table): Care for IA64_UNWIND_INFO.
	Handle ASM_PREFERRED_EH_DATA_FORMAT.
	* except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't
	define HAVE_eh_return etc.
	* final.c (final_start_function): Always call dwarf2out_begin_prologue.
	(final_end_function): Don't call output_function_exception_table.
	* toplev.c (compile_file): Call dw2_output_indirect_constants.
	(rest_of_compilation): Invoke output_function_exception_table
	for ia64 before assemble_end_function.
	* tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
	(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.

	* unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
	* unwind.h: Declare them.
	* libgcc-std.ver: Export them.
	* unwind-pe.h: New file.

	* config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.

	* config/ia64/fde-glibc.c: Use "struct unw_table_entry"
	instead of "fde".
	(find_fde_for_dso): Extract DT_PLTGOT.
	(_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
	the segment and gp as well.
	* config/ia64/frame-ia64.c: Remove file.
	* config/ia64/frame-ia64.h: Remove file.
	* config/ia64/unwind-ia64.c: New file.
	* config/ia64/unwind-ia64.h: New file.
	* config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
	(ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove.
	(ASM_OUTPUT_EH_DOUBLE_INT): Remove.
	(ASM_PREFERRED_EH_DATA_FORMAT): New.
	(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
	(IA64_UNWIND_INFO): Re-enable.
	(HANDLER_SECTION): Remove.
	(EH_RETURN_DATA_REGNO): New.
	* config/ia64/ia64.md (exception_receiver): Remove.
	* config/ia64/t-glibc (LIB2ADDEH): Re-enable.
	* config/ia64/t-ia64 (LIB2ADDEH): Re-enable.

From-SVN: r41981
2001-05-11 23:03:20 -07:00
Jeffrey A Law
37ff4d286d toplev.c (compile_file): Move comment for opening output file to just before the code that opens the...
* toplev.c (compile_file): Move comment for opening output
        file to just before the code that opens the output file.

From-SVN: r41975
2001-05-11 16:00:23 -06:00
Jeffrey A Law
1a02aff499 toplev.c (compile_file): Set up the output file before we call the various initializers for the compiler.
* toplev.c (compile_file): Set up the output file before we call
        the various initializers for the compiler.

From-SVN: r41897
2001-05-07 09:51:21 -06:00
Kaveh R. Ghazi
9714cf4399 c-lex.c: NULL_PTR -> NULL.
* c-lex.c: NULL_PTR -> NULL.
	* cse.c: Likewise.
	* emit-rtl.c: Likewise.
	* gcse.c: Likewise.
	* genpeep.c: Likewise.
	* jump.c: Likewise.
	* mips-tdump.c: Likewise.
	* reload1.c: Likewise.
	* rtlanal.c: Likewise.
	* stmt.c: Likewise.
	* stor-layout.c: Likewise.
	* toplev.c: Likewise.

From-SVN: r41761
2001-05-02 14:31:45 +00:00
Jeffrey Oldham
1c4c47db18 invoke.texi (Optimize Options): Add documentation for --param max-delay-slot-insn-search' and --param...
2001-05-01  Jeffrey Oldham  <oldham@codesourcery.com>

	* invoke.texi (Optimize Options): Add documentation for `--param
	max-delay-slot-insn-search' and `--param
	max-delay-slot-live-search' and reorder --param section.
	* params.def: Modify initial comment.
	* params.h (param_info): Add `help' member.
	* toplev.c (lang_independent_params): Include `help' description.
	(display_help): Print --param parameters.

From-SVN: r41734
2001-05-01 18:51:06 +00:00
Zack Weinberg
4000fada38 toplev.c: Excise all code for the undocumented -dm option.
* toplev.c: Excise all code for the undocumented -dm option.
	(float_signal): Call signal just once, unconditionally.

From-SVN: r41438
2001-04-20 03:45:51 +00:00
Mark Mitchell
57883c536c toplev.h (struct lang_hooks): Allow decode_option to indicate that language-independent processing should not...
* toplev.h (struct lang_hooks): Allow decode_option to indicate
	that language-independent processing should not be done.
	* toplev.c (main): Adjust accordingly.

	* top.c (ffe_decode_option): Do not permit language-independent
	processing for -ffixed-line-length.

From-SVN: r41427
2001-04-19 19:52:17 +00:00
Zack Weinberg
acb0db7b38 toplev.c (output_lang_identify): Delete.
* toplev.c (output_lang_identify): Delete.
	(compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
	Don't generate gcc2_compiled. label.  Don't emit a nop if profiling.
	If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
	after calling ASM_FILE_END.

	* dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
	Instead, unconditionally emit an N_OPT stab with string equal
	to STABS_GCC_MARKER, which defaults to "gcc2_compiled."

	* defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.

	* config/dbxelf.h, config/freebsd.h, config/nextstep.h,
	config/psos.h, config/ptx4.h, config/1750a/1750a.h,
	config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
	config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
	config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
	config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
	config/i370/i370.h, config/i386/beos-elf.h,
	config/i386/osf1elf.h, config/i386/osfrose.h,
	config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
	config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
	config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
	config/m68k/tower-as.h, config/mcore/mcore-elf.h,
	config/mips/iris6.h, config/mips/osfrose.h,
	config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
	config/sparc/sp64-elf.h:
	Delete definitions of any or all of: ASM_IDENTIFY_GCC,
	ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.

	* config/elfos.h, config/freebsd.h, config/linux.h,
	config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
	config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
	config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
	of ASM_FILE_START which merely emit a .version directive.  Delete
	definitions of ASM_FILE_END which merely emit an .ident directive.

	* config/avr/avr.h, config/vax/vax.h: Delete definition of
	ASM_IDENTIFY_GCC and move part of its logic into
	ASM_FILE_START.

	* config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
	config/sparc/linux-aout.h: Don't emit .version directive in
	ASM_FILE_START.

	* config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
	(output_file_start): Correct comment.

	* config/i386/osfrose.h: Don't emit trailing .ident directive.
	* config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
	to match gdb.
	* config/pa/lib2funcs.asm: Delete gcc_compiled. label.
	* config/rs6000/aix.h: Correct comment.

	* config/i386/i386afe.h: Delete.
	* config.gcc: Remove references to i386afe.h.

	* tm.texi: Delete documentation of ASM_IDENTIFY_GCC.  The
	other macros deleted by this patch were undocumented.

From-SVN: r41385
2001-04-16 18:30:48 +00:00
Kaveh R. Ghazi
8461e98455 Makefile.in (toplev.o, [...]): Depend on reload.h
* Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h

	* jump.c, regmove.c, toplev.c: Include reload.h.

	* reload.h (reload_cse_regs): Declare.

	* rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber,
	reload_cse_regs, init_reload, mark_home_live, reload,
	init_caller_save): Delete redundant prototypes.

From-SVN: r41338
2001-04-13 16:41:16 +00:00