On Fri, Aug 30, 2013 at 9:58 PM, Teresa Johnson <tejohn...@google.com> wrote: >>>>> Besides, we might also want to >>>>> use the same machinery (dump_printf_loc etc) for dump file dumping. >>>>> The current behavior of using '-details' to turn on opt-info-all >>>>> messages for dump files are not desirable. >>>> >>>> Interestingly, this doesn't even work. When I do >>>> -fdump-ipa-inline-details=stderr (with my patch containing the inliner >>>> messages) I am not getting those inliner messages emitted to stderr. >>>> Even though in dumpfile.c "details" is set to (TDF_DETAILS | >>>> MSG_OPTIMIZED_LOCATIONS | MSG_MISSED_OPTIMIZATION | MSG_NOTE). I'm not >>>> sure why, but will need to debug this. >>> >>> It works for vectorizer pass. >> >> Ok, let me see what is going on - I just confirmed that it is not >> working for the loop unroller messages either. >> > > Found the issue. The stream was incorrectly being closed when it was > stderr/stdout. So only the dump output before the first dump_finish > call was being emitted to stderr. I fixed this the same way the > alt_dump_file was being handled just below - don't close if it is > stderr/stdout. Confirmed that this fixes the problem. > > (So the real ratio between the volume of -fdump-...=stderr and > -fopt-info is much higher than what I reported in an earlier email) > > Is the following patch ok, pending regression tests? > > 2013-08-30 Teresa Johnson <tejohn...@google.com> > > * dumpfile.c (dump_finish): Don't close stderr/stdout. > > Index: dumpfile.c > =================================================================== > --- dumpfile.c (revision 202059) > +++ dumpfile.c (working copy) > @@ -450,7 +450,8 @@ dump_finish (int phase) > if (phase < 0) > return; > dfi = get_dump_file_info (phase); > - if (dfi->pstream) > + if (dfi->pstream && strcmp("stderr", dfi->pfilename) != 0 > + && strcmp("stdout", dfi->pfilename) != 0) > fclose (dfi->pstream); > > if (dfi->alt_stream && strcmp("stderr", dfi->alt_filename) != 0
Yes, this is clearly a bug which I missed. Thanks for fixing it. Is it feasible to add a test case for it? Thanks, Sharad > Thanks, > Teresa