Change behavior of -fsched-verbose option
Nikolai Bozhenov
n.bozhenov@samsung.com
Thu Oct 22 16:12:00 GMT 2015
On 10/22/2015 06:56 PM, Bernd Schmidt wrote:
> On 10/22/2015 05:38 PM, Nikolai Bozhenov wrote:
>
>> Currently -fsched-verbose option redirects debugging dumps to stderr
>> if there is no dump_file for the current pass. It would be fine if
>> there were the only scheduling pass. But for example for AArch64
>> there are 3 scheduling passes in the default pipeline: sched1,
>> fusion and sched2. So, when passing options like
>> -fsched-verbose=7 -fdump-rtl-sched1 to GCC I get a neat dump for
>> sched1 in the file and a mess of fusion/sched2 logs in the console.
>
>> * haifa-sched.c (setup_sched_dump): Don't redirect output to stderr.
>> * common.opt (-fsched-verbose): Set default value to 1.
>> * invoke.texi (-fsched-verbose): Update the option's description.
>
> That looks sensible, I agree that dumping to stderr does not make much
> sense. When in the debugger you can still set sched_dump to stderr if
> you want.
>
>> + if (!dump_file)
>> + sched_verbose = 0;
>
> Do you even need that? Otherwise, patch OK.
>
>
> Bernd
>
Most loggers look like
if (sched_verbose >= 4)
fprintf (sched_dump, ";;\tAdvance the current state.\n");
So, we need to make sure that sched_verbose is set to zero if
there's no dump_file. Otherwise, we'll be writing to NULL file
pointer.
Thanks,
Nikolai
More information about the Gcc-patches
mailing list