mirror of
https://github.com/c-cube/moonpool.git
synced 2025-12-16 15:56:21 -05:00
10 lines
No EOL
9.5 KiB
HTML
10 lines
No EOL
9.5 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Alias_analysis (ocaml.Alias_analysis)</title><link rel="stylesheet" href="../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../index.html">ocaml</a> » Alias_analysis</nav><header class="odoc-preamble"><h1>Module <code><span>Alias_analysis</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type anchored" id="type-allocation_point"><a href="#type-allocation_point" class="anchor"></a><code><span><span class="keyword">type</span> allocation_point</span><span> = </span></code><ol><li id="type-allocation_point.Symbol" class="def variant constructor anchored"><a href="#type-allocation_point.Symbol" class="anchor"></a><code><span>| </span><span><span class="constructor">Symbol</span> <span class="keyword">of</span> <a href="../Symbol/index.html#type-t">Symbol.t</a></span></code></li><li id="type-allocation_point.Variable" class="def variant constructor anchored"><a href="#type-allocation_point.Variable" class="anchor"></a><code><span>| </span><span><span class="constructor">Variable</span> <span class="keyword">of</span> <a href="../Variable/index.html#type-t">Variable.t</a></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-allocated_const"><a href="#type-allocated_const" class="anchor"></a><code><span><span class="keyword">type</span> allocated_const</span><span> = </span></code><ol><li id="type-allocated_const.Normal" class="def variant constructor anchored"><a href="#type-allocated_const.Normal" class="anchor"></a><code><span>| </span><span><span class="constructor">Normal</span> <span class="keyword">of</span> <a href="../Allocated_const/index.html#type-t">Allocated_const.t</a></span></code></li><li id="type-allocated_const.Array" class="def variant constructor anchored"><a href="#type-allocated_const.Array" class="anchor"></a><code><span>| </span><span><span class="constructor">Array</span> <span class="keyword">of</span> <a href="../Lambda/index.html#type-array_kind">Lambda.array_kind</a> * <a href="../Asttypes/index.html#type-mutable_flag">Asttypes.mutable_flag</a> * <span><a href="../Variable/index.html#type-t">Variable.t</a> list</span></span></code></li><li id="type-allocated_const.Duplicate_array" class="def variant constructor anchored"><a href="#type-allocated_const.Duplicate_array" class="anchor"></a><code><span>| </span><span><span class="constructor">Duplicate_array</span> <span class="keyword">of</span> <a href="../Lambda/index.html#type-array_kind">Lambda.array_kind</a> * <a href="../Asttypes/index.html#type-mutable_flag">Asttypes.mutable_flag</a> * <a href="../Variable/index.html#type-t">Variable.t</a></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-constant_defining_value"><a href="#type-constant_defining_value" class="anchor"></a><code><span><span class="keyword">type</span> constant_defining_value</span><span> = </span></code><ol><li id="type-constant_defining_value.Allocated_const" class="def variant constructor anchored"><a href="#type-constant_defining_value.Allocated_const" class="anchor"></a><code><span>| </span><span><span class="constructor">Allocated_const</span> <span class="keyword">of</span> <a href="#type-allocated_const">allocated_const</a></span></code></li><li id="type-constant_defining_value.Block" class="def variant constructor anchored"><a href="#type-constant_defining_value.Block" class="anchor"></a><code><span>| </span><span><span class="constructor">Block</span> <span class="keyword">of</span> <a href="../Tag/index.html#type-t">Tag.t</a> * <span><a href="../Variable/index.html#type-t">Variable.t</a> list</span></span></code></li><li id="type-constant_defining_value.Set_of_closures" class="def variant constructor anchored"><a href="#type-constant_defining_value.Set_of_closures" class="anchor"></a><code><span>| </span><span><span class="constructor">Set_of_closures</span> <span class="keyword">of</span> <a href="../Flambda/index.html#type-set_of_closures">Flambda.set_of_closures</a></span></code></li><li id="type-constant_defining_value.Project_closure" class="def variant constructor anchored"><a href="#type-constant_defining_value.Project_closure" class="anchor"></a><code><span>| </span><span><span class="constructor">Project_closure</span> <span class="keyword">of</span> <a href="../Flambda/index.html#type-project_closure">Flambda.project_closure</a></span></code></li><li id="type-constant_defining_value.Move_within_set_of_closures" class="def variant constructor anchored"><a href="#type-constant_defining_value.Move_within_set_of_closures" class="anchor"></a><code><span>| </span><span><span class="constructor">Move_within_set_of_closures</span> <span class="keyword">of</span> <a href="../Flambda/index.html#type-move_within_set_of_closures">Flambda.move_within_set_of_closures</a></span></code></li><li id="type-constant_defining_value.Project_var" class="def variant constructor anchored"><a href="#type-constant_defining_value.Project_var" class="anchor"></a><code><span>| </span><span><span class="constructor">Project_var</span> <span class="keyword">of</span> <a href="../Flambda/index.html#type-project_var">Flambda.project_var</a></span></code></li><li id="type-constant_defining_value.Field" class="def variant constructor anchored"><a href="#type-constant_defining_value.Field" class="anchor"></a><code><span>| </span><span><span class="constructor">Field</span> <span class="keyword">of</span> <a href="../Variable/index.html#type-t">Variable.t</a> * int</span></code></li><li id="type-constant_defining_value.Symbol_field" class="def variant constructor anchored"><a href="#type-constant_defining_value.Symbol_field" class="anchor"></a><code><span>| </span><span><span class="constructor">Symbol_field</span> <span class="keyword">of</span> <a href="../Symbol/index.html#type-t">Symbol.t</a> * int</span></code></li><li id="type-constant_defining_value.Const" class="def variant constructor anchored"><a href="#type-constant_defining_value.Const" class="anchor"></a><code><span>| </span><span><span class="constructor">Const</span> <span class="keyword">of</span> <a href="../Flambda/index.html#type-const">Flambda.const</a></span></code></li><li id="type-constant_defining_value.Symbol" class="def variant constructor anchored"><a href="#type-constant_defining_value.Symbol" class="anchor"></a><code><span>| </span><span><span class="constructor">Symbol</span> <span class="keyword">of</span> <a href="../Symbol/index.html#type-t">Symbol.t</a></span></code></li><li id="type-constant_defining_value.Variable" class="def variant constructor anchored"><a href="#type-constant_defining_value.Variable" class="anchor"></a><code><span>| </span><span><span class="constructor">Variable</span> <span class="keyword">of</span> <a href="../Variable/index.html#type-t">Variable.t</a></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-initialize_symbol_field"><a href="#type-initialize_symbol_field" class="anchor"></a><code><span><span class="keyword">type</span> initialize_symbol_field</span><span> = <span><a href="../Variable/index.html#type-t">Variable.t</a> option</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-run"><a href="#val-run" class="anchor"></a><code><span><span class="keyword">val</span> run :
|
||
<span><span><a href="#type-constant_defining_value">constant_defining_value</a> <a href="../Variable/Tbl/index.html#type-t">Variable.Tbl.t</a></span> <span class="arrow">-></span></span>
|
||
<span><span><span><a href="#type-initialize_symbol_field">initialize_symbol_field</a> list</span> <a href="../Symbol/Tbl/index.html#type-t">Symbol.Tbl.t</a></span> <span class="arrow">-></span></span>
|
||
<span><span><a href="../Flambda/index.html#type-constant_defining_value">Flambda.constant_defining_value</a> <a href="../Symbol/Tbl/index.html#type-t">Symbol.Tbl.t</a></span> <span class="arrow">-></span></span>
|
||
<span>the_dead_constant:<a href="../Symbol/index.html#type-t">Symbol.t</a> <span class="arrow">-></span></span>
|
||
<span><a href="#type-allocation_point">allocation_point</a> <a href="../Variable/Map/index.html#type-t">Variable.Map.t</a></span></span></code></div><div class="spec-doc"><p>Simple alias analysis working over information about which symbols have been assigned to variables; and which constants have been assigned to symbols. The return value gives the assignment of the defining values of constants to variables. Also see comments for <code>Lift_constants</code>, whose input feeds this pass.</p><p>Variables found to be ill-typed accesses to other constants, for example arising from dead code, will be pointed at <code>the_dead_constant</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-print_constant_defining_value"><a href="#val-print_constant_defining_value" class="anchor"></a><code><span><span class="keyword">val</span> print_constant_defining_value :
|
||
<span><a href="../Stdlib/Format/index.html#type-formatter">Stdlib.Format.formatter</a> <span class="arrow">-></span></span>
|
||
<span><a href="#type-constant_defining_value">constant_defining_value</a> <span class="arrow">-></span></span>
|
||
unit</span></code></div></div></div></body></html> |