diff mbox

[PATCH/AARCH64] Have the verbose cost model output output be controllable

Message ID CA+=Sn1mOJZya_f7YBNujizEowo8ijbBqchVj7DzfsnZEugd2RQ@mail.gmail.com
State New
Headers show

Commit Message

Andrew Pinski Sept. 24, 2016, 5:46 a.m. UTC
Hi,
  As reported in PR 61367, the aarch64 back-end is too verbose when it
is dealing with the cost model.  I tend to agree, no other back-end is
this verbose.  So I decided to add an option to enable this verbose
output if requested.

I did NOT document it in invoke.texi because I don't feel like this is
an option which an user should use.  But I can add it if requested.

OK?  Bootstrapped and tested on aarch64-linux-gnu with no regressions.

Thanks,
Andrew Pinski

ChangeLog:
* config/aarch64/aarch64.opt (mverbose-cost-dump): New option.
* config/aarch64/aarch64.c (aarch64_rtx_costs): Use
flag_aarch64_verbose_cost instead of checking for details dump.
(aarch64_rtx_costs_wrapper): Likewise.

Comments

Andrew Pinski Oct. 6, 2016, 10:11 p.m. UTC | #1
On Fri, Sep 23, 2016 at 10:46 PM, Andrew Pinski <pinskia@gmail.com> wrote:
> Hi,
>   As reported in PR 61367, the aarch64 back-end is too verbose when it
> is dealing with the cost model.  I tend to agree, no other back-end is
> this verbose.  So I decided to add an option to enable this verbose
> output if requested.
>
> I did NOT document it in invoke.texi because I don't feel like this is
> an option which an user should use.  But I can add it if requested.
>
> OK?  Bootstrapped and tested on aarch64-linux-gnu with no regressions.

Ping?

>
> Thanks,
> Andrew Pinski
>
> ChangeLog:
> * config/aarch64/aarch64.opt (mverbose-cost-dump): New option.
> * config/aarch64/aarch64.c (aarch64_rtx_costs): Use
> flag_aarch64_verbose_cost instead of checking for details dump.
> (aarch64_rtx_costs_wrapper): Likewise.
Kyrill Tkachov Oct. 7, 2016, 8:01 a.m. UTC | #2
Hi Andrew,

On 24/09/16 06:46, Andrew Pinski wrote:
> Hi,
>    As reported in PR 61367, the aarch64 back-end is too verbose when it
> is dealing with the cost model.  I tend to agree, no other back-end is
> this verbose.  So I decided to add an option to enable this verbose
> output if requested.
>
> I did NOT document it in invoke.texi because I don't feel like this is
> an option which an user should use.  But I can add it if requested.
>
> OK?  Bootstrapped and tested on aarch64-linux-gnu with no regressions.
>
> Thanks,
> Andrew Pinski
>
> ChangeLog:
> * config/aarch64/aarch64.opt (mverbose-cost-dump): New option.
> * config/aarch64/aarch64.c (aarch64_rtx_costs): Use
> flag_aarch64_verbose_cost instead of checking for details dump.
> (aarch64_rtx_costs_wrapper): Likewise.

I'm okay with the idea, but I can't approve (cc'ing people who can).
One nit:

+mverbose-cost-dump
+Common Var(flag_aarch64_verbose_cost)
+Enables verbose cost model dummping in the debug dump files.

You should add "Undocumented" to that.
I don't think the option is major enough to warrant an entry in invoke.texi.
It's only for aarch64 backend developers who know exactly what they're looking for.

Cheers,
Kyrill
Andrew Pinski Nov. 15, 2016, 4:48 p.m. UTC | #3
On Fri, Oct 7, 2016 at 1:01 AM, Kyrill Tkachov
<kyrylo.tkachov@foss.arm.com> wrote:
> Hi Andrew,
>
>
> On 24/09/16 06:46, Andrew Pinski wrote:
>>
>> Hi,
>>    As reported in PR 61367, the aarch64 back-end is too verbose when it
>> is dealing with the cost model.  I tend to agree, no other back-end is
>> this verbose.  So I decided to add an option to enable this verbose
>> output if requested.
>>
>> I did NOT document it in invoke.texi because I don't feel like this is
>> an option which an user should use.  But I can add it if requested.
>>
>> OK?  Bootstrapped and tested on aarch64-linux-gnu with no regressions.
>>
>> Thanks,
>> Andrew Pinski
>>
>> ChangeLog:
>> * config/aarch64/aarch64.opt (mverbose-cost-dump): New option.
>> * config/aarch64/aarch64.c (aarch64_rtx_costs): Use
>> flag_aarch64_verbose_cost instead of checking for details dump.
>> (aarch64_rtx_costs_wrapper): Likewise.
>
>
> I'm okay with the idea, but I can't approve (cc'ing people who can).

Ping?


> One nit:
>
> +mverbose-cost-dump
> +Common Var(flag_aarch64_verbose_cost)
> +Enables verbose cost model dummping in the debug dump files.
>
> You should add "Undocumented" to that.
> I don't think the option is major enough to warrant an entry in invoke.texi.
> It's only for aarch64 backend developers who know exactly what they're
> looking for.
>
> Cheers,
> Kyrill
>
>
James Greenhalgh Nov. 15, 2016, 5:01 p.m. UTC | #4
On Tue, Nov 15, 2016 at 08:48:04AM -0800, Andrew Pinski wrote:
> On Fri, Oct 7, 2016 at 1:01 AM, Kyrill Tkachov
> <kyrylo.tkachov@foss.arm.com> wrote:
> > Hi Andrew,
> >
> >
> > On 24/09/16 06:46, Andrew Pinski wrote:
> >>
> >> Hi,
> >>    As reported in PR 61367, the aarch64 back-end is too verbose when it
> >> is dealing with the cost model.  I tend to agree, no other back-end is
> >> this verbose.  So I decided to add an option to enable this verbose
> >> output if requested.
> >>
> >> I did NOT document it in invoke.texi because I don't feel like this is
> >> an option which an user should use.  But I can add it if requested.
> >>
> >> OK?  Bootstrapped and tested on aarch64-linux-gnu with no regressions.
> >>
> >> Thanks,
> >> Andrew Pinski
> >>
> >> ChangeLog:
> >> * config/aarch64/aarch64.opt (mverbose-cost-dump): New option.
> >> * config/aarch64/aarch64.c (aarch64_rtx_costs): Use
> >> flag_aarch64_verbose_cost instead of checking for details dump.
> >> (aarch64_rtx_costs_wrapper): Likewise.
> >
> >
> > I'm okay with the idea, but I can't approve (cc'ing people who can).
> 
> Ping?

I think after having AArch64 back-end developers frustrated by the mountains
of dump output for two years it is a good time to relent...

This is OK with Kyrill's change applied.

Thanks,
James

> 
> 
> > One nit:
> >
> > +mverbose-cost-dump
> > +Common Var(flag_aarch64_verbose_cost)
> > +Enables verbose cost model dummping in the debug dump files.
> >
> > You should add "Undocumented" to that.
> > I don't think the option is major enough to warrant an entry in invoke.texi.
> > It's only for aarch64 backend developers who know exactly what they're
> > looking for.
> >
> > Cheers,
> > Kyrill
> >
> >
diff mbox

Patch

Index: config/aarch64/aarch64.c
===================================================================
--- config/aarch64/aarch64.c	(revision 240461)
+++ config/aarch64/aarch64.c	(working copy)
@@ -7351,7 +7351,8 @@ 
       break;
     }
 
-  if (dump_file && (dump_flags & TDF_DETAILS))
+  if (dump_file
+      && flag_aarch64_verbose_cost)
     fprintf (dump_file,
       "\nFailed to cost RTX.  Assuming default cost.\n");
 
@@ -7367,7 +7368,8 @@ 
 {
   bool result = aarch64_rtx_costs (x, mode, outer, param, cost, speed);
 
-  if (dump_file && (dump_flags & TDF_DETAILS))
+  if (dump_file
+      && flag_aarch64_verbose_cost)
     {
       print_rtl_single (dump_file, x);
       fprintf (dump_file, "\n%s cost: %d (%s)\n",
Index: config/aarch64/aarch64.opt
===================================================================
--- config/aarch64/aarch64.opt	(revision 240461)
+++ config/aarch64/aarch64.opt	(working copy)
@@ -167,3 +167,7 @@ 
 Enable the division approximation.  Enabling this reduces
 precision of division results to about 16 bits for
 single precision and to 32 bits for double precision.
+
+mverbose-cost-dump
+Common Var(flag_aarch64_verbose_cost)
+Enables verbose cost model dummping in the debug dump files.