On Fri, Oct 21, 2011 at 6:48 PM, Xinliang David Li <davi...@google.com> wrote:
> There are two proposals here. One is -fopt-info which prints out
> informational notes to stderr, and the other is -fopt-report which is
> more elaborate form of dump files. Are you object to both or just the
> opt-report one?

What?  I'm objected to adding _two_ variants.  Didn't even realize
you proposed that.

>  The former is no different from any other
> informational notes we already have -- the only difference is that
> they are suppressed by default.

We do not have many informational notes, so it is different.

>>>    ..
>>>  ...
>>
>> I very well understand the intent.  But I disagree with where you start
>> to implement this.  Dump files are _not_ only for developers - after
>> all we don't have anything else.  -fopt-report can get as big and unmanagable
>> to read as dump files - in fact I argue it will be worse than dump files if
>> you go beyond very very coarse reporting.
>
> The problem of using dump files for optimization report is that all
> optimization decisions are 'distributed' in phase specific dumps file.
> For a whole program report, the number of files that are created is
> not manageable (think about a program with 4000 sources each dumping
> 200 files).  If we create a dummy pass and suck in all optimization
> decisions in that pass's dump file -- it will be no different from
> opt-report.

Well, -fopt-whatever will just funnel selected pieces also to stderr.
I object to duplicate dumping when we just need a way to filter
what goes to dump files.

>
>>
>> Yes, dump files are a "mess".  So - why not clean them up, and at the
>> same time annotate dump file pieces so _automatic_ filtering and
>> redirecting to stdout with something like -fopt-report would do something
>> sensible?  I don't see why dump files have to stay messy while you at
>> the same time would need to add _new_ code to dump to stdout for
>> -fopt-report.
>
> In my mind, I would like to separate all dumps into three categories.
>
> 1) IR dumps, and support dump before and after (this reminds me my
> patches are still pending :) )    -fdump-tree-pre-[before|after]-....
>  Dump into .after, .before files
> 2) debug tracing etc:        -fdump-tree-pre-debug-...          Dump
> into .debug files.
> 3) opt report : -fdump-opt or -fopt-report
>
> Changes for 1) and 2) are mechanic but requires lots of work.

You can do that, but I want the passes to use a single mechanism to
feed all three "separated dumps".

>>
>> So, no, please do it the right way that benefits both compiler developers
>> and your "power users".
>>
>> And yes, the right way is not to start adding that -fopt-report switch.
>> The right way is to make dump-files consumable by mere mortals first.
>
> I agree we need to do the right way which needs to be discussed first.
> I would argue that mere mortals will really appreciate opt-info
> (separate from dump file and opt-report).

Well, still what you print with opt-info should be better also be present
with opt-report and in dump files.  Thus it all boils down to be able
to filter what passes put in their dump files.

Richard.

> thanks,
>
> David
>
>>
>> Thanks,
>> Richard.
>>
>>>
>>> Thanks,
>>>
>>> David
>>>
>>>>
>>>> So, please fix dump-files instead.  And for coverage/profiling, fill
>>>> in stuff in a dump-file!
>>>>
>>>> Richard.
>>>>
>>>>> It would be interested to have some warnings about missing SRA
>>>>> opportunities in =1 or =2. I found that sometimes fixing those can give a
>>>>> large speedup.
>>>>>
>>>>> Right now a common case that prevents SRA on structure field
>>>>> is simply a memset or memcpy.
>>>>>
>>>>> -Andi
>>>>>
>>>>>
>>>>> --
>>>>> a...@linux.intel.com -- Speaking for myself only
>>>>>
>>>>
>>>
>>
>

Reply via email to