RFA: patch to remove the old RA

Vladimir Makarov vmakarov@redhat.com
Thu Dec 11 23:41:00 GMT 2008

Vladimir Makarov wrote:
> Kaz Kojima wrote:
> Thanks, Kaz.  I've made a mistake.  I should have checked config 
> sources too.  6 targets actually uses call_really_used_regs.  I'll 
> send a modified patch after I check more targets (ppc and itanium) not 
> only x86/x86_64.

I've checked more targets (ppc64 and itanium) and found one more 
mistake.  Here is an additional patch (it should be applied after the 
first patch I sent day before yesterday) and a new modified ChangeLog 
entry.  Because the patch itself is big, I am sending only additional 
patch and not sending the new version of it.  But I'll send the final 
version of the patch in any case after approval for reference purposes 
if somebody wants to restore the old RA in future.

2008-12-09  Vladimir Makarov  <vmakarov@redhat.com>

    * 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):

    * 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

    * 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.
    (reg_class_superclasses, forbidden_inc_dec_class, in_inc_dec):
    (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
    (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):

    * 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
    (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

    * 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.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: add.patch
Type: text/x-patch
Size: 4883 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20081211/06b75a90/attachment.bin>

More information about the Gcc-patches mailing list