regclass.c bugfix
Jeffrey A Law
law@cygnus.com
Tue Jan 4 16:33:00 GMT 2000
In message < 14450.26688.254958.703365@ongaonga.elec.canterbury.ac.nz >you writ
e:
> Jeffrey A Law writes:
> > /* Show that an insn inside a loop is likely to be executed
> three
> > ! times more than insns outside a loop. This is much more
> > ! aggressive than the assumptions made elsewhere and is be
> ing
> > ! tried as an experiment.
>
> This comment about being an experiment has been in the sources for
> aeons. Is the experiment over? I assume it was successful! Can we
> replace this comment with the results of observations found over the
> years?
That'd be fine by me -- if someone knew what the observations actually were :-)
I believe it came in via this change:
Sat Jun 27 07:11:28 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
* regclass.c: Major rework of regclass pass to do a better job of
setting up register preferences and replace the "preferred or
nothing" method with a class that should be used if the preferred
class cannot be allocated.
(MEMORY_MOVE_COST): Default value is 4, not 2.
(move_cost, may_move_cost): New arrays.
(init_reg_sets): Initialize them.
(struct costs): Replaces struct savings.
(costs): Replaces savings.
(op_costs): New array.
(altclass): Replaces preferred_or_nothing.
(reg_alternate_class): New function; replaced reg_preferred_or_nothing.
(regclass): Major rework. Use new recording methods; make two
passes if -fexpensive-optimizations; and refine REGNO_POINTER_FLAG
and loop_depth setting.
(record_reg_class): New function; replaces reg_class_record.
(copy_cost): New function.
(record_address_regs): Major changes. New parameters and simplified
and more efficient algorithm for chosing base vs. index regs.
jeff
More information about the Gcc-patches
mailing list