alter (misapplied patch?)

Bernd Schmidt crux@pool.informatik.rwth-aachen.de
Fri Apr 30 23:15:00 GMT 1999


On Thu, 8 Apr 1999, Mike Stump wrote:

> In ChangeLog there is an entry that reads in part:
> 
>         For every pseudo in spilled_pseudos, spill it and mark the previous
>         hard reg it had in pseudo_previous_regs.  Compute which hard regs
>         arseudo): New static function.
>         (order_regs_for_reload): Take CHAIN arg.  All callers changed.
>         Initialize bad_spill_regs from bad_spill_regs_global, then merge any
> 
> I think right in the middle, something went missing.

You can find the correct version in
http://www.cygnus.com/ml/egcs-patches/1998-Oct/0625.html

It reads:

        (finish_spills): Return int.  All callers changed.
        Compute spill_reg_order, n_spills and spill_regs here.  Also update
        regs_ever_live for regs used as spills.
        For every pseudo in spilled_pseudos, spill it and mark the previous
        hard reg it had in pseudo_previous_regs.  Compute which hard regs
        are used as spills in insns during which it is live, and retry global
        register allocation.  Update all life information in the
        reload_insn_chain not to include pseudos without hard regs.
        Call alter_reg for all affected speudos.

        (scan_paradoxical_subregs): Disable SMALL_REGISTER_CLASSES special
        case, it's not clear what it's supposed to do.

        (hard_reg_use_compare): Take bad_spill_regs into account.
        (pseudos_counted): New static variable.
        (count_pseudo): New static function.

Bernd




More information about the Gcc-bugs mailing list