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 > <hrishikeshpa...@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 >> <hrishikeshpa...@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 <mli...@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 >>> >>>