ia32: resources
Jeffrey A Law
law@cygnus.com
Tue Aug 31 22:41:00 GMT 1999
In message < 19990809163900.A7579@cygnus.com >you write:
> This patch is prep work for the peephole2 pass. It unifies the two
> copies of update_flow_info from the two schedulers and extends the
> interface to be able to handle multiple source instructions. I.e.
> the old update_flow_info would only handle the one->many case of
> redistributing reg notes for split_block_insns. The new code
> handles the many->many case that ocurrs in rtl->rtl peepholes.
>
>
> r~
>
>
>
> * haifa-sched.c (split_hard_reg_notes): Move to flow.c
> (new_insn_dead_notes): Likewise.
> (update_n_sets): Likewise.
> (update_flow_info): Move to flow.c, renamed to update_life_info;
> extend to handle multiple source insns.
> * flow.c: Include resource.h
> (unlink_insn_chain): New.
> (split_hard_reg_notes): New.
> (maybe_add_dead_note): New.
> (maybe_add_dead_note_use): New.
> (find_insn_with_note): New.
> (new_insn_dead_notes): New.
> (update_n_sets): New.
> (sets_reg_or_subreg_1, sets_reg_or_subreg): New.
> (maybe_remove_dead_notes): New.
> (update_life_info): New.
> (prepend_reg_notes): New.
> (replace_insns): New.
> * output.h (update_life_info): Declare.
> * recog.c (split_block_insns): Use update_life_info.
> * resource.c (find_free_register): Use reg_alloc_order, don't use
> fixed regs, make sure the mode is supported, don't use new regs.
> (reg_dead_p): New.
> * rtl.h (replace_insns): Declare.
> * sched.c (split_hard_reg_notes): Delete.
> (new_insn_dead_notes): Delete.
> (update_n_sets): Delete.
> (update_flow_info): Delete.
Looks reasonable to me.
Note "sched.c" disappeared a few hours ago, so no need to install the changes
to that file :-)
jeff
More information about the Gcc-patches
mailing list