[LLVMdev] Enable Detailed Output llvm-bcanalyzer

ajonwa ajonwa ajonwa at gmx.com
Sun Nov 6 02:46:09 PST 2011


Chad,

 Yes it helps, thanks. I have started hacking bitcode-analyzer.


 ---ajonwa 

----- Original Message -----
From: Chad Rosier
Sent: 11/05/11 09:07 PM
To: ajonwa ajonwa
Subject: Re: [LLVMdev] Enable Detailed Output llvm-bcanalyzer

 ajonwa,
 It will provide some of the information you're seeking, but not all. Here's a partial dump from one of the bitcode test cases:

 ./llvm-bcanalyzer ~/llvm/test/Bitcode/spirit-llvm-2.9.ll.bc 2>&1 | less

 Block ID #12 (FUNCTION_BLOCK):
 Num Instances: 4370
 Total Size: 3696434b/462054.25B/115513W
 Percent of file: 28.9617%
 Average Size: 845.87/105.73B/26W
 Tot/Avg SubBlocks: 5365/1.227689e+00
 Tot/Avg Abbrevs: 0/0.000000e+00
 Tot/Avg Records: 65553/1.500069e+01
 Percent Abbrevs: 32.9809%

 Record Histogram:
 Count # Bits % Abv Record Kind
 11024 705536 INST_STORE
 10930 295098 100.00 INST_LOAD
 10519 575014 INST_ALLOCA
 8444 692924 INST_CALL
 5714 217132 100.00 INST_CAST
 4370 54722 100.00 INST_RET
 4370 96188 DECLAREBLOCKS
 3791 263822 INST_INBOUNDS_GEP
 2209 64912 INST_BR
 1805 173588 INST_INVOKE
 1269 88794 INST_GEP
 476 30464 INST_CMP2
 445 1780 100.00 INST_UNREACHABLE
 161 7378 100.00 INST_BINOP
 21 1488 INST_PHI
 4 160 INST_EXTRACTVAL
 1 94 INST_SWITCH

 The above tells you there are 4379 functions in the bitcode file. Globally, there are 11024 stores, 10930 loads, 10519 allocas, etc. Obtaining details on a per-function basis may require hacking the bitcode-analyzer a bit (llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp). I doubt it would take too much effort to get what you need. Hope this helps..

 Chad

 On Nov 5, 2011, at 1:39 PM, ajonwa ajonwa wrote:
I need to,quickly , get key information (function size, number of instructions, type signature , number of basic blocks, e.t.c.) about critical functions in a module. http://llvm.org/cmds/llvm-bcanalyzer.html  says that llvm-bcanalyzer can provide such informationon a per-function basis and that this feature is enabled by default.

 I have looked at -help and -help-hidden. 

 ---ajonwa

----- Original Message -----
From: Chad Rosier
Sent: 11/05/11 07:42 PM
To: ajonwa ajonwa
Subject: Re: [LLVMdev] Enable Detailed Output llvm-bcanalyzer

On Nov 5, 2011, at 12:14 PM, ajonwa ajonwa wrote:
Hello all,

 Does anyone know how to make llvm-bcanalyzer produce detailed output i.e. provides additional information on a per-function basis.

Have you looked at -help and -help-hidden? What information are you looking for specifically?

 Chad

Thanks _______________________________________________
 LLVM Developers mailing list
 LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu http://llvm.cs.uiuc.edu/ 
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20111106/6d49e609/attachment.html>


More information about the llvm-dev mailing list