title: LLVM: what does #uses indicate in a callgraph
body: <p>So I generated the callgraph by the following code:</p>
  <pre><code>virtual bool runOnModule(Module &amp;M) {
    
    CallGraph CG = CallGraph(M);
    CG.dump();
  }
  </code></pre>
  <p>The output is like this (I simplified it):</p>
  <pre><code>Call graph node for function: 'function1'&lt;&lt;0x563f43b334e0&gt;&gt;  #uses=2
    CS&lt;0x563f442ea418&gt; calls function 'function2'
    CS&lt;0x563f442ea888&gt; calls function 'function3'
    CS&lt;0x563f442eabf8&gt; calls function 'function3'
    CS&lt;0x563f442eb1e0&gt; calls function 'function4'
    CS&lt;0x563f442ebcf0&gt; calls function 'function5'
    CS&lt;0x563f442ebdb0&gt; calls function 'function6'
    CS&lt;0x563f442ec080&gt; calls function 'function7'
    CS&lt;0x563f442ec110&gt; calls function 'function6'
    CS&lt;0x563f442ecb10&gt; calls function 'function4'
    CS&lt;0x563f442ecbd0&gt; calls function 'function6'
    CS&lt;0x563f442ecde0&gt; calls function 'function7'
    CS&lt;0x563f442ece70&gt; calls function 'function4'
  </code></pre>
  <p>I don't understand what this #uses stands for. My guess is that it stands for the number of direct calls from this node?</p>