<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link rel="previous" href="Llvm.MemoryBuffer.html"> <link rel="Up" href="Llvm.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="Llvm" rel="Chapter" href="Llvm.html"> <link title="Llvm_analysis" rel="Chapter" href="Llvm_analysis.html"> <link title="Llvm_bitreader" rel="Chapter" href="Llvm_bitreader.html"> <link title="Llvm_bitwriter" rel="Chapter" href="Llvm_bitwriter.html"> <link title="Llvm_executionengine" rel="Chapter" href="Llvm_executionengine.html"> <link title="Llvm_scalar_opts" rel="Chapter" href="Llvm_scalar_opts.html"> <link title="Llvm_target" rel="Chapter" href="Llvm_target.html"><title>Llvm.PassManager</title> </head> <body> <div class="navbar"><a href="Llvm.MemoryBuffer.html">Previous</a> <a href="Llvm.html">Up</a> </div> <center><h1>Module <a href="type_Llvm.PassManager.html">Llvm.PassManager</a></h1></center> <br> <pre><span class="keyword">module</span> PassManager: <code class="code"><span class="keyword">sig</span></code> <a href="Llvm.PassManager.html">..</a> <code class="code"><span class="keyword">end</span></code></pre><hr width="100%"> <pre><span class="keyword">type</span> <a name="TYPEt"></a><code class="type">'a</code> t </pre> <div class="info"> </div> <pre><span class="keyword">type</span> <a name="TYPEany"></a><code class="type"></code>any = <code class="type">[ `Function | `Module ]</code> </pre> <pre><span class="keyword">val</span> <a name="VALcreate"></a>create : <code class="type">unit -> [ `Module ] <a href="Llvm.PassManager.html#TYPEt">t</a></code></pre><div class="info"> <code class="code"><span class="constructor">PassManager</span>.create ()</code> constructs a new whole-module pass pipeline. This type of pipeline is suitable for link-time optimization and whole-module transformations. See the constructor of <code class="code">llvm::<span class="constructor">PassManager</span></code>.<br> </div> <pre><span class="keyword">val</span> <a name="VALcreate_function"></a>create_function : <code class="type"><a href="Llvm.html#TYPEllmodule">Llvm.llmodule</a> -> [ `Function ] <a href="Llvm.PassManager.html#TYPEt">t</a></code></pre><div class="info"> <code class="code"><span class="constructor">PassManager</span>.create_function m</code> constructs a new function-by-function pass pipeline over the module <code class="code">m</code>. It does not take ownership of <code class="code">m</code>. This type of pipeline is suitable for code generation and JIT compilation tasks. See the constructor of <code class="code">llvm::<span class="constructor">FunctionPassManager</span></code>.<br> </div> <pre><span class="keyword">val</span> <a name="VALrun_module"></a>run_module : <code class="type"><a href="Llvm.html#TYPEllmodule">Llvm.llmodule</a> -> [ `Module ] <a href="Llvm.PassManager.html#TYPEt">t</a> -> bool</code></pre><div class="info"> <code class="code">run_module m pm</code> initializes, executes on the module <code class="code">m</code>, and finalizes all of the passes scheduled in the pass manager <code class="code">pm</code>. Returns <code class="code"><span class="keyword">true</span></code> if any of the passes modified the module, <code class="code"><span class="keyword">false</span></code> otherwise. See the <code class="code">llvm::<span class="constructor">PassManager</span>::run</code> method.<br> </div> <pre><span class="keyword">val</span> <a name="VALinitialize"></a>initialize : <code class="type">[ `Function ] <a href="Llvm.PassManager.html#TYPEt">t</a> -> bool</code></pre><div class="info"> <code class="code">initialize fpm</code> initializes all of the function passes scheduled in the function pass manager <code class="code">fpm</code>. Returns <code class="code"><span class="keyword">true</span></code> if any of the passes modified the module, <code class="code"><span class="keyword">false</span></code> otherwise. See the <code class="code">llvm::<span class="constructor">FunctionPassManager</span>::doInitialization</code> method.<br> </div> <pre><span class="keyword">val</span> <a name="VALrun_function"></a>run_function : <code class="type"><a href="Llvm.html#TYPEllvalue">Llvm.llvalue</a> -> [ `Function ] <a href="Llvm.PassManager.html#TYPEt">t</a> -> bool</code></pre><div class="info"> <code class="code">run_function f fpm</code> executes all of the function passes scheduled in the function pass manager <code class="code">fpm</code> over the function <code class="code">f</code>. Returns <code class="code"><span class="keyword">true</span></code> if any of the passes modified <code class="code">f</code>, <code class="code"><span class="keyword">false</span></code> otherwise. See the <code class="code">llvm::<span class="constructor">FunctionPassManager</span>::run</code> method.<br> </div> <pre><span class="keyword">val</span> <a name="VALfinalize"></a>finalize : <code class="type">[ `Function ] <a href="Llvm.PassManager.html#TYPEt">t</a> -> bool</code></pre><div class="info"> <code class="code">finalize fpm</code> finalizes all of the function passes scheduled in in the function pass manager <code class="code">fpm</code>. Returns <code class="code"><span class="keyword">true</span></code> if any of the passes modified the module, <code class="code"><span class="keyword">false</span></code> otherwise. See the <code class="code">llvm::<span class="constructor">FunctionPassManager</span>::doFinalization</code> method.<br> </div> <pre><span class="keyword">val</span> <a name="VALdispose"></a>dispose : <code class="type">[< <a href="Llvm.PassManager.html#TYPEany">any</a> ] <a href="Llvm.PassManager.html#TYPEt">t</a> -> unit</code></pre><div class="info"> Frees the memory of a pass pipeline. For function pipelines, does not free the module. See the destructor of <code class="code">llvm::<span class="constructor">BasePassManager</span></code>.<br> </div> </body></html>