Use pass manager for RTL passes 1/4: add pass structs for RTL passes

Paolo Bonzini paolo.bonzini@lu.unisi.ch
Mon May 23 08:37:00 GMT 2005


This patch is part 1 of 4 patches to convert the RTL passes to use the 
pass manager.  The rest_of_* functions remain, and they do not get any 
simpler, but they are moved to the correct file.  Kazu can then get mad 
detecting functions that can now be made static (I did not do it because 
this patch was already pretty hard to maintain).

Note that GCC will not compile with the four patches one at a time.  I 
only split them to ease reviews.

This part creates the pass structs, the gate functions, and moves the 
rest_of_* functions to the appropriate files.  Garbage collections, 
verifications, etc. are done using TODO_* flags, everything else is 
pretty much the same.

The only functional change is that reload_completed is reset if reload 
failed (in global.c).  This makes no difference in practice, because 
reload_completed is not used while cleaning the state (see 
rest_of_clean_state, now in final.c).  It will be used to avoid doing 
postreload optimizations if reload fails.

Paolo

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: rtl-add-passes.patch
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20050523/7c3f8da4/attachment.ksh>


More information about the Gcc-patches mailing list