<span style='font-family:Verdana'><span style='font-size:12px'>Chad,<br />
<br />
Yes it helps, thanks. I have started hacking bitcode-analyzer.<br />
<br />
<br />
---ajonwa <br />
<br />
<p style="margin:0px; padding:0px;" >
</p>
<blockquote style="border-left: 1px solid #CCC; padding-left: 5px; margin-left: 5px; margin-bottom: 0px; margin-top: 0px; margin-right: 0px;" type="cite">
<p style="margin:0px; padding:0px;" >
<span style="font-family:Verdana"><span style="font-size:12px">----- Original Message -----</span></span></p>
<p style="margin:0px; padding:0px;" >
<span style="font-family:Verdana"><span style="font-size:12px">From: Chad Rosier</span></span></p>
<p style="margin:0px; padding:0px;" >
<span style="font-family:Verdana"><span style="font-size:12px">Sent: 11/05/11 09:07 PM</span></span></p>
<p style="margin:0px; padding:0px;" >
<span style="font-family:Verdana"><span style="font-size:12px">To: ajonwa ajonwa</span></span></p>
<p style="margin:0px; padding:0px;" >
<span style="font-family:Verdana"><span style="font-size:12px">Subject: Re: [LLVMdev] Enable Detailed Output llvm-bcanalyzer</span></span></p>
<br />
<div>
<div>
ajonwa,</div>
<div>
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:</div>
<div>
</div>
<div>
./llvm-bcanalyzer ~/llvm/test/Bitcode/spirit-llvm-2.9.ll.bc 2>&1 | less</div>
<div>
</div>
<div>
<div>
<div>
Block ID #12 (FUNCTION_BLOCK):</div>
<div>
Num Instances: 4370</div>
<div>
Total Size: 3696434b/462054.25B/115513W</div>
<div>
Percent of file: 28.9617%</div>
<div>
Average Size: 845.87/105.73B/26W</div>
<div>
Tot/Avg SubBlocks: 5365/1.227689e+00</div>
<div>
Tot/Avg Abbrevs: 0/0.000000e+00</div>
<div>
Tot/Avg Records: 65553/1.500069e+01</div>
<div>
Percent Abbrevs: 32.9809%</div>
<div>
</div>
<div>
Record Histogram:</div>
<div>
Count # Bits % Abv Record Kind</div>
<div>
11024 705536 INST_STORE</div>
<div>
10930 295098 100.00 INST_LOAD</div>
<div>
10519 575014 INST_ALLOCA</div>
<div>
8444 692924 INST_CALL</div>
<div>
5714 217132 100.00 INST_CAST</div>
<div>
4370 54722 100.00 INST_RET</div>
<div>
4370 96188 DECLAREBLOCKS</div>
<div>
3791 263822 INST_INBOUNDS_GEP</div>
<div>
2209 64912 INST_BR</div>
<div>
1805 173588 INST_INVOKE</div>
<div>
1269 88794 INST_GEP</div>
<div>
476 30464 INST_CMP2</div>
<div>
445 1780 100.00 INST_UNREACHABLE</div>
<div>
161 7378 100.00 INST_BINOP</div>
<div>
21 1488 INST_PHI</div>
<div>
4 160 INST_EXTRACTVAL</div>
<div>
1 94 INST_SWITCH</div>
</div>
</div>
<div>
</div>
<div>
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..</div>
<div>
</div>
<div>
Chad</div>
<div>
</div>
<div>
</div>
<br />
<div>
<div>
On Nov 5, 2011, at 1:39 PM, ajonwa ajonwa wrote:</div>
<br class="Apple-interchange-newline" />
<blockquote type="cite">
<span style="font-family:Verdana"><span style="font-size:12px">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. <a href="http://llvm.org/cmds/llvm-bcanalyzer.html" target="_blank">llvm.org/cmds/llvm-bcanalyzer.html</a> says that llvm-bcanalyzer can provide such informationon a per-function basis and that this feature is enabled by default.<br />
<br />
I have looked at -help and -help-hidden. <br />
<br />
---ajonwa</span></span><br />
<br />
<p style="margin:0px; padding:0px; margin:0px; padding:0px;">
<span style="font-family:Verdana"><span style="font-size:12px"> </span></span></p>
<blockquote style="border-left: 1px solid #CCC; padding-left: 5px; margin-left: 5px; margin-bottom: 0px; margin-top: 0px; margin-right: 0px;" type="cite">
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">
<span style="font-family:Verdana"><span style="font-size:12px"><span style="font-family:Verdana"><span style="font-size:12px">----- Original Message -----</span></span> </span></span></div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">
<span style="font-family:Verdana"><span style="font-size:12px"><span style="font-family:Verdana"><span style="font-size:12px">From: Chad Rosier</span></span> </span></span></div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">
<span style="font-family:Verdana"><span style="font-size:12px"><span style="font-family:Verdana"><span style="font-size:12px">Sent: 11/05/11 07:42 PM</span></span> </span></span></div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">
<span style="font-family:Verdana"><span style="font-size:12px"><span style="font-family:Verdana"><span style="font-size:12px">To: ajonwa ajonwa</span></span> </span></span></div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">
<span style="font-family:Verdana"><span style="font-size:12px"><span style="font-family:Verdana"><span style="font-size:12px">Subject: Re: [LLVMdev] Enable Detailed Output llvm-bcanalyzer</span></span> </span></span></div>
<br />
<div>
<br />
<div>
<div>
<span style="font-family:Verdana"><span style="font-size:12px">On Nov 5, 2011, at 12:14 PM, ajonwa ajonwa wrote:</span></span></div>
<br class="Apple-interchange-newline" />
<blockquote type="cite">
<span style="font-family:Verdana"><span style="font-size:12px"><span style="font-family:Verdana"><span style="font-size:12px">Hello all,<br />
<br />
Does anyone know how to make llvm-bcanalyzer produce detailed output i.e. provides additional information on a per-function basis.</span></span><br />
</span></span></blockquote>
<div>
<span style="font-family:Verdana"><span style="font-size:12px"> </span></span></div>
<div>
<span style="font-family:Verdana"><span style="font-size:12px">Have you looked at -help and -help-hidden? What information are you looking for specifically?</span></span></div>
<div>
<span style="font-family:Verdana"><span style="font-size:12px"> </span></span></div>
<div>
<span style="font-family:Verdana"><span style="font-size:12px"> Chad</span></span></div>
<br />
<blockquote type="cite">
<br />
<span style="font-family:Verdana"><span style="font-size:12px"><span style="font-family:Verdana"><span style="font-size:12px">Thanks</span></span> _______________________________________________<br />
LLVM Developers mailing list<br />
<a href="mailto:LLVMdev@cs.uiuc.edu" >LLVMdev@cs.uiuc.edu</a> <a href="http://llvm.cs.uiuc.edu/" target="_blank">http://llvm.cs.uiuc.edu</a><br />
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a> </span></span></blockquote>
</div>
</div>
</blockquote>
<p style="margin:0px; padding:0px; margin:0px; padding:0px;">
<span style="font-family:Verdana"><span style="font-size:12px"> </span></span></p>
</blockquote>
</div>
</div>
</blockquote>
<p style="margin:0px; padding:0px;" >
</p>
</span></span>