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