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. 04 Dec, 2001 1 commit
    • rtl.def (PREFETCH): New rtx code. · 21b8482a
      	* rtl.def (PREFETCH): New rtx code.
      	* doc/rtl.texi (PREFETCH): Add documentation.
      	* function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
      	* rtlanal.c (reg_referenced_p): Ditto.
      	* sched-vis.c (print_exp):  Ditto.
      	* ssa-dce.c (find_inherently_necessary):  Ditto.
      
      From-SVN: r47580
      Janis Johnson committed
  3. 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
  4. 11 Sep, 2001 1 commit
    • basic-block.h (cached_make_edge, [...]): New. · 7ded4467
      	* basic-block.h (cached_make_edge, make_single_succ): New.
      	(make_edge): Remove first parameter.
      	* bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
      	* cfg.c (cached_make_edge): Rename from make_edge; return newly
      	created edge; use obstack allocation.
      	(make_edge, make_single_succ_edge): New.
      	(first_removed_edge): New static variable.
      	(init_flow): Initialize first_removed_edge and n_edges.
      	(clear_edges): Use remove_edge.
      	(flow_delete_block): Likewise.
      	(remove_edge): Add removed edges to the removed edges list.
      	(split_block, redirect_edge_and_branch_force, split_edge):
      	Use make_edge.
      	* cfganal.c (flow_call_edges_add): Updaet make_edge call.
      	(add_noreturn_fake_exit_edges): Likewise.
      	(connect_infinite_loops_to_exit): Liekwise.
      	* cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
      	Use cached_make_edge.
      	* cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
      	* profile.c (branch_prob): Update make_edge call.
      	* ssa-dce.c (ssa_eliminate_dead_code): Likewise.
      
      From-SVN: r45540
      Jan Hubicka committed
  5. 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
  6. 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
  7. 02 Jul, 2001 1 commit
  8. 29 Jun, 2001 2 commits
    • ssa-dce.c (ssa_eliminate_dead_code): Renamed from eliminate_date_code. · 62d285ff
              * 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
      Jeffrey A Law committed
    • ssa-dce.c (note_inherently_necessary_set): New function. · 8f2f6da1
              * ssa-dce.c (note_inherently_necessary_set): New function.
              (find_inherently_necessary): Use it.  Do not consider
              NOTEs, CODE_LABELs or BARRIERS are necessary.  Improve
              handling of asms and unspecs.
              (delete_insn_bb): Only delete INSNs, CALL_INSNs or JUMP_INSNs.
      
      From-SVN: r43656
      Jeffrey A Law committed
  9. 28 Jun, 2001 2 commits
  10. 19 Jun, 2001 1 commit
  11. 18 Jun, 2001 1 commit
  12. 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
  13. 03 Aug, 2000 1 commit
  14. 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