> 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.

Thanks,
Sharad

Reply via email to