no_new_pseudos

Alexandre Oliva aoliva@redhat.com
Mon Jul 2 20:43:00 GMT 2007


On Jul  2, 2007, Richard Earnshaw <Richard.Earnshaw@arm.com> wrote:

> On Mon, 2007-07-02 at 12:10 -0400, Kenneth Zadeck wrote:
>> I do not remember if it was stevenb or bonzini that observed that
>> because of changes that came with the dataflow branch it is now trivial
>> to get rid of no_new_pseudos.  All of the sets can just go away, as well
>> as the tests of it that occur in passes that only run before reload.
>> 
>> For those few passes that can run both before and after reload, the test
>> would be replaced with a test of reload_completed.
>> 
>> I believe that the original purpose of this was to protect certain
>> datastructures that had to be resized manually when pseudos were added. 
>> However, all of these are gone, and have been replaced with structures
>> inside of df that are automatically resized.
>> 
>> Does anyone think this is a bad idea?  A grep for no_new_pseudos bears
>> out that nothing is really going on here anymore. 

> There are 199 uses of it in the backends; compared to 32 in the front
> end.

> So it is quite heavily used by MD code.

I recall having used it a number of times in expanders that shouldn't
create new pseudos during reload.  These could easily be turned into
(reload_in_progress || reload_completed).  Maybe we could turn
no_new_pseudos into a macro that expands to this?

-- 
Alexandre Oliva         http://www.lsd.ic.unicamp.br/~oliva/
FSF Latin America Board Member         http://www.fsfla.org/
Red Hat Compiler Engineer   aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist  oliva@{lsd.ic.unicamp.br, gnu.org}



More information about the Gcc mailing list