On 01/02/2008, Richard Guenther <[EMAIL PROTECTED]> wrote: > On Feb 1, 2008 9:55 PM, Andrew MacLeod <[EMAIL PROTECTED]> wrote: > > > > There are a few things that I'm considering working on for the 4.4 > > release, and I figured I'd see what others thought. Is anyone > > considering/doing similar or related work? > > > > I'll summarize each, and then go into more details. > > > Pass Cleanup > > ----------------- > > > > It would sure be nice to streamline our pass pipeline. One could spend > > the rest of ones life doing this by hand. The 2 biggest problems would > > seem to be: > > * we have no idea whether a pass actually does much > > * and we have no idea whether it was actually useful > > I would add > > * re-ordering passes makes the compiler break >
Re-ordering of passes would be easier if passes destroyed properties when they invalidate it, and the pass manager invoked the necessary TODO_functions to re-create them when a pass asks for a missing property. For example if alias information has gone stale because of some pass, then that pass destroys PROP_alias. Now a later pass requires alias information to do their magic but PROP_alias is missing, so they invoke compute_may_aliases to restore PROP_alias. This was discussed previously here: http://gcc.gnu.org/ml/gcc/2007-09/msg00512.html I have been thinking about this because I needed something similar to enable SSA at -O0 so we can run -Wuninitialized. Cheers, Manuel.