On Wed, Oct 17, 2012 at 9:32 AM, Sharad Singhai <sing...@google.com> wrote: >> I don't like B), it is unlike everything else a pass does. You seem to >> use the new field to indicate a group - that makes it a flat hierarchy >> which might make it limiting (for example 'vect' may include both loop >> and scalar vectorization, but would 'loop' also include loop vectorization?). >> Using a bitmask and an enum would be my preference for this reason >> (similar to how we have TDF_ flags). Loop vectorization would then >> be vect|loop for example. > > Yes, I was thinking of groups of optimizations as a single high-level > name. But I agree that it is an unnecessary restriction. I will work > towards a set of flags instead. > > Also, another kind of grouping is possible via sub-passes in certain > cases. For example, "loop2" or "early_optimizations" could imply > sub-passes. Not sure how useful that would be.
They are mostly implementation details, so I doubt it is useful to collect information from "parent" passes. Richard. > > Thanks, > Sharad