You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
7.1 KiB

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>InferModules__ProcCfg (infer.InferModules__ProcCfg)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc %%VERSION%%"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">infer</a> &#x00BB; InferModules__ProcCfg</nav><h1>Module <code>InferModules__ProcCfg</code></h1><p>Control-flow graph for a single procedure (as opposed to cfg.ml, which represents a cfg for a file). Defines useful wrappers that allows us to do tricks like turn a forward cfg to into a backward one, or view a cfg as having a single instruction per block</p></header><div class="spec module-type" id="module-type-Node"><a href="#module-type-Node" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-Node/index.html">Node</a> = <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="spec module-type" id="module-type-S"><a href="#module-type-S" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-S/index.html">S</a> = <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="spec module" id="module-DefaultNode"><a href="#module-DefaultNode" class="anchor"></a><code><span class="keyword">module</span> <a href="DefaultNode/index.html">DefaultNode</a> : <a href="index.html#module-type-Node">Node</a> <span class="keyword">with</span> <span class="keyword">type</span> <a href="module-type-Node/index.html#type-t">t</a> = <a href="../../InferIR/InferIR/Procdesc/Node/index.html#type-t">InferIR.Procdesc.Node.t</a> <span class="keyword">and</span> <span class="keyword">type</span> <a href="module-type-Node/index.html#type-id">id</a> = <a href="../../InferIR/InferIR/Procdesc/Node/index.html#type-id">InferIR.Procdesc.Node.id</a></code></div><div class="spec module" id="module-InstrNode"><a href="#module-InstrNode" class="anchor"></a><code><span class="keyword">module</span> <a href="InstrNode/index.html">InstrNode</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><dl><dt class="spec module" id="module-Normal"><a href="#module-Normal" class="anchor"></a><code><span class="keyword">module</span> <a href="Normal/index.html">Normal</a> : <a href="index.html#module-type-S">S</a> <span class="keyword">with</span> <span class="keyword">type</span> <a href="module-type-S/index.html#type-t">t</a> = <a href="../../InferIR/InferIR/Procdesc/index.html#type-t">InferIR.Procdesc.t</a> <span class="keyword">and</span> <span class="keyword">module</span> <a href="module-type-S/Node/index.html">Node</a> = <a href="index.html#module-DefaultNode">DefaultNode</a> <span class="keyword">and</span> <span class="keyword">type</span> <a href="module-type-S/index.html#type-instrs_dir">instrs_dir</a> = <a href="../../InferIR/InferIR/Instrs/index.html#type-not_reversed">InferIR.Instrs.not_reversed</a></code></dt><dd><p>Forward CFG with no exceptional control-flow</p></dd></dl><dl><dt class="spec module" id="module-Exceptional"><a href="#module-Exceptional" class="anchor"></a><code><span class="keyword">module</span> <a href="Exceptional/index.html">Exceptional</a> : <a href="index.html#module-type-S">S</a> <span class="keyword">with</span> <span class="keyword">type</span> <a href="module-type-S/index.html#type-t">t</a> = <a href="../../InferIR/InferIR/Procdesc/index.html#type-t">InferIR.Procdesc.t</a> * <span><span><a href="DefaultNode/index.html#type-t">DefaultNode.t</a> list</span> <a href="../../InferIR/InferIR__Procdesc/index.html#module-IdMap">InferIR.Procdesc.IdMap</a>.t</span> <span class="keyword">and</span> <span class="keyword">module</span> <a href="module-type-S/Node/index.html">Node</a> = <a href="index.html#module-DefaultNo