<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Segoe UI";
        panose-1:2 11 5 2 4 2 4 2 2 3;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:"var\(--ff-mono\)";
        panose-1:0 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:inherit;
        panose-1:0 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
code
        {mso-style-priority:99;
        font-family:"Courier New";}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.hljs-number
        {mso-style-name:hljs-number;}
span.hljs-builtin
        {mso-style-name:hljs-built_in;}
span.hljs-keyword
        {mso-style-name:hljs-keyword;}
span.hljs-title
        {mso-style-name:hljs-title;}
span.hljs-string
        {mso-style-name:hljs-string;}
span.constant
        {mso-style-name:constant_;}
span.EmailStyle27
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;
        font-weight:normal;
        font-style:normal;
        text-decoration:none none;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">Not sure if there’s a better solution, anyway we can achieve it by script like:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">$ cat t.sh<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">#!/bin/bash<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">for f in $(grep -r define $1 | cut -d @ -f 2 | cut -d '(' -f 1)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">do<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">  echo "Function: $f"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">  llvm-extract -S $1 --func=$f | opt -S -enable-new-pm=0 -instcount -stats > /dev/null<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">done<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">$ source t.sh llvm/test/CodeGen/X86/add.ll<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="color:#1F497D">Thanks<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Phoebe<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> llvm-dev <llvm-dev-bounces@lists.llvm.org> <b>On Behalf Of
</b>Shane Lin via llvm-dev<br>
<b>Sent:</b> Thursday, December 23, 2021 4:24 PM<br>
<b>To:</b> llvm-dev@lists.llvm.org<br>
<b>Subject:</b> [llvm-dev] How to get the instruction counts of each function of llvm IR?<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I’m trying to get the instruction counts of each function in a single llvm IR.<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I try the command below:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;vertical-align:baseline;margin:var(--s-prose-spacing);font-stretch: inherit;line-height:inherit;box-sizing: inherit;caret-color: rgb(35, 38, 41)">
<code><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;color:#232629;border:none windowtext 1.0pt;padding:0in">opt -enable-new-pm=0 -instcount -stats source_IR.ll</span></code><span style="font-size:11.5pt;font-family:"Segoe UI",sans-serif;color:#232629"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><code><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in">and I get the result like:</span></code><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;color:black">----------------------------------------------------------------------------------------------------------------</span><o:p></o:p></p>
</div>
<div>
<pre style="vertical-align:baseline;color:var(--highlight-color);font-style:inherit;font-variant-caps: inherit;white-space:pre-wrap;margin:calc(var(--s-prose-spacing) + 0.4em);font-stretch: inherit;box-sizing: inherit;max-height: 600px;border-top-left-radius: 5px;border-top-right-radius: 5px;border-bottom-right-radius: 5px;border-bottom-left-radius: 5px;overflow:auto"><span style="font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"><o:p> </o:p></span></pre>
<pre style="vertical-align:baseline;color:var(--highlight-color);font-style:inherit;font-variant-caps: inherit;white-space:pre-wrap;margin:calc(var(--s-prose-spacing) + 0.4em);font-stretch: inherit;box-sizing: inherit;max-height: 600px;border-top-left-radius: 5px;border-top-right-radius: 5px;border-bottom-right-radius: 5px;border-bottom-left-radius: 5px;overflow:auto"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">===-------------------------------------------------------------------------===<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">                          ... Statistics Collected ...<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">===-------------------------------------------------------------------------===<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"><o:p> </o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">3</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-builtin"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> Add insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">2</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-builtin"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> And insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">10</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-builtin"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> Br insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">1</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-builtin"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> Call insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">10</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-builtin"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> FAdd insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">11</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-builtin"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> FDiv insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">7</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-builtin"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> FMul insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">5</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-builtin"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> ICmp insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">2</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-builtin"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> Or insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">10</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-builtin"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> PHI insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">2</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-builtin"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> Ret insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">6</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-builtin"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> UIToFP insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">12</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-builtin"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> basic blocks<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">2</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-builtin"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> non-external functions<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">69</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-builtin"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instructions (</span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> all types)</span></code><span style="font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"><o:p></o:p></span></pre>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> </span><span style="font-size:12.0pt;font-family:"Helvetica",sans-serif;color:black;border:none windowtext 1.0pt;padding:0in">———————————————————————————————————————————————————————————————</span><span style="font-size:10.0pt;font-family:"Courier New";border:none windowtext 1.0pt;padding:0in"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;color:black;border:none windowtext 1.0pt;padding:0in"><br>
<br>
</span><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;color:black;border:none windowtext 1.0pt;padding:0in"><br>
<br>
</span><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;vertical-align:baseline">
<span style="font-size:11.5pt;font-family:"Segoe UI",sans-serif;color:#232629;border:none windowtext 1.0pt;padding:0in">But this is the instruction count of whole program. I want to get the instruction counts of each function in this IR.<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;vertical-align:baseline;margin:var(--s-prose-spacing);font-stretch: inherit;line-height:inherit;box-sizing: inherit;caret-color: rgb(35, 38, 41)">
<span style="font-size:11.5pt;font-family:"Segoe UI",sans-serif;color:#232629;border:none windowtext 1.0pt;padding:0in">I try the command below:<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;vertical-align:baseline;margin:var(--s-prose-spacing);font-stretch: inherit;line-height:inherit;box-sizing: inherit;caret-color: rgb(35, 38, 41)">
<code><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;color:#232629;border:none windowtext 1.0pt;padding:0in">opt -enable-new-pm=0 -instcount -stats source_IR.ll -analyze</span></code><span style="font-size:11.5pt;font-family:"Segoe UI",sans-serif;color:#232629;border:none windowtext 1.0pt;padding:0in"><o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;vertical-align:baseline;margin:var(--s-prose-spacing);font-stretch: inherit;line-height:inherit;box-sizing: inherit;caret-color: rgb(35, 38, 41)">
<span style="font-size:11.5pt;font-family:"Segoe UI",sans-serif;color:#232629;border:none windowtext 1.0pt;padding:0in">and I get the result:<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"><o:p> </o:p></span></p>
</div>
<div>
<pre style="vertical-align:baseline;margin:calc(var(--s-prose-spacing) + 0.4em);font-stretch: inherit;box-sizing: inherit;max-height: 600px;border-top-left-radius: 5px;border-top-right-radius: 5px;border-bottom-right-radius: 5px;border-bottom-left-radius: 5px;color:var(--highlight-color);overflow:auto"><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Printing</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> analysis </span></code><span class="hljs-string"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">'Counts the various types of Instructions'</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">for</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">function</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-string"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">'main'</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">:<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Printing</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> analysis </span></code><span class="hljs-string"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">'Counts the various types of Instructions'</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">for</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">function</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-string"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">'compute_pi_baseline'</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">:<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">===-------------------------------------------------------------------------===<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">                          ... </span></code><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Statistics</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Collected</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> ...<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">===-------------------------------------------------------------------------===<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"><o:p> </o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">3</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Add</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">2</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">And</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">10</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Br</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">1</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Call</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">10</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> FAdd insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">11</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> FDiv insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">7</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> FMul insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">5</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> ICmp insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">2</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Or</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">10</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="constant"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">PHI</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">2</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Ret</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">6</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> UIToFP insts<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">12</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> basic blocks<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">2</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> non-external functions<o:p></o:p></span></code></pre>
<pre style="vertical-align:baseline"><span class="hljs-number"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">69</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instcount - </span></code><span class="hljs-title"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">Number</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> </span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> instructions (</span></code><span class="hljs-keyword"><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in">of</span></span><code><span style="font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0in"> all types)</span></code><span style="font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"><o:p></o:p></span></pre>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"><o:p> </o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;vertical-align:baseline;margin:var(--s-prose-spacing);font-stretch: inherit;line-height:inherit;box-sizing: inherit;caret-color: rgb(35, 38, 41)">
<span style="font-size:11.5pt;font-family:"Segoe UI",sans-serif;color:#232629;border:none windowtext 1.0pt;padding:0in">there is nothing after the </span><code><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;color:#232629;border:none windowtext 1.0pt;padding:0in">Printing</span></code><span style="font-size:11.5pt;font-family:"Segoe UI",sans-serif;color:#232629;border:none windowtext 1.0pt;padding:0in"> line.<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;vertical-align:baseline;margin:var(--s-prose-spacing);font-stretch: inherit;line-height:inherit;box-sizing: inherit;caret-color: rgb(35, 38, 41)">
<span style="font-size:11.5pt;font-family:"Segoe UI",sans-serif;color:#232629;border:none windowtext 1.0pt;padding:0in">How could I get the instruction counts of each function by using llvm command?<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:11.5pt;font-family:"Segoe UI",sans-serif;color:#232629;border:none windowtext 1.0pt;padding:0in">I prefer not to write the pass by myself first<o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</body>
</html>