[PATCH] Make vectorizer dumps more comparable
Richard Guenther
rguenther@suse.de
Thu Sep 1 08:13:00 GMT 2011
On Thu, 1 Sep 2011, Ira Rosen wrote:
>
>
> Richard Guenther <rguenther@suse.de> wrote on 01/09/2011 10:33:23 AM:
>
> > On Thu, 1 Sep 2011, Ira Rosen wrote:
> >
> > >
> > >
> > > gcc-patches-owner@gcc.gnu.org wrote on 24/08/2011 02:20:50 PM:
> > > >
> > > > This avoids the file/location clutter in front of each line
> > > > in the vectorizer dump. While this is useful for people
> > > > requesting -fvectorizer-verbose=N in dump files this makes
> > > > you unable to compare dumps for testcases on a branch and trunk.
> > > > It also makes lines excessively long because the testsuite
> > > > filename paths are so long. Very annoying.
> > > >
> > > > (I'd argue also that -fvectorizer-verbose=N dumps to the dump
> > > > file if available and not always to stderr is bogus, but well ...)
> > > >
> > > > This patch has made my life a lot easier debugging the data
> dependence
> > > > stuff.
> > > >
> > > > Bootstrapped and tested on x86_64-unknown-linux-gnu, installed on
> trunk.
> > > >
> > > > Richard.
> > > >
> > > > 2011-08-24 Richard Guenther <rguenther@suse.de>
> > > >
> > > > * tree-vectorizer.c (vect_print_dump_info): Avoid the
> > > > file and location clutter when dumping to dump files.
> > >
> > >
> > > IMO it's a bad idea. It's now impossible to find anything when
> compiling a
> > > big file. How about only removing the file name?
> >
> > How about, as Micha suggested, print the location of the loop
> > we currently investigate from vectorize_loops () where we
> > call find_loop_location () instead?
>
> The problem is that a dump of a single loop can be pretty long, and "start
> to analyze loop..."/"finish to analyze loop..." may be not visible enough.
> I am OK with adding these printings though (in addition to line numbers).
>
> I understand why you didn't like to see the file location, but what's the
> problem with the line number?
Well, it seems to be different what everybody else does and it's
highly redundant for a whole bunch of lines.
But, it solves my diff issue and the overly long lines as well.
Your patch changes both dump-file and stderr printing though,
I did want to preserve stderr printing.
For the dump-file I'd drop the 'line ' prefix and just print '%d: '.
Btw, the diagnostic machinery does _not_ print locations
for note (""), the location information is supposed to be printed
in the heading warning/error. Thus, a much better format for stderr
would be
file.c:12: LOOP NOT VECTORIZED
note: unsupported stmt '....'
as the further notes will be printed with the 'loop location' which
is confusing when dumping statements
Richard.
> Ira
>
> >
> > Richard.
> >
> > > Index: tree-vectorizer.c
> > > ===================================================================
> > > --- tree-vectorizer.c (revision 178374)
> > > +++ tree-vectorizer.c (working copy)
> > > @@ -149,16 +149,12 @@ vect_print_dump_info (enum vect_verbosit
> > > if (!current_function_decl || !vect_dump)
> > > return false;
> > >
> > > - if (dump_file)
> > > - fprintf (vect_dump, "\n");
> > > -
> > > - else if (vect_location == UNKNOWN_LOC)
> > > - fprintf (vect_dump, "\n%s:%d: note: ",
> > > - DECL_SOURCE_FILE (current_function_decl),
> > > + if (vect_location == UNKNOWN_LOC)
> > > + fprintf (vect_dump, "\nline %d: ",
> > > DECL_SOURCE_LINE (current_function_decl));
> > > else
> > > - fprintf (vect_dump, "\n%s:%d: note: ",
> > > - LOC_FILE (vect_location), LOC_LINE (vect_location));
> > > + fprintf (vect_dump, "\nline %d: ",
> > > + LOC_LINE (vect_location));
> > >
> > > return true;
> > > }
> > >
> > > Ira
> > >
> > > >
> > > > Index: gcc/tree-vectorizer.c
> > > > ===================================================================
> > > > --- gcc/tree-vectorizer.c (revision 178028)
> > > > +++ gcc/tree-vectorizer.c (working copy)
> > > > @@ -149,7 +149,10 @@ vect_print_dump_info (enum vect_verbosit
> > > > if (!current_function_decl || !vect_dump)
> > > > return false;
> > > >
> > > > - if (vect_location == UNKNOWN_LOC)
> > > > + if (dump_file)
> > > > + fprintf (vect_dump, "\n");
> > > > +
> > > > + else if (vect_location == UNKNOWN_LOC)
> > > > fprintf (vect_dump, "\n%s:%d: note: ",
> > > > DECL_SOURCE_FILE (current_function_decl),
> > > > DECL_SOURCE_LINE (current_function_decl));
> > > >
> > >
> > >
> >
> > --
> > Richard Guenther <rguenther@suse.de>
> > SUSE / SUSE Labs
> > SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746
> > GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer
>
>
--
Richard Guenther <rguenther@suse.de>
SUSE / SUSE Labs
SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer
More information about the Gcc-patches
mailing list