1. 22 Jan, 2002 1 commit
    • predict.c: Fix formatting. · cf403648
      	* predict.c: Fix formatting.
      	* print-tree.c: Likewise.
      	* protoize.c: Likewise.
      	* real.h: Likewise.
      	* rtl.h: Likewise.
      	* sbitmap.h: Likewise.
      	* scan.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-vis.c: Likewise.
      	* sdbout.c: Likewise.
      	* sibcall.c: Likewise.
      	* ssa.c: Likewise.
      	* ssa-ccp.c: Likewise.
      	* ssa-dce.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* system.h: Likewise.
      
      From-SVN: r49074
      Kazu Hirata committed
  2. 12 Jan, 2002 1 commit
  3. 28 Dec, 2001 1 commit
  4. 28 Oct, 2001 2 commits
    • ChangeLog.0, [...]: Fix spelling errors. · ff7cc307
      	* ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
      	ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
      	c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
      	configure, configure.in, except.c, except.h, flow.c, function.c,
      	gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
      	predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
      	sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
      	unroll.c: Fix spelling errors.
      
      From-SVN: r46595
      Joseph Myers committed
    • ChangeLog.0, [...]: Fix spelling errors. · f63d1bf7
      	* ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
      	ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
      	c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
      	collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
      	haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
      	regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
      	system.h, toplev.c: Fix spelling errors.
      
      From-SVN: r46580
      Joseph Myers committed
  5. 28 Sep, 2001 1 commit
    • gcse.c (replace_store_insn): Use delete_insn. · 49ce134f
      	* gcse.c (replace_store_insn): Use delete_insn.
      	* loop.c (move_movables): Likewise; avoid delete_insn
      	from clobbering notes moved elsewhere.
      	(check_dbra_loop): Use delete_insn.
      	* ssa.c (convert_from_ssa): Likewise.
      	* cse.c (cse_insn): Use delete_insn.
      
      From-SVN: r45859
      Jan Hubicka committed
  6. 21 Sep, 2001 1 commit
    • basic-block.h (flow_delete_insn, [...]): Kill. · 53c17031
      	* basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
      	* cfg.c (delete_insn): Rename from ....; use remove_insn; do not
      	remove some labels.
      	(flow_delete_insn): This one.
      	(delete_insn_chain): Rename from ...; do not care labels.
      	(flow_delete_insn_chain): ... this one.
      	(flow_delete_block): Remove the insns one BB has been expunged.
      	(merge_blocks_nomove): Likewise.
      	(try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
      	updating BB boundaries.
      	(tidy_fallthru_edge): Likewise.
      	(commit_one_edge_insertion): Likewise.
      	* cfgbuild.c (find_basic_block): Likewise.
      	(find_basic_blocks_1): Likewise.
      	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
      	(try_crossjump_to_edge): Likewise.
      	(try_optimize_cfg): Likewise.
      	* cse.c (delete_trivially_dead_insns): Likewise.
      	* df.c (df_insn_delete): Likewise.
      	* doloop.c (doloop_modify): Use delete_related_insns.
      	* emit-rtl.c (try_split): Likewise.
      	(remove_insn): Update BB boundaries.
      	* expect.c (connect_post_landing_pads): Use delete_related_insns.
      	* flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
      	updating BB boundaries.
      	(propagate_block_delete_insn): Likewise.
      	(propagate_block_delete_libcall): Likewise.
      	* function.c (delete_handlers): Use delete_related_insns.
      	(thread_prologue_and_epilogue_insns): Likewise.
      	* gcse.c (delete_null_pointer_checks): Use delete_related_insns.
      	* genpeep.c (gen_peephole): Use delete_related_insns.
      	* ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
      	BB boundaries.
      	(find_cond_trap): Likewise.
      	* integrate.c (save_for_inline): Use delete_related_insns.
      	(copy_insn_list): Likewise.
      	* jump.c (pruge_linie_number_notes): Likewise.
      	(duplicate_loop_exit_test): Likewise.
      	(delete_computation): Likewise.
      	(delete_related_insn): Rename from ...; use delete_insn
      	(delete_insn): ... this one.
      	(redirect_jump): Use delete_related_insns.
      	* loop.c (scan_loop): Likewise.
      	(move_movables): Likewise.
      	(find_and_verify_loops): Likewise.
      	(check_dbra_loop): Likewise.
      	* recog.c (peephole2_optimize): Likewise.
      	* reg-stack.c (delete_insn_for_stacker): Remove.
      	(move_for_stack_reg): Use delete_insn.
      	* regmove.c (combine_stack_adjustments_for_block): Likewise.
      	* reload1.c (delete_address_reloads): Use delete_related_insns.
      	(fixup_abnormal_edges): Use delete_insn.
      	* recog.c (emit_delay_sequence): Use delete_related_insns.
      	(delete_from-delay_slot): Likewise.
      	(delete_scheduled_jump): likewise.
      	(optimize_skip): Likewise.
      	(try_merge_delay_insns): Likewise.
      	(full_simple_delay_slots): Likewise.
      	(fill_slots_from_thread): Likewise.
      	(relax_delay_slots): Likewise.
      	(make_return_insns): Likewise.
      	(dbr_schedule): Likewise.
      	* rtl.h (delete_insn): Rename to delete_related_insns.
      	(delete_insn, delete_insn_chain): New prototypes.
      	* ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
      	by df_insn_delete already.
      	* ssa-dce.c (delete_insn_bb): Use delete_insn.
      	* ssa.c (convert_from_ssa): Use delete_related_insns.
      	* unroll.c (unroll_loop): Likewise.
      	(calculate_giv_inc): Likewise.
      	(copy_loop_body): Likewise.
      
      	* i386-protos.h (ix86_libcall_value, ix86_function_value,
      	ix86_function_arg_regno_p, ix86_function_arg_boundary,
      	ix86_return_in_memory, ix86_function_value): Declare.
      	* i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
      	new static valurables.
      	(x86_64_reg_class): New enum
      	(x86_64_reg_class_name): New array.
      	(classify_argument, examine_argument, construct_container,
      	 merge_classes): New static functions.
      	(optimization_options): Enable flag_omit_frame_pointer and disable
      	flag_pcc_struct_return on 64bit.
      	(ix86_libcall_value, ix86_function_value,
      	ix86_function_arg_regno_p, ix86_function_arg_boundary,
      	ix86_return_in_memory, ix86_function_value): New global functions.
      	(init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
      	(function_arg_advance): Handle x86_64 passing conventions.
      	(function_arg): Likewise.
      	* i386.h (FUNCTION_ARG_BOUNDARY): New macro.
      	(RETURN_IN_MEMORY): Move offline.
      	(FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
      	(FUNCTION_VALUE_REGNO_P): New macro.
      	(FUNCTION_ARG_REGNO_P): Move offline.
      	(struct ix86_args): Add maybe_vaarg.
      	* next.h (FUNCTION_VALUE_REGNO_P): Delete.
      	* unix.h (FUNCTION_VALUE_REGNO_P): Delete.
      
      From-SVN: r45726
      Jan Hubicka committed
  7. 16 Sep, 2001 1 commit
    • basic-block.h (free_bb_for_insn): Declare. · 3c030e88
      	* basic-block.h (free_bb_for_insn): Declare.
      	* bb-reorder.c (label_for_bb): Use block_label.
      	(emit_jump_to_block_after): Remove.
      	(insert_intra_1): Do not update block_for_insn.
      	(insert_inter_bb_scope_notes): Likewise; update bb->end
      	* cfg.c (free_bb_for_insn): New.
      	(try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
      	(force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
      	(commit_one_edge_insertion): Likewise.
      	(commit_one_edge_insertion): Do not update BB boundary.
      	(commit_edge_insertions): Do not call compute_bb_for_insn.
      	* cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
      	* cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
      	(merge_blocks_move_successor_nojumps): Likewise.
      	(try_crossjump_to_edge): Do not update block_for_insn.
      	* combine.c (combine_instructions): Remove compute_bb_for_insn call.
      	* df.c (df_pattern_emit_later): Do not update BB boundary.
      	(df_jump_pattern_emit_after): Likewise.
      	(df_insn_move_before): Use emit_insn_before.
      	* emit-rtl.c (try_split): Emit after trial to get bb boundary updated
      	 properly.
      	(add_insn_after, add_insn_before, emit_insns_after): Update BB
      	boundaries and basic_block_for_insn.
      	(reorder_insns_nobb): Rename from reorder_insns.
      	(reorder_insns): New.
      	(emit_block_insn_before, emit_block_insn_after): Kill.
      	* flow.c (check_function_return_warnings): Do not call
      	compute_bb_for_insn; Do not free basic_block_for_insn.
      	(attempt_auto_inc): Do not update basic_block_for_insn.
      	* function.c (emit_return_into_block): Likewise;
      	do not update BB boundaries.
      	* gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
      	(insert_insn_end_bb): Use emit_insn_before; Likewise.
      	(pre_insert_copy_insn): Likewise.
      	(update_ld_motion_notes): Likewise.
      	(insert_insn_start_bb): Likewise.
      	(replace_store_insn): Likewise.
      	* ifcvt.c (noce_process_if_block): Likewise.
      	(if_convert): Do not call compute_bb_for_insn.
      	* lcm.c (optimize_mode_switching): Do not update BB boundaries.
      	Use emit_insn_before and emit_insn_after.
      	* recog.c (split_all_insns): Do not update BB boundaries;
      	Do not call compute_bb_for_insn.
      	(peephole2_optimize): Do not update BB boundaries.
      	* reg-stack.c (emit_pop_insn): Use emit_insn_after and
      	emit_insn_before.
      	(emit_swap_insn): Likewise.
      	(convert_regs_1): Likewise.
      	* reload1.c (reload): Call compute_bb_for_insn.
      	* rtl.h (reorder_insns_nobb): Declare.
      	* ssa.c (rename_equivalent_regs): Use emit_insn_before.
      	* toplev.c (rest_of_compilation): Call free_bb_for_insn
      	at places CFG is invalidated; do not call compute_bb_for_insn.
      
      	* cfg.c (expunge_block): Invalidate BB structure.
      
      	* (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
      	array.
      
      	* cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
      
      From-SVN: r45647
      Jan Hubicka committed
  8. 11 Sep, 2001 1 commit
    • basic-block.h (EDGE_CRITICAL): Remove; renumber other flags. · 4262e623
      	* basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
      	(EDGE_CRITICAL_P): New predicate.
      	* cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
      	handling.
      	(insert_insn_on_edge): Use EDGE_CRITICAL_P.
      	(dump_edge_info): Remove "crit".
      	* cfganal.c (mark_critical_edges): Kill.
      	* cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
      	* cfgcleanup.c (cleanup_cfg): Likewise.
      	* profile.c (instrument_edges): Use EDGE_CRITICAL_P.
      	(find_spanning_tree): Likewise.
      	* reg-stack.c (convert_regs_1): Likewise.
      	* ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
      
      	* basic-block.h (create_basic_block_structure): New.
      	(create_basic_block): Update prototype.
      	(force_nonfallthru): New.
      	* bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
      	* cfg.c (create_basic_block_structure): Rename from create_basic_block;
      	handle updating of block_for_insn, creating of empty BBs and BBs at
      	the end of INSN chain.
      	(create_basic_block): New function.
      	(split_block): Use create_basic_block.
      	(force_nonfallthru_and_redirect): Break out from ...; cleanup
      	(redirect_edge_and_branch_force): ... here.
      	(force_nonfallthru): New.
      	(split_edge): Rewrite to use force_nonfallthru and create_block.
      	* cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
      	(find_basic_blocks): Free basic_block_for_insn.
      	* cfgcleanup.c (merge_blocks): Use force_nonfallthru.
      
      	* cfg.c: Fix formating.
      	* cfgcleanup.c: Fix formating.
      	(merge_blocks, tail_recursion_label_p): Return bool.
      	(merge_blocks_move_predecessor_nojumps,
      	 merge_blocks_move_successor_nojumps): Return void.
      
      From-SVN: r45549
      Jan Hubicka committed
  9. 22 Aug, 2001 1 commit
    • Makefile.in, [...]: replace "GNU CC" with "GCC". · 1322177d
      	* Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
      	bitmap.h, builtin-types.def, builtins.c, builtins.def,
      	c-aux-info.c, c-common.c, c-common.def, c-common.h,
      	c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
      	c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
      	c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
      	caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
      	conditions.h, config.gcc, configure.frag, configure.in,
      	conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
      	cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
      	dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
      	doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
      	dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
      	emit-rtl.c, errors.c, errors.h, except.c, except.h,
      	exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
      	fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
      	function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
      	gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
      	gencheck.c, gencodes.c, genconfig.c, genemit.c,
      	genextract.c, genflags.c, gengenrtl.c, genmultilib,
      	genopinit.c, genoutput.c, genpeep.c, genrecog.c,
      	gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
      	ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
      	graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
      	gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
      	gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
      	hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
      	integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
      	libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
      	machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
      	mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
      	mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
      	params.h, predict.c, predict.def, predict.h, prefix.c,
      	prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
      	read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
      	regclass.c, regmove.c, regrename.c, regs.h, reload.c,
      	reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
      	rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
      	sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
      	sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
      	ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
      	stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
      	tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
      	tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
      	unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
      	unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
      	xcoffout.h: replace "GNU CC" with "GCC".
      
      From-SVN: r45105
      Lars Brinkhoff committed
  10. 17 Aug, 2001 1 commit
    • sbitmap.c: Fix comment formatting. · 2d76cb1a
      	* sbitmap.c: Fix comment formatting.
      	* sched-deps.c: Likewise.
      	* sibcall.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* ssa.c: Likewise.
      	* ssa-ccp.c: Likewise.
      	* stor-layout.c: Likewise.
      	* timevar.c: Likewise.
      	* toplev.c: Likewise.
      	* unwind-dw2.c: Likewise.
      	* unwind-dw2-fde.c: Likewise.
      	* varasm.c: Likewise.
      
      From-SVN: r44983
      Kazu Hirata committed
  11. 25 Jul, 2001 1 commit
  12. 09 Jul, 2001 1 commit
    • Makefile.in (OBJS): Add ssa-ccp.o · 0b47e4c1
      	* 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
      Jeff Law committed
  13. 06 Jul, 2001 1 commit
    • basic-block.h (first_insn_after_basic_block_note): Declare. · b62c8881
              * basic-block.h (first_insn_after_basic_block_note): Declare.
              * flow.c (first_insn_after_basic_block_note): Define.  Moved
              from...
              * ssa.c (first_insn_after_basic_block_note): Remove.
              * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
              necessary.
              (ssa_eliminate_dead_code): Properly update the CFG and PHI
              nodes when we find a dead conditional branch.  Insert BARRIERs
              after any blocks with no successors, but which do not have
              any BARRIERs.
      
      From-SVN: r43816
      Jeffrey A Law committed
  14. 22 Jun, 2001 1 commit
    • basic-block.h (dump_edge_info): Declare. · 316dcdf6
      2001-06-22  Diego Novillo  <dnovillo@redhat.com>
      
      	* basic-block.h (dump_edge_info): Declare.
      	(clear_edges): Declare.
      	(mark_critical_edges): Declare.
      	* flow.c (dump_edge_info): Remove static declaration.
      	(clear_edges): Ditto.
      	(mark_critical_edges): Ditto.
      	(free_basic_block_vars): Only clear edges and free basic block
      	array if basic_block_info is not NULL.
      	* ssa.c (compute_dominance_frontiers): Remove static declaration.
      	* ssa.h (compute_dominance_frontiers): Declare.
      
      From-SVN: r43518
      Diego Novillo committed
  15. 20 Jun, 2001 1 commit
  16. 19 Jun, 2001 2 commits
    • ssa.c (remove_phi_alternative): Remove declaration. · fd9305ef
             * ssa.c (remove_phi_alternative): Remove declaration.  No longer
              static.  Second argument is a pointer to a basic block structure,
              not a basic block index.
              (convert_to_ssa): Do not remove dead code.
              (convert_from_ssa): Do not remove dead code to create death notes.
              * ssa.h (remove_phi_alternative): Declare.
      
      From-SVN: r43464
      Jeffrey A Law committed
    • ssa.c (ssa_uses): Remove definition. · 10ab5c54
              * ssa.c (ssa_uses): Remove definition.
              (apply_delayed_renames): Don't grow ssa_uses.
              (rename_block): Remove comment related to ssa_uses.
              (rename_registers): Do not initialize ssa_uses.
              (convert_from_ssa): Do not free ssa_uses.
      
      From-SVN: r43460
      Jeffrey A Law committed
  17. 13 Apr, 2001 1 commit
  18. 19 Nov, 2000 1 commit
    • Warning fixes: · ce1cc601
      	* builtins.c (c_getstr): Constify variable.
      	* gmon-sol2.c (_mcleanup): Comment out #endif labels.
      	* conflict.c (const_conflict_graph_arc): New typedef.
      	(arc_hash, arc_eq): Avoid needlessly casting away const-ness.
      	* cppmacro.c (builtin_macro): Likewise.
      	* dwarf2out.c (output_comp_unit): Constify variable.
      	* fix-header.c (v_fatal): Add ATTRIBUTE_PRINTF.
      	* protoize.c (IS_SAME_PATH_CHAR): Use TOUPPER, not toupper.
      	* ssa.c (ssa_rename_from_hash_function): Avoid needlessly casting
      	away const-ness.
      	* tradcpp.c (rescan, do_line, macroexpand, macarg): Use
      	ISALNUM/ISDIGIT/ISPRINT, not isalnum/isdigit/isprint.
      	* varasm.c (const_str_htab_hash, const_str_htab_eq,
      	compare_constant_1, record_constant_1): Constify.
      
      From-SVN: r37565
      Kaveh R. Ghazi committed
  19. 14 Nov, 2000 1 commit
    • Michael Matz <matzmich@cs.tu-berlin.de> · f8032688
              * dominance.c: New file.
              * Makefile.in (OBJS): Add dominance.o.
      
              * flow.c (compute_flow_dominators): Remove.
              (compute_immediate_dominators): Remove.
              (compute_immediate_postdominators): Remove.
              * basic-block.h: Remove their prototypes.
              (calculate_dominance_info): Add prototype.
      
              * dce.c (eliminate_dead_code): Change calls to above functions.
              Don't compute dominators but only immediate dominators.
              * flow.c (flow_loops_find): Change callers.
              * gcse.c (compute_code_hoist_data): Likewise.
              * haifa-sched.c (schedule_insns): Likewise.
              * ifcvt.c (if_convert): Likewise.
              * ssa.c (convert_to_ssa): Likewise, and only compute immediate
              dominators.
      
      From-SVN: r37449
      Michael Matz committed
  20. 07 Nov, 2000 1 commit
    • alias.c [...] (init_alias_analysis, [...]): Use memset () instead of bzero (). · 961192e1
      	* alias.c (init_alias_analysis), calls.c (expand_call,
      	emit_library_call_value_1), combine.c (init_reg_last_arrays),
      	cse.c (new_basic_block), dbxout.c (dbxout_type), diagnostic.c
      	(init_output_buffer, set_diagnostic_context), dwarf2out.c
      	(equate_decl_number_to_die, build_abbrev_table), emit-rtl.c
      	(init_emit_once), fold-const.c (mul_double, div_and_round_double),
      	function.c (assign_parms), gcse.c (compute_can_copy,
      	alloc_gcse_mem, alloc_reg_set_mem, record_one_set,
      	compute_hash_table, compute_set_hash_table,
      	compute_expr_hash_table), genattrtab.c (optimize_attrs), global.c
      	(global_alloc, global_conflicts), haifa-sched.c (compute_trg_info,
      	clear_units, schedule_block), integrate.c (initialize_for_inline,
      	expand_inline_function), jump.c (thread_jumps), local-alloc.c
      	(local_alloc), loop.c (combine_movables, count_loop_regs_set,
      	load_mems_and_recount_loop_regs_set), print-tree.c (debug_tree),
      	regclass.c (init_reg_sets, init_reg_sets_1, regclass,
      	record_reg_classes, allocate_reg_info), reload.c
      	(get_secondary_mem, remove_address_replacements, find_reloads),
      	reload1.c (reload, set_initial_label_offsets, finish_spills,
      	reload_as_needed, choose_reload_regs_init,
      	reload_cse_simplify_operands), reorg.c (dbr_schedule), sbitmap.c
      	(sbitmap_zero), simplify-rtx.c (simplify_plus_minus), ssa.c
      	(rename_registers), stmt.c (expand_end_case), unroll.c
      	(unroll_loop), varray.c (varray_grow), objc/objc-act.c: Use memset
      	() instead of bzero ().
      
      ch:
      	* actions.c (check_missing_cases), typeck.c (build_chill_slice,
      	build_chill_cast): Use memset () instead of bzero ().
      
      cp:
      	* class.c (duplicate_tag_error, build_vtbl_initializer), decl.c
      	(push_binding_level), error.c (cp_tree_printer), pt.c
      	(process_partial_specialization, tsubst_template_arg_vector),
      	search.c (lookup_member): Use memset () instead of bzero ().
      
      java:
      	* expr.c (note_instructions), jcf-io.c (find_class), jcf-parse.c
      	(init_outgoing_cpool), lex.c (java_init_lex): Use memset ()
      	instead of bzero ().
      
      From-SVN: r37303
      Joseph Myers committed
  21. 20 Oct, 2000 1 commit
    • Warning fixes: · 8f54374e
      	* mips.h (REG_CLASS_FROM_LETTER): Cast array arg to unsigned char.
      
      	* sparc.c (load_pic_register): Delete unused varaible.
      
      	* libgcc2.c (__addvsi3): Delete unused variable.
      
      	* libgcc2.h (__absvsi2, __absvdi2, __addvsi3, __addvdi3,
      	__subvsi3, __subvdi3, __mulvsi3, __mulvdi3, __negvsi2,
      	__negvdi2): Prototype.
      
      	* ssa.c (apply_delayed_renames): Avoid undefined operation.
      
      	* toplev.c (display_target_options): Make static to match
      	prototype.  Delete empty declaration.
      
      From-SVN: r36987
      Kaveh R. Ghazi committed
  22. 04 Aug, 2000 1 commit
    • alias.c (mark_constant_function): Use INSN_P. · 2c3c49de
      	* alias.c (mark_constant_function): Use INSN_P.
      	(init_alias_analysis): Likewise.
      	* combine.c (combine_instructions): Use INSN_P.
      	(can_combine_p): Likewise.
      	(try_combine): Likewise.
      	(distribute_notes): Likewise.
      	(distribute_links): Likewise.
      	* cse.c (cse_around_loop): Use INSN_P.
      	(invalidate_skipped_block): Likewise.
      	(cse_set_around_loop): Likewise.
      	(cse_end_of_basic_block): Likewise.
      	(delete_trivially_dead_insns): Likewise.
      	* emit-rtl.c (unshare_all_rtl_again): Use INSN_P.
      	(unshare_all_rtl_1): Likewise.
      	(next_cc0_user): Likewise.
      	(try_split make_insn_raw): Likewise.
      	(remove_unnecessary_notes): Likewise.
      	* final.c (shorten_branches): Use INSN_P.
      	(leaf_renumber_regs): Likewise.
      	(leaf_renumber_regs_insn): Likewise.
      	* flow.c (find_label_refs): Use INSN_P.
      	(verify_wide_reg): Likewise.
      	(notice_stack_pointer_modification): Likewise.
      	(count_or_remove_death_notes): Likewise.
      	(verify_flow_info): Likewise.
      	(clear_log_links): Likewise.
      	* function.c (fixup_var_refs_insns): Use INSN_P.
      	(compute_insns_for_mem): Likewise.
      	* gcse.c (alloc_gcse_mem): Use INSN_P.
      	(compute_sets): Likewise.
      	(compute_hash_table): Likewise.
      	(classic_gcse): Likewise.
      	(cprop): Likewise.
      	(insert_insn_end_bb): Likewise.
      	(delete_null_pointer_checks_1): Likewise.
      	* global.c (expand_preferences): Use INSN_P.
      	(build_insn_chain): Likewise.
      	* graph.c (node_data): Use INSN_P.
      	* haifa-sched.c (priority): Use INSN_P.
      	(rm_line_notes): Likewise.
      	(rm_other_notes): Likewise.
      	(find_insn_reg_weight): Likewise.
      	(init_target_units): Likewise.
      	(schedule_block): Likewise.
      	(compute_block_forward_dependences): Likewise.
      	(debug_dependencies): Likewise.
      	(set_priorities): Likewise.
      	* integrate.c (function_cannot_inline_p): Use INSN_P.
      	(save_parm_insns): Likewise.
      	(copy_insn_list): Likewise.
      	* jump.c (mark_all_labels): Use INSN_P.
      	(never_reached_warning): Likewise.
      	* lcm.c (optimize_mode_switching): Use INSN_P.
      	* local-alloc.c (validate_equiv_mem): Use INSN_P.
      	(memref_used_between_p): Likewise.
      	(update_equiv_regs): Likewise.
      	(block_alloc): Likewise.
      	(no_conflict_p): Likewise.
      	* loop.c (scan_loop): Use INSN_P.
      	(find_and_verify_loops): Likewise.
      	(count_loop_regs_set): Likewise.
      	(loop_reg_used_before_p): Likewise.
      	(strength_reduce): Likewise.
      	(recombine_givs): Likewise.
      	(check_dbra_loop): Likewise.
      	(load_mems): Likewise.
      	(try_copy_prop): Likewise.
      	* print-rtl.c (print_rtx): Use INSN_P.
      	* recog.c (find_single_use): Use INSN_P.
      	* reg-stack.c (stack_regs_mentioned): Use INSN_P.
      	(next_flags_user): Likewise.
      	(swap_rtx_condition): Likewise.
      	* regmove.c (mark_flags_life_zones): Use INSN_P.
      	(optimize_reg_copy_1): Likewise.
      	(optimize_reg_copy_2): Likewise.
      	(optimize_reg_copy_3): Likewise.
      	(reg_is_remote_constant_p): Likewise.
      	(fixup_match_2): Likewise.
      	(regmove_optimize): Likewise.
      	(fixup_match_1): Likewise.
      	* regrename.c (build_def_use): Use INSN_P.
      	(replace_reg_in_block): Likewise.
      	(consider_use): Likewise.
      	* reload.c (find_equiv_reg): Use INSN_P.
      	* reload1.c (reload): Use INSN_P.
      	(maybe_fix_stack_asms): Likewise.
      	(calculate_needs_all_insns): Likewise.
      	(reload_as_needed): Likewise.
      	(emit_output_reload_insns): Likewise.
      	(delete_address_reloads_1): Likewise.
      	(reload_cse_regs_1): Likewise.
      	(reload_combine): Likewise.
      	(reload_cse_move2add): Likewise.
      	* reorg.c (redundant_insn): Use INSN_P.
      	(dbr_schedule): Likewise.
      	* resource.c (find_dead_or_set_registers): Use INSN_P.
      	(mark_target_live_regs): Likewise.
      	* rtlanal.c (reg_used_between_p): Use INSN_P.
      	(reg_referenced_between_p): Likewise.
      	(reg_set_between_p): Likewise.
      	(reg_set_p): Likewise.
      	(single_set): Likewise.
      	(multiple_sets): Likewise.
      	(find_last_value): Likewise.
      	(reg_set_last): Likewise.
      	(find_reg_note): Likewise.
      	(find_regno_note): Likewise.
      	* sibcall.c (sequence_uses_addressof): Use INSN_P.
      	* simplify-rtx.c (cselib_process_insn): Use INSN_P.
      	* ssa.c (find_evaluations): Use INSN_P.
      	(rename_block): Likewise.
      	(rename_equivalent_regs): Likewise.
      	* unroll.c (loop_find_equiv_value): Use INSN_P.
      	(set_dominates_use): Likewise.
      	* varasm.c (mark_constant_pool): Use INSN_P.
      	(mark_constants): Likewise.
      	* config/alpha/alpha.c (alpha_does_function_need_gp): Use INSN_P.
      	(alphaev4_next_group): Likewise.
      	(alphaev5_next_group): Likewise.
      	* config/c4x/c4x.c (c4x_process_after_reload): Use INSN_P.
      	(c4x_rptb_rpts_p): Likewise.
      	* config/mips/mips.c (mips16_optimize_gp): Use INSN_P.
      	* config/rs6000/rs6000.c (uses_TOC): Use INSN_P.
      	(rs6000_adjust_priority): Likewise.
      	* config/sh/sh.c (sh_loop_align): Use INSN_P.
      	(machine_dependent_reorg): Likewise.
      	(split_branches): Likewise.
      	* config/tahoe/tahoe.c (tahoe_cmp_check): Use INSN_P.
      
      From-SVN: r35494
      Rodney Brown committed
  23. 03 Aug, 2000 1 commit
  24. 02 Aug, 2000 1 commit
    • Makefile.in (OBJS): Added dce.o. · b53978a3
      	* Makefile.in (OBJS): Added dce.o.
      	(ssa.o): Updated target to include ssa.h.
      	(flow.o): Likewise.
      	(toplev.o): Likewise.
      	(dce.o): Created target.
      	* basic-block.h: Added comments.
      	(INVALID_BLOCK): Added definition.
      	(connect_infinite_loops_to_exit): Added declaration.
      	Moved SSA declarations to ssa.h.
      	* flow.c: Added inclusion of ssa.h.
      	(struct depth_first_search_dsS, depth_first_search_ds):
      	Added definitions.
      	(compute_immediate_postdominators): Added definition.
      	(connect_infinite_loops_to_exit): Likewise.
      	(flow_dfs_compute_reverse_init): Likewise.
      	(flow_dfs_compute_reverse_add_bb): Likewise.
      	(flow_dfs_compute_reverse_execute): Likewise.
      	(flow_dfs_compute_reverse_finish): Likewise.
      	* rtl.h (rtx/in_struct): Added use to determine insn necessity.
      	(LABEL_P): Added definition.
      	(JUMP_P): Likewise.
      	(NOTE_P): Likewise.
      	(BARRIER_P): Likewise.
      	(JUMP_TABLE_DATA_P): Likewise.
      	(INSN_DEAD_CODE_P): Likewise.
      	* ssa.c: Replaced inclusions with ssa.h inclusion.
      	(CONVERT_HARD_REGISTER_TO_SSA_P): Moved to ssa.h.
      	(rename_registers): Removed unnecessary variables.
      	* ssa.h: Created by moving declarations from ssa.c and
      	basic-block.h.
      	* timevar.def: Defined TV_DEAD_CODE_ELIM.
      	* toplev.c: Added ssa.h inclusion.
      	(dump_file_index): Added DFI_dce.
      	(dump_file): Added "dce" entry.
      	Defined flag_ssa.
      	(f_options): Added dce entry.
      	* invoke.texi: Document -fdce.  Emphasize experimental status of
      	-fssa.
      
      Co-Authored-By: Mark Mitchell <mark@codesourcery.com>
      
      From-SVN: r35419
      Jeffrey Oldham committed
  25. 31 Jul, 2000 1 commit
    • Makefile.in (ssa.o): Updated header files in dependences. · cdbca172
      	* Makefile.in (ssa.o): Updated header files in dependences.
      	* basic-block.h: Added compute_immediate_postdominators declaration.
      	* config/i386/i386.h (CONVERT_HARD_REGISTER_TO_SSA_P): Added
      	definition.
      	* flow.c (compute_immediate_dominators): Updated comment.
      	(compute_immediate_postdominators): Added definition.
      	* rtl.h (HARD_REGISTER_P): Added definition.
      	* ssa.c: Include additional header files.
      	(assert): Added definition.
      	(ssa_rename_to_lookup): Added to reimplement ssa_rename_to to
      	include select hard registers.
      	(ssa_rename_to_insert): Likewise.
      	(ssa_rename_from_initialize): Likewise.
      	(ssa_rename_from_lookup): Likewise.
      	(original_register): Likewise.
      	(ssa_rename_from_insert): Added to reimplement ssa_rename_from to
      	include select hard reigsters.
      	(ssa_rename_from_traverse): Likewise.
      	(ssa_rename_from_free): Likewise.
      	(ssa_rename_from_print): Likewise.
      	(ssa_rename_from_print_1): Likewise.
      	(ssa_rename_from_hash_function): Likewise.
      	(ssa_rename_from_equal): Likewise.
      	(ssa_rename_from_delete): Likewise.
      	(simplify_to_immediate_dominators): Removed in favor of
      	flow.c:compute_immediate_dominators.
      	(find_evaluations_1): Modified to work with hard registers.
      	(insert_phi_node): Likewise.
      	(insert_phi_nodes): Likewise.
      	(struct rename_set_data): Updated prev_reg comment.
      	(create_delayed_rename): Modified to work with hard registers.
      	(RENAME_NO_RTX): Updated comment.
      	(apply_delayed_renames): Modified to work with hard registers.
      	(rename_insn_1): Likewise and added handling of CLOBBER rtls.
      	(rename_block): Updated to use revised ssa_rename_to interface.
      	(rename_registers): Updated to use revised ssa_rename_to and
      	ssa_rename_from interface.
      	(convert_to_ssa): Revised to use compute_immediate_dominators and
      	deal with hard registers.
      	(make_regs_equivalent_over_bad_edges): Modified to work with hard
      	registers.  Added check for illegal unification of hard register.
      	(make_equivalent_phi_alternatives_equivalent): Modified to work
      	with hard registers.
      	(compute_conservative_reg_partition): Likewise.
      	(coalesce_if_unconflicting): Modified to work with hard registers
      	and check for conflicting hard registers.
      	(mark_phi_and_copy_regs): Revised loop to work only on pseudo
      	registers.
      	(rename_equivalent_regs_in_insn): Modified to work with hard
      	registers.
      	(record_canonical_element_1): Added definition.
      	(check_hard_regs_in_partition): Added definition.
      	(convert_from_ssa): Added data structure deallocation and check
      	for illegal hard register unification.
      	(conflict_hard_regs_p): Added definition.
      	* toplev.c (rest_of_compilation): Added comment.
      
      From-SVN: r35384
      Jeffrey D. Oldham committed
  26. 27 Jul, 2000 1 commit
    • Put phi nodes after NOTE_INSN_BASIC_BLOCK. · 589ca5cb
      	* rtl.h (NOTE_INSN_BASIC_BLOCK_P): New macro.
      	* bb-reorder.c (get_next_bb_note): Use NOTE_INSN_BASIC_BLOCK_P.
      	(get_prev_bb_note): Likewise.
      	(remove_scope_notes): Likewise.
      	* flow.c (commit_one_edge_insertion): Likewise.
      	(merge_blocks_nomove): Likewise.
      	(verify_flow_info): Likewise.
      	* gcse.c (insert_insn_end_bb): Likewise.
      	* reg-stack.c (emit_swap_insn): Likewise.
      	* ssa.c (first_insn_after_basic_block_note): New function.
      	(insert_phi_node): Use it.
      	(rename_block): Likewise.
      	(eliminate_phi): Likewise.
      	(make_regs_equivalent_over_bad_edges): Likewise.
      	(make_equivalent_phi_alternatives_equivalent): Likewise.
      	(for_each_successor_phi): Likewise.
      	(convert_from_ssa): Modify phi-node deletion algorithm.
      
      From-SVN: r35296
      Mark Mitchell committed
  27. 21 Jul, 2000 1 commit
  28. 27 Jun, 2000 1 commit
  29. 26 Jun, 2000 1 commit
    • ssa.c (struct rename_set_data): Change the name of field 'set_dest' to 'old_reg'. · 5397b155
      * ssa.c (struct rename_set_data): Change the name of field
      'set_dest' to 'old_reg'.  Add comments.
      (struct rename_context): Change the name of 'set_data' to
      'new_renames'.  Add new field 'done_renames'.
      (create_delayed_rename): New function.
      (apply_delayed_renames): New function.
      (rename_insn_1): Use the new functions.  Handle CLOBBERS.  Handle
      SUBREGs and similar by emitting a move.
      (new_registers_for_updates): Delete, functionality moved to
      apply_delayed_renames.
      (rename_block): Handle moves emitted by rename_insn_1 by putting
      them into a SEQUENCE with the original insn.  Add sanity checks
      and comments.
      (rename_equivalent_regs_in_insn): Don't handle SUBREGs specially.
      (rename_equivalent_regs): Expand SEQUENCEs out to individual insns.
      
      From-SVN: r34720
      Geoff Keating committed
  30. 19 May, 2000 1 commit
  31. 04 May, 2000 1 commit
    • bb-reorder.c (get_next_bb_note, [...]): Prototype. · 36244024
      	* bb-reorder.c (get_next_bb_note, get_prev_bb_note): Prototype.
      
      	* diagnostic (vbuild_message_string, build_message_string,
      	build_location_prefix, output_get_prefix, init_output_buffer,
      	output_notice, vline_wrapper_message_with_location,
      	v_message_with_decl, default_print_error_function): De-constify.
      	(set_real_maximum_length): Prototype.
      
      	* diagnostic.h (struct output_buffer, init_output_buffer,
      	output_get_prefix, output_set_prefix): De-constify.
      
      	* function.c (init_function_start): Constify.
      
      	* gensupport.c (remove_constraints, process_rtx): Prototype.
      
      	* gthr-posix.h: Indent uses of #pragma.
      
      	* objc/objc-act.c (ggc_mark_imp_list, ggc_mark_hash_table):
      	Prototype.
      
      	* predict.c (find_expected_value): Delete prototype.
      	(expected_value_to_br_prob): Initialize variable `ev_reg'.
      
      	* sbitmap.h (debug_sbitmap): Prototype.
      
      	* ssa.c (compute_coalesced_reg_partition): Prototype.
      
      	* stor-layout.c (debug_rli): Prototype.
      
      	* tree.h (round_down): Prototype.
      	(init_function_start): Constify.
      
      ch:
      	* ch-tree.h (init_function_start): Constify.
      
      From-SVN: r33675
      Kaveh R. Ghazi committed
  32. 27 Apr, 2000 3 commits
  33. 09 Apr, 2000 1 commit
    • ssa.c (convert_to_ssa): Eliminate dead code when calling life_analysis. · 6308dae9
      	* ssa.c (convert_to_ssa): Eliminate dead code when calling
      	life_analysis.
      	(convert_from_ssa): Call compute_bb_for_insn before life_analysis.
      	(for_each_successor_phi): Change parameter to basic_block.
      	(coalesce_regs_in_successor_phi_nodes): Likewise.
      	(coalesce_regs_in_copies): Likewise.
      	(compute_coalesced_reg_partition): Use basic_block instead of index.
      	* rtl.h (convert_to_ssa): Delete.
      	(convert_from_ssa): Likewise.
      	(successor_phi_fn): Likewise.
      	(for_each_successor_phi): Likewise.
      	(in_ssa_form): Likewise.
      	* basic-block.h (convert_to_ssa): Moved from rtl.h.
      	(convert_from_ssa): Likewise.
      	(successor_phi_fn): Likewise.
      	(in_ssa_form): Likewise.
      	(for_each_successor_phi): Likewise.  Change parameter to basic_block.
      	* flow.c (calculate_global_regs_live): Pass a basic_block to
      	for_each_successor_phi.
      
      From-SVN: r33032
      Alex Samuel committed
  34. 07 Apr, 2000 2 commits
  35. 06 Apr, 2000 1 commit
    • rtl.h (INSN_P): New macro. · 4e872036
      	* rtl.h (INSN_P): New macro.
      	(successor_phi_fn): New typedef.
      	(for_each_successor_phi): New prototype.
      	(in_ssa_form): New variable.
      	(PHI_NODE_P): Likewise.
      	* flow.c (calculate_global_regs_live): Add to new_live_at_end from
      	phi nodes in successors.
      	(mark_used_regs): Add PHI case.
      	(set_phi_alternative_reg): New function.
      	(life_analysis): Assert that dead code elimination is not selected
      	when in SSA form.
      	* toplev.c (to_ssa_time): New variable.
      	(from_ssa_time): Likewise.
      	(compile_file): Zero to_ssa_time and from_ssa_time.
      	Print time to convert to and from SSA.
      	(rest_of_compilation): Time convert_to_ssa and convert_from_ssa.
      	(print_time): Compute percent fraction as integer.
      	* ssa.c (PHI_NODE_P): Moved to rtl.h.
      	(convert_to_ssa): Check if we're already in SSA.
      	Don't eliminate dead code in life_analysis.
      	Rerun flow and life analysis at bottom.
      	(eliminate_phi): Use canonical regnos when adding nodes.
      	(mark_reg_in_phi): New function.
      	(mark_phi_and_copy_regs): Likewise.
      	(convert_from_ssa): Rerun life analysis at top.
      	Use coalesced partition.
      	Check for removing a phi node at the end of the block.
      	(compute_coalesced_reg_partition): New function.
      	(coalesce_regs_in_copies): Likewise.
      	(coalesce_reg_in_phi): Likewise.
      	(coalesce_regs_in_sucessor_phi_nodes): Likewise.
      	(for_each_successor_phi): Likewise.
      	(rename_context): New struct.
      	(rename_block): Use a rename_context with rename_insn_1.  When
      	renaming sets of a subreg, emit a copy of the entire reg first.
      	(rename_insn_1): Treat data as a rename_context *.  Save current
      	insn in set_data.
      	(rename_set_data): Add field set_insn.
      	* Makefile.in (HASHTAB_H): Move up in file.
      	(OBSTACK_H): New macro.
      	(collect2.o): Use OBSTACK_H in dependencies.
      	(sdbout.o): Likewise.
      	(emit-rtl.o): Likewise.
      	(simplify-rtx.o): Likewise.
      	(fix-header.o): Likewise.
      	(OBJS):	Add conflict.o.
      	(conflict.o): New rule.
      	* basic-block.h: Include partition.h.
      	(conflict_graph): New typedef.
      	(conflict_graph_enum_fn): Likewise.
      	(conflict_graph_new): New prototype.
      	(conflict_graph_delete): Likewise.
      	(conflict_graph_add): Likewise.
      	(conflict_graph_conflict_p): Likewise.
      	(conflict_graph_enum): Likewise.
      	(conflict_graph_merge_regs): Likewise.
      	(conflict_graph_print): Likewise.
      	(conflict_graph_compute): Likewise.
      	* conflict.c: New file.
      
      From-SVN: r32979
      Alex Samuel committed