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
4.7 KiB

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Control (infer.Checkers.Control)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><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; <a href="../index.html">Checkers</a> &#x00BB; Control</nav><h1>Module <code>Checkers.Control</code></h1></header><div class="spec module" id="module-LoopHead"><a href="#module-LoopHead" class="anchor"></a><code><span class="keyword">module</span> LoopHead = <a href="../../IR/Procdesc/index.html#module-Node">IR.Procdesc.Node</a></code></div><div class="spec module" id="module-LoopHeads"><a href="#module-LoopHeads" class="anchor"></a><code><span class="keyword">module</span> LoopHeads = <a href="../../IR/Procdesc/index.html#module-NodeSet">IR.Procdesc.NodeSet</a></code></div><dl><dt class="spec module" id="module-ControlMap"><a href="#module-ControlMap" class="anchor"></a><code><span class="keyword">module</span> <a href="ControlMap/index.html">ControlMap</a> : <span class="keyword">module</span> <span class="keyword">type</span> <span class="keyword">of</span> <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd><p>Map control var -&gt; loop head location</p></dd></dl><div class="spec module" id="module-GuardNodes"><a href="#module-GuardNodes" class="anchor"></a><code><span class="keyword">module</span> <a href="GuardNodes/index.html">GuardNodes</a> : <span class="keyword">module</span> <span class="keyword">type</span> <span class="keyword">of</span> <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><dl><dt class="spec module" id="module-ExitNodeToLoopHeads"><a href="#module-ExitNodeToLoopHeads" class="anchor"></a><code><span class="keyword">module</span> ExitNodeToLoopHeads = <a href="../../IR/Procdesc/index.html#module-NodeMap">IR.Procdesc.NodeMap</a></code></dt><dd><p>Map exit node -&gt; loop head set</p></dd></dl><dl><dt class="spec module" id="module-LoopHeadToGuardNodes"><a href="#module-LoopHeadToGuardNodes" class="anchor"></a><code><span class="keyword">module</span> LoopHeadToGuardNodes = <a href="../../IR/Procdesc/index.html#module-NodeMap">IR.Procdesc.NodeMap</a></code></dt><dd><p>Map loop head -&gt; prune nodes in the loop guard</p></dd></dl><dl><dt class="spec type" id="type-invariant_map"><a href="#type-invariant_map" class="anchor"></a><code><span class="keyword">type</span> invariant_map</code></dt><dt class="spec type" id="type-loop_control_maps"><a href="#type-loop_control_maps" class="anchor"></a><code><span class="keyword">type</span> loop_control_maps</code><code> = </code><code>{</code><table class="record"><tr id="type-loop_control_maps.exit_map" class="anchored"><td class="def field"><a href="#type-loop_control_maps.exit_map" class="anchor"></a><code>exit_map : <span><a href="index.html#module-LoopHeads">LoopHeads</a>.t <a href="index.html#module-ExitNodeToLoopHeads">ExitNodeToLoopHeads</a>.t</span>;</code></td></tr><tr id="type-loop_control_maps.loop_head_to_guard_nodes" class="anchored"><td class="def field"><a href="#type-loop_control_maps.loop_head_to_guard_nodes" class="anchor"></a><code>loop_head_to_guard_nodes : <span><a href="GuardNodes/index.html#type-t">GuardNodes.t</a> <a href="index.html#module-LoopHeadToGuardNodes">LoopHeadToGuardNodes</a>.t</span>;</code></td></tr></table><code>}</code></dt></dl><dl><dt class="spec value" id="val-compute_invariant_map"><a href="#val-compute_invariant_map" class="anchor"></a><code><span class="keyword">val</span> compute_invariant_map : <a href="../../IR/Procdesc/index.html#type-t">IR.Procdesc.t</a> <span>&#45;&gt;</span> <a href="index.html#type-loop_control_maps">loop_control_maps</a> <span>&#45;&gt;</span> <a href="index.html#type-invariant_map">invariant_map</a></code></dt><dt class="s