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.

Reply via email to