This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Ping: patch to remove the old RA
- From: Kenneth Zadeck <zadeck at naturalbridge dot com>
- To: Vladimir Makarov <vmakarov at redhat dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>, Jeffrey Law <law at redhat dot com>, Jakub Jelinek <jakub at redhat dot com>
- Date: Wed, 28 Jan 2009 17:53:17 -0500
- Subject: Re: Ping: patch to remove the old RA
- References: <4980D6C6.1040504@redhat.com>
Vladimir Makarov wrote:
> The original patches were posted on
>
> http://gcc.gnu.org/ml/gcc-patches/2008-12/msg00613.html
> http://gcc.gnu.org/ml/gcc-patches/2008-12/msg00741.html
>
> I am sending an updated version of the patch here because a few recent
> IRA patches resulted in the patch updates too.
>
> The current patch was successfully bootstrapped on x86, x86_64,
> itanium, and ppc64 on yesterday trunk.
>
> Ok to submit?
>
this appears to be ok to me also.
I am a little surprised that more of reload did not go away. I assumed
that there were significant portions that were only called from lreg or
greg. Did vlad check to see how much of reload was still callable?
kenny
>
> 2008-01-28 Vladimir Makarov <vmakarov@redhat.com>
>
> * doc/tm.texi (TARGET_IRA_COVER_CLASSES): Modify description.
> * doc/passes.texi: Remove entries about regclass, local-alloc, and
> global. Modify entries about regmove and IRA.
>
> * ra-conflict.c: Remove the file.
>
> * reload.c (push_reload, find_dummy_reload): Remove flag_ira.
>
> * tree-pass.h (pass_local_alloc, pass_global_alloc): Remove.
> (pass_regclass_init): Rename to pass_reginfo_init.
>
> * cfgloopanal.c (estimate_reg_pressure_cost): Remove flag_ira.
>
> * toplev.h (flag_ira): Remove.
>
> * caller-save.c (setup_save_areas): Remove flag_ira.
>
> * ira-color.c (ira_reuse_stack_slot, ira_mark_new_stack_slot):
> Ditto.
>
> * global.c: Remove the file.
>
> * opts.c: (decode_options): Remove flag_ira.
>
> * hard-reg-set.h (losing_caller_save_reg_set): Remove.
>
> * regmove.c: Modify file description.
> (find_use_as_address, try_auto_increment): Define them only if
> AUTO_INC_DEC is defined.
> (replacement_quality, replace_in_call_usage, fixup_match_1,
> stable_and_no_regs_but_for_p): Remove.
> (reg_set_in_bb): Make it static.
> (regmove_optimize): Remove flag_ira and code which worked for
> !flag_ira.
>
> * local-alloc.c: Remove the file.
>
> * common.opt (fira): Remove.
>
> * ira.c: Include except.h.
> (eliminable_regset): Move from global.c.
> (mark_elimination): Ditto. Remove flag_ira.
> (reg_renumber, struct equivalence, reg_equiv, equiv_mem,
> equiv_mem_modified, validate_equiv_mem_from_store,
> validate_equiv_mem, equiv_init_varies_p, equiv_init_movable_p,
> contains_replace_regs, memref_referenced_p, memref_used_between_p,
> no_equiv, recorded_label_ref): Move from local-alloc.c.
> (update_equiv_regs): Ditto. Make it static.
> (print_insn_chain, print_insn_chains): Move it from global.c.
> pseudo_for_reload_consideration_p): Ditto. Remove flag_ira.
> (build_insn_chain): Ditto. Make it static.
> (ra_init_live_subregs): Move from ra-conflict.c. Make it static.
> Rename to init_live_subregs.
> (gate_ira): Remove flag_ira.
>
> * regclass.c: Rename reginfo.c. Change file description.
> (FORBIDDEN_INC_DEC_CLASSES): Remove.
> (reg_class_superclasses, forbidden_inc_dec_class, in_inc_dec):
> Remove.
> (init_reg_sets_1): Remove code for evaluation of
> reg_class_superclasses and losing_caller_save_reg_set.
> (init_regs): Remove init_reg_autoinc.
> (struct costs, costs, init_cost, ok_for_index_p_nonstrict,
> ok_for_base_p_nonstrict): Remove.
> (regclass_init): Rename to reginfo_init. Don't initialize
> init_cost.
> (pass_regclass_init): Rename to pass_reginfo_init. Modify
> corresponding entries.
> (dump_regclass, record_operand_costs, scan_one_insn,
> init_reg_autoinc, regclass, record_reg_classes, copy_cost,
> record_address_regs, auto_inc_dec_reg_p): Remove.
> (gt-regclass.h): Rename to gt-reginfo.h.
>
> * rtl.h (dump_global_regs, retry_global_alloc,
> build_insn_chain, dump_local_alloc, update_equiv_regs):
> Remove.
>
> * Makefile.in (RA_H): Remove.
> (OBJS-common): Remove global.o, local-alloc.o, and ra-conflict.o.
> Rename regclass.o to reginfo.o.
> (regclass.o): Rename to reginfo.o. Rename gt-regclass.h to
> gt-reginfo.h.
> (global.o, local-alloc.o, ra-conflict.o): Remove entries.
> (GTFILES): Rename regclass.c to reginfo.c.
>
> * passes.c (init_optimization_passes): Remove pass_local_alloc and
> pass_global_alloc. Rename pass_regclass_init to
> pass_reginfo_init.
>
> * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
> count_spilled_pseudo, find_reg, alter_reg, delete_output_reload):
> Remove flag_ira.
> (finish_spills): Ditto. Remove code for !flga_ira.
>