RFA: patch to remove the old RA

Vladimir Makarov vmakarov@redhat.com
Wed Dec 10 02:24:00 GMT 2008

Here is the patch removing the old RA.  The patch removes global.c, 
ra-conflict.c fully and big part of regclass.c and regmove.c.  I also 
regclass.c to reginfo.c because the old name wrongly would reflect its 

The patch was successfully bootstrapped on x86/x86_64.

Ok to commit?

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 (call_really_used_regs,
    losing_caller_save_reg_set): Remove.

    * regmove.c: Modify file description.
    (find_use_as_address, try_auto_increment, 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.
    (call_really_used_regs): Make static.
    (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: remove-old-ra.patch.gz
Type: application/x-gzip
Size: 103950 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20081210/a67cb81d/attachment.bin>

More information about the Gcc-patches mailing list