Ian Lance Taylor
Wed Jul 4 17:03:00 GMT 2007

Richard Sandiford <> writes:

> Ian Lance Taylor <> writes:
> > Richard Sandiford <> writes:
> >> What about the earlier idea of keeping no_new_pseudos and making it
> >> equivalent to "reload_in_progress || reload_completed", either by being
> >> a macro or by being a variable?
> >
> > I would prefer to get rid of it and clean up afterward.
> So which of (1) and (2) from my message do think is best?  Replace backend
> uses with "reload_completed" when doing so is safe, or consistently replace
> it with "reload_in_progress || reload_completed" throughout the backends?

The latter, followed by a cleanup.  In many cases it can simply drop
out.  In the current framework, the only cases where it needs to be
checked are in the move expanders.

That said, I would not object to a new global variable,
before_regalloc or may_create_pseudos or something like that, meaning
that it is OK to freely create new pseudo-registers.  I don't like
no_new_pseudos because it is a negative flag and because of the
historical baggage that it carries.

I don't think we should get too carried away with the scope of this
change.  For example, the MIPS backend only refers to no_new_pseudos
six times, and two of them can be deleted after this change is made.


More information about the Gcc mailing list