Thanks for the review. A couple of comments inline:
> Some minor issues:
>
> * c/c-decl.c (c_write_global_declarations): Use different method to
> determine if the dump has ben initialized.
> * cp/decl2.c (cp_write_global_declarations): Ditto.
> * testsuite/gcc.target/i386/vect-double-1.c: Fix test.
>
> these subdirs all have their separate ChangeLog entry from where the
> directory name is omitted.
>
> Index: tree-dump.c
> ===================================================================
> --- tree-dump.c (revision 191490)
> +++ tree-dump.c (working copy)
> @@ -24,9 +24,11 @@ along with GCC; see the file COPYING3. If not see
> #include "coretypes.h"
> #include "tm.h"
> #include "tree.h"
> +#include "gimple-pretty-print.h"
> #include "splay-tree.h"
> #include "filenames.h"
> #include "diagnostic-core.h"
> +#include "rtl.h"
>
> what do you need gimple-pretty-print.h and rtl.h for?
>
> +
> +extern void dump_bb (FILE *, basic_block, int, int);
> +
>
> that should be declared in some header
>
> +/* Dump gimple statement GS with SPC indentation spaces and
> + EXTRA_DUMP_FLAGS on the dump streams if DUMP_KIND is enabled. */
> +
> +void
> +dump_gimple_stmt (int dump_kind, int extra_dump_flags, gimple gs, int spc)
> +{
>
> the gimple stuff really belongs in to gimple-pretty-print.c
This dump_gimple_stmt () is just a dispatcher, which uses internal
data structure such as dump streams/flags. If I move it into
gimple-pretty-print.c, then I would have to export those
streams/flags. I was hoping to avoid it by keeping all dump_* ()
methods together in dumpfile.c (earlier in tree-dump.c). Thus, later
one could just make dump_file/dump_flags static when all the passes
have converted to this scheme.
>
> (parts of tree-dump.c should be moved to a new file dumpfile.c)
>
> +/* Dump tree T using EXTRA_DUMP_FLAGS on dump streams if DUMP_KIND is
> + enabled. */
> +
> +void
> +dump_generic_expr (int dump_kind, int extra_dump_flags, tree t)
> +{
>
> belongs to tree-pretty-print.c (to where the routines are it calls)
This is again a dispatcher for dump_generic_expr () which writes to
the appropriate stream depending upon dump_kind.
>
> +int
> +dump_start (int phase, int *flag_ptr)
> +{
>
> perfect candidate for dumpfile.c
>
> You can do this re-shuffling as followup, but please try to not include rtl.h
> or gimple-pretty-print.h from tree-dump.c. Thus re-shuffling required by that
> do now. tree-dump.c should only know about dumping 'tree'.
Okay, I have moved relevant methods into dumpfile.c.
>
> Index: tree-dump.h
> ===================================================================
> --- tree-dump.h (revision 191490)
> +++ tree-dump.h (working copy)
> @@ -22,6 +22,7 @@ along with GCC; see the file COPYING3. If not see
> #ifndef GCC_TREE_DUMP_H
> #define GCC_TREE_DUMP_H
>
> +#include "input.h"
>
> probably no longer required.
>
> Index: dumpfile.h
> ===================================================================
> --- dumpfile.h (revision 191490)
> +++ dumpfile.h (working copy)
> @@ -22,6 +22,9 @@ along with GCC; see the file COPYING3. If not see
> #ifndef GCC_DUMPFILE_H
> #define GCC_DUMPFILE_H 1
>
> +#include "coretypes.h"
> +#include "input.h"
>
> likewise for input.h.
>
> Index: testsuite/gcc.target/i386/vect-double-1.c
> ===================================================================
> --- testsuite/gcc.target/i386/vect-double-1.c (revision 191490)
> +++ testsuite/gcc.target/i386/vect-double-1.c (working copy)
> @@ -32,5 +32,5 @@ sse2_test (void)
> }
> }
>
> -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
> +/* { dg-final { scan-tree-dump-times "Vectorized loops: 1" 1 "vect" } } */
> /* { dg-final { cleanup-tree-dump "vect" } } */
>
> I am sure you need a gazillion more testsuite adjustments? Thus, did you
> really test the patch by a bootstrap and a toplevel make -k check for
> regressions?
>
> Index: opts.c
> ===================================================================
> --- opts.c (revision 191490)
> +++ opts.c (working copy)
> @@ -25,6 +25,7 @@ along with GCC; see the file COPYING3. If not see
> #include "system.h"
> #include "intl.h"
> #include "coretypes.h"
> +#include "dumpfile.h"
>
> I don't see that you add a use for this. Please double-check all your include
> file changes.
>
> Index: gimple-pretty-print.c
> ===================================================================
> --- gimple-pretty-print.c (revision 191490)
> +++ gimple-pretty-print.c (working copy)
> @@ -69,7 +69,7 @@ maybe_init_pretty_print (FILE *file)
> }
> ...
> Index: gimple-pretty-print.h
> ===================================================================
> --- gimple-pretty-print.h (revision 191490)
> +++ gimple-pretty-print.h (working copy)
> @@ -31,6 +31,6 @@ extern void debug_gimple_seq (gimple_seq);
> extern void print_gimple_seq (FILE *, gimple_seq, int, int);
> extern void print_gimple_stmt (FILE *, gimple, int, int);
> extern void print_gimple_expr (FILE *, gimple, int, int);
> -extern void dump_gimple_stmt (pretty_printer *, gimple, int, int);
> +extern void pp_gimple_stmt_1 (pretty_printer *, gimple, int, int);
>
> it looks like changes to these files are only renaming of existing
> dump_ functions
> to print_ functions. Consider testing and applying those separately (hereby
> pre-approved).
>
> Index: profile.c
> ===================================================================
> --- profile.c (revision 191490)
> +++ profile.c (working copy)
> @@ -52,6 +52,7 @@ along with GCC; see the file COPYING3. If not see
>
> please leave further changes to passes as followup, thus omit changes to this
> file for the initial commit and submit it separately.
Okay.
>
>
> Index: rtl.h
> ===================================================================
> --- rtl.h (revision 191490)
> +++ rtl.h (working copy)
> @@ -2482,8 +2482,8 @@ extern bool validate_subreg (enum machine_mode, en
> /* In combine.c */
> extern unsigned int extended_count (const_rtx, enum machine_mode, int);
> extern rtx remove_death (unsigned int, rtx);
> -extern void dump_combine_stats (FILE *);
> -extern void dump_combine_total_stats (FILE *);
> +extern void debug_combine_stats (FILE *);
> +extern void print_combine_total_stats (FILE *);
> extern rtx make_compound_operation (rtx, enum rtx_code);
> Index: combine.c
> ===================================================================
> --- combine.c (revision 191490)
> +++ combine.c (working copy)
> ...
>
> Likewise a patch just doing this re-name is pre-approved and should be checked
> in separately.
>
> @@ -410,6 +419,10 @@ handle_common_deferred_options (void)
> stack_limit_rtx = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (opt->arg));
> break;
>
> + case OPT_ftree_vectorizer_verbose_:
> + dump_remap_tree_vectorizer_verbose (opt->arg);
> + break;
> +
>
> can you please move that function here (opts-global.c) and make it static?
Done.
>
> Index: Makefile.in
> ===================================================================
> --- Makefile.in (revision 191490)
> +++ Makefile.in (working copy)
>
> remember to adjust for any changes you do above
>
> Otherwise the patch looks ok to me.
>
> Thanks,
> Richard.
Thanks,
Sharad