[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