[ Moved from gcc-patches ] On Tuesday 10 January 2006 11:26, Zdenek Dvorak wrote:
> > > http://gcc.gnu.org/ml/gcc-patches/2005-12/msg00670.html > > > -- a patch to make dumps in several loop optimization passes > > > (ivopts, vectorizer, ...) easier to read, by having scev & data > > > dependence analysis dumps disabled by default > > > > Not completely OK. When I specify -details, I want every piece of > > information produced by the pass. > > It's fine with me if you want to add a specific -analysis switch that > > is orthogonal from -details. But with your patch, -details would not > > print everything in the scev and data dependence dumps. > > > > A simple tweak to this patch would give us both things. Make > > TDF_DETAILS include TDF_ANALYSIS in its bitmask. In fact, we could > > even have: > > > > #define TDF_DETAILS (1<<3) | TDF_ANALYSIS | TDF_STATS > > the point of this patch is that I want to be able to show everything > -details shows now, except for what -analysis does (because the dumps > covered by -analysis are almost never useful, except for the case there > is a bug in one of those analyses). I do not really care whether > -analysis dumps are shown by default, I just want to have a simple way > how to disable them while still preserving the other -details dumps. Is > that possible in the solution you propose? > Well, my intent with -details has always been to have the pass dump *everything* it knows how to dump. I never really wanted to filter it out in anyway. When you brought this up, I noticed that we never had TDF_STATS included in TDF_DETAILS (perhaps because very few passes use TDF_STATS), that's why I proposed adding it. You bring an interesting point, though. Should we allow each pass dictate the meaning of TDF_DETAILS? Or would it be better to have a universal meaning for it? My inclination is to have -details always show everything there is to show without any filtering. This gives us a universal switch to use when someone is not sure what information to dump. One can start with everything and then work down from there. If a pass wants to do something less than "dump everything", it should have other TDF_* flags. Thoughts?