On Thu, Sep 27, 2012 at 4:35 AM, Sharad Singhai <sing...@google.com> wrote:
> 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.
>

You can make the flags/streams global but only expose them via inline
accessors in the header file.

David

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

Reply via email to