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