<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>IR__Procdesc (infer.IR__Procdesc)</title><linkrel="stylesheet"href="../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.0"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../index.html">infer</a>» IR__Procdesc</nav><h1>Module <code>IR__Procdesc</code></h1><navclass="toc"><ul><li><ahref="#per-procedure-cfg">Per-procedure CFG</a></li></ul></nav></header><section><header><h2id="per-procedure-cfg"><ahref="#per-procedure-cfg"class="anchor"></a>Per-procedure CFG</h2></header><divclass="spec module"id="module-NodeKey"><ahref="#module-NodeKey"class="anchor"></a><code><spanclass="keyword">module</span><ahref="NodeKey/index.html">NodeKey</a> : <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></div><dl><dtclass="spec module"id="module-Node"><ahref="#module-Node"class="anchor"></a><code><spanclass="keyword">module</span><ahref="Node/index.html">Node</a> : <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></dt><dd><p>node of the control flow graph</p></dd></dl><dl><dtclass="spec module"id="module-IdMap"><ahref="#module-IdMap"class="anchor"></a><code><spanclass="keyword">module</span> IdMap : <ahref="../IStdlib/PrettyPrintable/index.html#module-type-PPMap">IStdlib.PrettyPrintable.PPMap</a><spanclass="keyword">with</span><spanclass="keyword">type</span><ahref="../IStdlib/PrettyPrintable/index.html#module-type-PPMap">PPMap</a>.key = <ahref="Node/index.html#type-id">Node.id</a></code></dt><dd><p>Map with node id keys.</p></dd></dl><dl><dtclass="spec module"id="module-NodeHash"><ahref="#module-NodeHash"class="anchor"></a><code><spanclass="keyword">module</span> NodeHash : <ahref="../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.Caml.Hashtbl.S <spanclass="keyword">with</span><spanclass="keyword">type</span><ahref="index.html#module-NodeHash">NodeHash</a>.key = <ahref="Node/index.html#type-t">Node.t</a></code></dt><dd><p>Hash table with nodes as keys.</p></dd></dl><dl><dtclass="spec module"id="module-NodeMap"><ahref="#module-NodeMap"class="anchor"></a><code><spanclass="keyword">module</span> NodeMap : <ahref="../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.Caml.Map.S <spanclass="keyword">with</span><spanclass="keyword">type</span><ahref="index.html#module-NodeMap">NodeMap</a>.key = <ahref="Node/index.html#type-t">Node.t</a></code></dt><dd><p>Map over nodes.</p></dd></dl><dl><dtclass="spec module"id="module-NodeSet"><ahref="#module-NodeSet"class="anchor"></a><code><spanclass="keyword">module</span> NodeSet : <ahref="../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.Caml.Set.S <spanclass="keyword">with</span><spanclass="keyword">type</span><ahref="index.html#module-NodeSet">NodeSet</a>.elt = <ahref="Node/index.html#type-t">Node.t</a></code></dt><dd><p>Set of nodes.</p></dd></dl><aside><p>procedure descriptions</p></aside><dl><dtclass="spec type"id="type-t"><ahref="#type-t"class="anchor"></a><code><spanclass="keyword">type</span> t</code></dt><dd><p>proc description</p></dd></dl><dl><dtclass="spec value"id="val-append_locals"><ahref="#val-append_locals"class="anchor"></a><code><spanclass="keyword">val</span> append_locals : <ahref="index.html#type-t">t</a><span>-></span><span><ahref="../IR/ProcAttributes/index.html#type-var_data">IR.ProcAttributes.var_data</a> list</span><span>-></span> unit</code></dt><dd><p>append a list of new local variables to the existing list of local variables</p></dd></dl><dl><dtclass="spec value"id="val-compute_distance_to_exit_node"><ahref="#val-compute_distance_to_exit_node"class="anchor"></a><code><spanclass="keyword">val</span> compute_distance_to_exit_node : <ahref="index.html#type-t">t</a><span>-></span> unit</code></dt><dd><p>Compute the dist