[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gcc
Subject:    Re: [GSOC] LTO dump tool project
From:       Martin_Liška <mliska () suse ! cz>
Date:       2018-06-29 7:25:49
Message-ID: 8ea73612-fc71-084c-3586-1abef3755622 () suse ! cz
[Download RAW message or body]

On 06/27/2018 10:06 PM, Hrishikesh Kulkarni wrote:
> Hi,
> 
> I have added new command line options:
> -no-demangle -> for the default non demangled output
> -no-sort -> for the list of symbols in order of their occurrence
> -alpha-sort -> for the list of symbols in their alphabetical order
> -reverse-sort -> for the list of symbols in reversed order
> -defined-only -> for only the defined symbols

Hi.

Good progress.

> 
> for example:
> 
> ../stage1-build/gcc/lto-dump test_hello.o -fdump-lto-list -alpha-sort
> -demangle -defined-only -reverse-sort

Now as you have a separate tool (lto-dump), you can strip 'fdump-lto' prefix
from the older options.

> 
> will dump
> 
> Symbol Table
>         Name         Type         Visibility         Size
>         main        function        default
>         k        variable        default
>         foo        function        default
>         bar        function        default
> 
> It is a reversed alphabetical order of demangled symbol names which
> have been defined(hence printf excluded).
> Along with this I have also added all previous progress with reference
> to symbol table to the new branch.
> 
> For further options to add like -size-sort and -print-size I tried to
> access size of the symbol with symtab node using
> TREE_INT_CST_LOW(DECL_SIZE(node->decl));
> but I am unable to do so.
> So how should I proceed with it?

Sent advises via instant messaging.

Martin

> 
> Please find the diff file attached herewith. I have also pushed the
> changes to the new branch.
> 
> Please advise,
> 
> Hrishikesh> 
> On Wed, Jun 27, 2018 at 1:15 AM, Hrishikesh Kulkarni
> <hrishikeshparag@gmail.com> wrote:
>> Hi,
>>
>> I have created another branch lto-dump-tool-improved as suggested.
>> I have applied the patch for separation to lto-dump binary, made a few
>> necessary changes in other files and it is running successfully.
>> I will keep on adding previous work to this branch incrementally.
>>
>> Please find the diff file attached for dumping of TREE statistics and
>> GIMPLE statistics.
>>
>> for example:
>> (after configuring with --enable-gather-detailed-mem-stats)
>> -fdump-lto-gimple-stats will dump
>> GIMPLE statements
>> Kind                   Stmts      Bytes
>> ---------------------------------------
>> assignments                0          0
>> phi nodes                  0          0
>> conditionals               0          0
>> everything else            0          0
>> ---------------------------------------
>> Total                      0          0
>> ---------------------------------------
>>
>> -fdump-lto-tree-stats will dump
>>
>> Tree Statistics
>>
>> Kind                   Nodes      Bytes
>> ----------------------------------------
>> decls                   4327     932672
>> types                   1531     257208
>> blocks                     0          0
>> stmts                      0          0
>> refs                       0          0
>> exprs                      4        128
>> constants                 82       2060
>> identifiers             4430     177200
>> vecs                      16      28544
>> binfos                     0          0
>> ssa names                  0          0
>> constructors               0          0
>> random kinds            7301     291952
>> lang_decl kinds            0          0
>> lang_type kinds            0          0
>> omp clauses                0          0
>> ----------------------------------------
>> Total                  17691    1689764
>>
>>
>>
>> Please advise,
>>
>> Hrishikesh
>>
>> On Wed, Jun 27, 2018 at 1:00 AM, Hrishikesh Kulkarni
>> <hrishikeshparag@gmail.com> wrote:
>>> Hi,
>>>
>>> I have created another branch lto-dump-tool-improved as suggested.
>>> I have applied the patch for separation to lto-dump binary, made a few
>>> necessary changes in other files and it is running successfully.
>>> I will keep on adding previous work to this branch incrementally.
>>>
>>> Please find the diff file attached for dumping of TREE statistics and GIMPLE
>>> statistics.
>>>
>>> for example:
>>> (after configuring with --enable-gather-detailed-mem-stats)
>>> -fdump-lto-gimple-stats will dump
>>> GIMPLE statements
>>> Kind                   Stmts      Bytes
>>> ---------------------------------------
>>> assignments                0          0
>>> phi nodes                  0          0
>>> conditionals               0          0
>>> everything else            0          0
>>> ---------------------------------------
>>> Total                      0          0
>>> ---------------------------------------
>>>
>>> -fdump-lto-tree-stats will dump
>>>
>>> Tree Statistics
>>>
>>> Kind                   Nodes      Bytes
>>> ----------------------------------------
>>> decls                   4327     932672
>>> types                   1531     257208
>>> blocks                     0          0
>>> stmts                      0          0
>>> refs                       0          0
>>> exprs                      4        128
>>> constants                 82       2060
>>> identifiers             4430     177200
>>> vecs                      16      28544
>>> binfos                     0          0
>>> ssa names                  0          0
>>> constructors               0          0
>>> random kinds            7301     291952
>>> lang_decl kinds            0          0
>>> lang_type kinds            0          0
>>> omp clauses                0          0
>>> ----------------------------------------
>>> Total                  17691    1689764
>>>
>>>
>>>
>>> Please advise,
>>>
>>> Hrishikesh
>>>
>>>
>>> On Fri, Jun 22, 2018 at 2:29 PM, Martin Liška <mliska@suse.cz> wrote:
>>>>
>>>> On 06/18/2018 10:45 AM, Martin Jambor wrote:
>>>>> Hi,
>>>>>
>>>>> On Sun, Jun 17 2018, Hrishikesh Kulkarni wrote:
>>>>>> Hi,
>>>>>>
>>>>>> I am trying to isolate the dump tool into real lto-dump tool. I have
>>>>>> started with the copy&paste of lto.c into lto-dump.c and done the
>>>>>> changes to Make-lang.in and config-lang.in suggested by Martin (patch
>>>>>> attached). However when I try to build, I get the following error:
>>>>>>
>>>>>> In file included from ../../gcc/gcc/lto/lto-dump.c:24:0:
>>>>>>
>>>>>> ../../gcc/gcc/coretypes.h:397:24: fatal error: insn-modes.h: No such
>>>>>>
>>>>>> file or directory
>>>>>>
>>>>>> compilation terminated.
>>>>>>
>>>>>>
>>>>>> I am unable to find the missing dependencies and would be grateful for
>>>>>> suggestions on how to resolve the issue.
>>>>>
>>>>> insn-modes.h is one of header files which are generated at build time,
>>>>> you will find it in the gcc subdirectory of your build directory (as
>>>>> opposed to the source directory).
>>>>>
>>>>> Martin
>>>>>
>>>>
>>>> Hi.
>>>>
>>>> There's patch that works for me.
>>>> Needed dependency is here:
>>>>
>>>> +lto/lto-dump.o: $(LTO_EXE)
>>>>
>>>> It's bit artificial, but for now it works. Please start working
>>>> on separation of dump infrastructure to lto-dump.c. You'll need
>>>> to factor out common code shared in between lto.c and lto-dump.c.
>>>>
>>>> Martin
>>>
>>>

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic