Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > media > main-backports > by-pkgid > 97e550cf5e93b7f399a057af6f6e9b60 > files > 694

llvm-2.7-2mdv2010.1.x86_64.rpm

<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 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</title>
</head>
<body>
<code class="code"><span class="keyword">sig</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;llcontext<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;llmodule<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;lltype<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;lltypehandle<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;llvalue<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;lluse<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;llbasicblock<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;llbuilder<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;llmemorybuffer<br>
&nbsp;&nbsp;<span class="keyword">module</span>&nbsp;<span class="constructor">TypeKind</span>&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">sig</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;t&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Void</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Float</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Double</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">X86fp80</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Fp128</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ppc_fp128</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Label</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Integer</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Function</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Struct</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Array</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Pointer</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Opaque</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Vector</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Metadata</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Union</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">end</span><br>
&nbsp;&nbsp;<span class="keyword">module</span>&nbsp;<span class="constructor">Linkage</span>&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">sig</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;t&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">External</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Available_externally</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Link_once</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Link_once_odr</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Weak</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Weak_odr</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Appending</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Internal</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Private</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dllimport</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dllexport</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">External_weak</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ghost</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Common</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Linker_private</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">end</span><br>
&nbsp;&nbsp;<span class="keyword">module</span>&nbsp;<span class="constructor">Visibility</span>&nbsp;:&nbsp;<span class="keyword">sig</span>&nbsp;<span class="keyword">type</span>&nbsp;t&nbsp;=&nbsp;<span class="constructor">Default</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Hidden</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Protected</span>&nbsp;<span class="keyword">end</span><br>
&nbsp;&nbsp;<span class="keyword">module</span>&nbsp;<span class="constructor">CallConv</span>&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">sig</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;c&nbsp;:&nbsp;int<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fast&nbsp;:&nbsp;int<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;cold&nbsp;:&nbsp;int<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;x86_stdcall&nbsp;:&nbsp;int<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;x86_fastcall&nbsp;:&nbsp;int<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">end</span><br>
&nbsp;&nbsp;<span class="keyword">module</span>&nbsp;<span class="constructor">Attribute</span>&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">sig</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;t&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Zext</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Sext</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Noreturn</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Inreg</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Structret</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Nounwind</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Noalias</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Byval</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Nest</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Readnone</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Readonly</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Noinline</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Alwaysinline</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Optsize</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ssp</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Sspreq</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Alignment</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Nocapture</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Noredzone</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Noimplicitfloat</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Naked</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Inlinehint</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Stackalignment</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">end</span><br>
&nbsp;&nbsp;<span class="keyword">module</span>&nbsp;<span class="constructor">Icmp</span>&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">sig</span>&nbsp;<span class="keyword">type</span>&nbsp;t&nbsp;=&nbsp;<span class="constructor">Eq</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ne</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ugt</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Uge</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ult</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ule</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Sgt</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Sge</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Slt</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Sle</span>&nbsp;<span class="keyword">end</span><br>
&nbsp;&nbsp;<span class="keyword">module</span>&nbsp;<span class="constructor">Fcmp</span>&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">sig</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;t&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">False</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Oeq</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ogt</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Oge</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Olt</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ole</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">One</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ord</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Uno</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ueq</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ugt</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Uge</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ult</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ule</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Une</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">True</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">end</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;(<span class="keywordsign">'</span>a,&nbsp;<span class="keywordsign">'</span>b)&nbsp;llpos&nbsp;=&nbsp;<span class="constructor">At_end</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Before</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="keywordsign">'</span>b<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;(<span class="keywordsign">'</span>a,&nbsp;<span class="keywordsign">'</span>b)&nbsp;llrev_pos&nbsp;=&nbsp;<span class="constructor">At_start</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">After</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="keywordsign">'</span>b<br>
&nbsp;&nbsp;<span class="keyword">exception</span>&nbsp;<span class="constructor">IoError</span>&nbsp;<span class="keyword">of</span>&nbsp;string<br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;create_context&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;=&nbsp;<span class="string">"llvm_create_context"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;dispose_context&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit&nbsp;=&nbsp;<span class="string">"llvm_dispose_context"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;global_context&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;=&nbsp;<span class="string">"llvm_global_context"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;mdkind_id&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;=&nbsp;<span class="string">"llvm_mdkind_id"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;create_module&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmodule<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_create_module"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;dispose_module&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit&nbsp;=&nbsp;<span class="string">"llvm_dispose_module"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;target_triple&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;=&nbsp;<span class="string">"llvm_target_triple"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;set_target_triple&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_set_target_triple"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;data_layout&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;=&nbsp;<span class="string">"llvm_data_layout"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;set_data_layout&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_set_data_layout"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;define_type_name&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_add_type_name"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;delete_type_name&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_delete_type_name"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;type_by_name&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;option<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_type_by_name"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;dump_module&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit&nbsp;=&nbsp;<span class="string">"llvm_dump_module"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;classify_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.<span class="constructor">TypeKind</span>.t<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_classify_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;type_context&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;=&nbsp;<span class="string">"llvm_type_context"</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;string_of_lltype&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string<br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;i1_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;=&nbsp;<span class="string">"llvm_i1_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;i8_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;=&nbsp;<span class="string">"llvm_i8_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;i16_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;=&nbsp;<span class="string">"llvm_i16_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;i32_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;=&nbsp;<span class="string">"llvm_i32_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;i64_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;=&nbsp;<span class="string">"llvm_i64_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;integer_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_integer_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;integer_bitwidth&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;=&nbsp;<span class="string">"llvm_integer_bitwidth"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;float_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;=&nbsp;<span class="string">"llvm_float_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;double_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;=&nbsp;<span class="string">"llvm_double_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;x86fp80_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;=&nbsp;<span class="string">"llvm_x86fp80_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;fp128_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;=&nbsp;<span class="string">"llvm_fp128_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;ppc_fp128_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_ppc_fp128_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;function_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_function_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;var_arg_function_type&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_var_arg_function_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;is_var_arg&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool&nbsp;=&nbsp;<span class="string">"llvm_is_var_arg"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;return_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;=&nbsp;<span class="string">"LLVMGetReturnType"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;param_types&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;array<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_param_types"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;struct_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_struct_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;packed_struct_type&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_packed_struct_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;struct_element_types&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;array<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_struct_element_types"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;is_packed&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool&nbsp;=&nbsp;<span class="string">"llvm_is_packed"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;union_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_union_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;union_element_types&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;array<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_union_element_types"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;array_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;=&nbsp;<span class="string">"llvm_array_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;pointer_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;=&nbsp;<span class="string">"llvm_pointer_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;qualified_pointer_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_qualified_pointer_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;vector_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_vector_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;element_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;=&nbsp;<span class="string">"LLVMGetElementType"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;array_length&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;=&nbsp;<span class="string">"llvm_array_length"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;address_space&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;=&nbsp;<span class="string">"llvm_address_space"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;vector_size&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;=&nbsp;<span class="string">"llvm_vector_size"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;opaque_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;=&nbsp;<span class="string">"llvm_opaque_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;void_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;=&nbsp;<span class="string">"llvm_void_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;label_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;=&nbsp;<span class="string">"llvm_label_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;handle_to_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltypehandle<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_handle_to_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;type_of_handle&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltypehandle&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_type_of_handle"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;refine_type&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_refine_type"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;type_of&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;=&nbsp;<span class="string">"llvm_type_of"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;value_name&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;=&nbsp;<span class="string">"llvm_value_name"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;set_value_name&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_set_value_name"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;dump_value&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit&nbsp;=&nbsp;<span class="string">"llvm_dump_value"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;replace_all_uses_with&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMReplaceAllUsesWith"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;use_begin&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lluse&nbsp;option&nbsp;=&nbsp;<span class="string">"llvm_use_begin"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;use_succ&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lluse&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lluse&nbsp;option&nbsp;=&nbsp;<span class="string">"llvm_use_succ"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;user&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lluse&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;=&nbsp;<span class="string">"llvm_user"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;used_value&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lluse&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;=&nbsp;<span class="string">"llvm_used_value"</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;iter_uses&nbsp;:&nbsp;(<span class="constructor">Llvm</span>.lluse&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fold_left_uses&nbsp;:&nbsp;(<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lluse&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fold_right_uses&nbsp;:&nbsp;(<span class="constructor">Llvm</span>.lluse&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;operand&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;=&nbsp;<span class="string">"llvm_operand"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;is_constant&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool&nbsp;=&nbsp;<span class="string">"llvm_is_constant"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_null&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;=&nbsp;<span class="string">"LLVMConstNull"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_all_ones&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;=&nbsp;<span class="string">"LLVMConstAllOnes"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_pointer_null&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstPointerNull"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;undef&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;=&nbsp;<span class="string">"LLVMGetUndef"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;is_null&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool&nbsp;=&nbsp;<span class="string">"llvm_is_null"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;is_undef&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool&nbsp;=&nbsp;<span class="string">"llvm_is_undef"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;has_metadata&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool&nbsp;=&nbsp;<span class="string">"llvm_has_metadata"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;metadata&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;option<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_metadata"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;set_metadata&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_set_metadata"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;clear_metadata&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_clear_metadata"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;mdstring&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_mdstring"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;mdnode&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_mdnode"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_int&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;=&nbsp;<span class="string">"llvm_const_int"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_of_int64&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Int64</span>.t&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_const_of_int64"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_int_of_string&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_const_int_of_string"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_float&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_const_float"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_float_of_string&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_const_float_of_string"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_string&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_const_string"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_stringz&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_const_stringz"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_array&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_const_array"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_struct&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_const_struct"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_packed_struct&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_const_packed_struct"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_vector&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_const_vector"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_union&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstUnion"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;align_of&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;=&nbsp;<span class="string">"LLVMAlignOf"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;size_of&nbsp;:&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;=&nbsp;<span class="string">"LLVMSizeOf"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_neg&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;=&nbsp;<span class="string">"LLVMConstNeg"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_nsw_neg&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;=&nbsp;<span class="string">"LLVMConstNSWNeg"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_nuw_neg&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;=&nbsp;<span class="string">"LLVMConstNUWNeg"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_fneg&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;=&nbsp;<span class="string">"LLVMConstFNeg"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_not&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;=&nbsp;<span class="string">"LLVMConstNot"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_add&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstAdd"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_nsw_add&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstNSWAdd"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_nuw_add&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstNUWAdd"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_fadd&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstFAdd"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_sub&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstSub"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_nsw_sub&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstNSWSub"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_nuw_sub&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstNUWSub"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_fsub&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstFSub"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_mul&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstMul"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_nsw_mul&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstNSWMul"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_nuw_mul&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstNUWMul"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_fmul&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstFMul"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_udiv&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstUDiv"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_sdiv&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstSDiv"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_exact_sdiv&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstExactSDiv"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_fdiv&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstFDiv"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_urem&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstURem"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_srem&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstSRem"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_frem&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstFRem"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_and&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstAnd"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_or&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstOr"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_xor&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstXor"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_icmp&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.<span class="constructor">Icmp</span>.t&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_const_icmp"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_fcmp&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.<span class="constructor">Fcmp</span>.t&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_const_fcmp"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_shl&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstShl"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_lshr&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstLShr"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_ashr&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstAShr"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_gep&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_const_gep"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_in_bounds_gep&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_const_in_bounds_gep"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_trunc&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstTrunc"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_sext&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstSExt"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_zext&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstZExt"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_fptrunc&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstFPTrunc"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_fpext&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstFPExt"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_uitofp&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstUIToFP"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_sitofp&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstSIToFP"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_fptoui&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstFPToUI"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_fptosi&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstFPToSI"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_ptrtoint&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstPtrToInt"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_inttoptr&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstIntToPtr"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_bitcast&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstBitCast"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_zext_or_bitcast&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;=&nbsp;<span class="string">"LLVMConstZExtOrBitCast"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_sext_or_bitcast&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;=&nbsp;<span class="string">"LLVMConstSExtOrBitCast"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_trunc_or_bitcast&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;=&nbsp;<span class="string">"LLVMConstTruncOrBitCast"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_pointercast&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstPointerCast"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_intcast&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstIntCast"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_fpcast&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstFPCast"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_select&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstSelect"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_extractelement&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;=&nbsp;<span class="string">"LLVMConstExtractElement"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_insertelement&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstInsertElement"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_shufflevector&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMConstShuffleVector"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_extractvalue&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_const_extractvalue"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_insertvalue&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_const_insertvalue"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;const_inline_asm&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_const_inline_asm"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;block_address&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMBlockAddress"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;global_parent&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmodule<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMGetGlobalParent"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;is_declaration&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool&nbsp;=&nbsp;<span class="string">"llvm_is_declaration"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;linkage&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.<span class="constructor">Linkage</span>.t&nbsp;=&nbsp;<span class="string">"llvm_linkage"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;set_linkage&nbsp;:&nbsp;<span class="constructor">Llvm</span>.<span class="constructor">Linkage</span>.t&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_set_linkage"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;section&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;=&nbsp;<span class="string">"llvm_section"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;set_section&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit&nbsp;=&nbsp;<span class="string">"llvm_set_section"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;visibility&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.<span class="constructor">Visibility</span>.t&nbsp;=&nbsp;<span class="string">"llvm_visibility"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;set_visibility&nbsp;:&nbsp;<span class="constructor">Llvm</span>.<span class="constructor">Visibility</span>.t&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_set_visibility"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;alignment&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;=&nbsp;<span class="string">"llvm_alignment"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;set_alignment&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit&nbsp;=&nbsp;<span class="string">"llvm_set_alignment"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;declare_global&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_declare_global"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;declare_qualified_global&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_declare_qualified_global"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;define_global&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_define_global"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;define_qualified_global&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_define_qualified_global"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;lookup_global&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;option<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_lookup_global"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;delete_global&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit&nbsp;=&nbsp;<span class="string">"llvm_delete_global"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;global_begin&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;(<span class="constructor">Llvm</span>.llmodule,&nbsp;<span class="constructor">Llvm</span>.llvalue)&nbsp;<span class="constructor">Llvm</span>.llpos<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_global_begin"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;global_succ&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;(<span class="constructor">Llvm</span>.llmodule,&nbsp;<span class="constructor">Llvm</span>.llvalue)&nbsp;<span class="constructor">Llvm</span>.llpos<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_global_succ"</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;iter_globals&nbsp;:&nbsp;(<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fold_left_globals&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;(<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;global_end&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;(<span class="constructor">Llvm</span>.llmodule,&nbsp;<span class="constructor">Llvm</span>.llvalue)&nbsp;<span class="constructor">Llvm</span>.llrev_pos<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_global_end"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;global_pred&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;(<span class="constructor">Llvm</span>.llmodule,&nbsp;<span class="constructor">Llvm</span>.llvalue)&nbsp;<span class="constructor">Llvm</span>.llrev_pos<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_global_pred"</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;rev_iter_globals&nbsp;:&nbsp;(<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fold_right_globals&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;(<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;is_global_constant&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_is_global_constant"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;set_global_constant&nbsp;:&nbsp;bool&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_set_global_constant"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;global_initializer&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMGetInitializer"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;set_initializer&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_set_initializer"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;remove_initializer&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_remove_initializer"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;is_thread_local&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool&nbsp;=&nbsp;<span class="string">"llvm_is_thread_local"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;set_thread_local&nbsp;:&nbsp;bool&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_set_thread_local"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;add_alias&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_add_alias"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;declare_function&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_declare_function"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;define_function&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_define_function"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;lookup_function&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;option<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_lookup_function"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;delete_function&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit&nbsp;=&nbsp;<span class="string">"llvm_delete_function"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;function_begin&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;(<span class="constructor">Llvm</span>.llmodule,&nbsp;<span class="constructor">Llvm</span>.llvalue)&nbsp;<span class="constructor">Llvm</span>.llpos<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_function_begin"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;function_succ&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;(<span class="constructor">Llvm</span>.llmodule,&nbsp;<span class="constructor">Llvm</span>.llvalue)&nbsp;<span class="constructor">Llvm</span>.llpos<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_function_succ"</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;iter_functions&nbsp;:&nbsp;(<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fold_left_functions&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;(<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;function_end&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;(<span class="constructor">Llvm</span>.llmodule,&nbsp;<span class="constructor">Llvm</span>.llvalue)&nbsp;<span class="constructor">Llvm</span>.llrev_pos<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_function_end"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;function_pred&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;(<span class="constructor">Llvm</span>.llmodule,&nbsp;<span class="constructor">Llvm</span>.llvalue)&nbsp;<span class="constructor">Llvm</span>.llrev_pos<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_function_pred"</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;rev_iter_functions&nbsp;:&nbsp;(<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fold_right_functions&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;(<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;is_intrinsic&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool&nbsp;=&nbsp;<span class="string">"llvm_is_intrinsic"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;function_call_conv&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_function_call_conv"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;set_function_call_conv&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_set_function_call_conv"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;gc&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;option&nbsp;=&nbsp;<span class="string">"llvm_gc"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;set_gc&nbsp;:&nbsp;string&nbsp;option&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit&nbsp;=&nbsp;<span class="string">"llvm_set_gc"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;add_function_attr&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.<span class="constructor">Attribute</span>.t&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_add_function_attr"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;remove_function_attr&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.<span class="constructor">Attribute</span>.t&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_remove_function_attr"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;params&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;array&nbsp;=&nbsp;<span class="string">"llvm_params"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;param&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;=&nbsp;<span class="string">"llvm_param"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;param_parent&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;=&nbsp;<span class="string">"LLVMGetParamParent"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;param_begin&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;(<span class="constructor">Llvm</span>.llvalue,&nbsp;<span class="constructor">Llvm</span>.llvalue)&nbsp;<span class="constructor">Llvm</span>.llpos<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_param_begin"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;param_succ&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;(<span class="constructor">Llvm</span>.llvalue,&nbsp;<span class="constructor">Llvm</span>.llvalue)&nbsp;<span class="constructor">Llvm</span>.llpos<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_param_succ"</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;iter_params&nbsp;:&nbsp;(<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fold_left_params&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;(<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;param_end&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;(<span class="constructor">Llvm</span>.llvalue,&nbsp;<span class="constructor">Llvm</span>.llvalue)&nbsp;<span class="constructor">Llvm</span>.llrev_pos<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_param_end"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;param_pred&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;(<span class="constructor">Llvm</span>.llvalue,&nbsp;<span class="constructor">Llvm</span>.llvalue)&nbsp;<span class="constructor">Llvm</span>.llrev_pos<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_param_pred"</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;rev_iter_params&nbsp;:&nbsp;(<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fold_right_params&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;(<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;add_param_attr&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.<span class="constructor">Attribute</span>.t&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_add_param_attr"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;remove_param_attr&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.<span class="constructor">Attribute</span>.t&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_remove_param_attr"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;set_param_alignment&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_set_param_alignment"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;basic_blocks&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;array<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_basic_blocks"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;entry_block&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbasicblock<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMGetEntryBasicBlock"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;delete_block&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit&nbsp;=&nbsp;<span class="string">"llvm_delete_block"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;append_block&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbasicblock<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_append_block"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;insert_block&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbasicblock<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_insert_block"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;block_parent&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMGetBasicBlockParent"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;block_begin&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;(<span class="constructor">Llvm</span>.llvalue,&nbsp;<span class="constructor">Llvm</span>.llbasicblock)&nbsp;<span class="constructor">Llvm</span>.llpos<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_block_begin"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;block_succ&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;(<span class="constructor">Llvm</span>.llvalue,&nbsp;<span class="constructor">Llvm</span>.llbasicblock)&nbsp;<span class="constructor">Llvm</span>.llpos<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_block_succ"</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;iter_blocks&nbsp;:&nbsp;(<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fold_left_blocks&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;(<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;block_end&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;(<span class="constructor">Llvm</span>.llvalue,&nbsp;<span class="constructor">Llvm</span>.llbasicblock)&nbsp;<span class="constructor">Llvm</span>.llrev_pos<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_block_end"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;block_pred&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;(<span class="constructor">Llvm</span>.llvalue,&nbsp;<span class="constructor">Llvm</span>.llbasicblock)&nbsp;<span class="constructor">Llvm</span>.llrev_pos<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_block_pred"</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;rev_iter_blocks&nbsp;:&nbsp;(<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fold_right_blocks&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;(<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;value_of_block&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMBasicBlockAsValue"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;value_is_block&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool&nbsp;=&nbsp;<span class="string">"llvm_value_is_block"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;block_of_value&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbasicblock<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMValueAsBasicBlock"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;instr_parent&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbasicblock<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMGetInstructionParent"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;instr_begin&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;(<span class="constructor">Llvm</span>.llbasicblock,&nbsp;<span class="constructor">Llvm</span>.llvalue)&nbsp;<span class="constructor">Llvm</span>.llpos<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_instr_begin"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;instr_succ&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;(<span class="constructor">Llvm</span>.llbasicblock,&nbsp;<span class="constructor">Llvm</span>.llvalue)&nbsp;<span class="constructor">Llvm</span>.llpos<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_instr_succ"</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;iter_instrs&nbsp;:&nbsp;(<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fold_left_instrs&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;(<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;instr_end&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;(<span class="constructor">Llvm</span>.llbasicblock,&nbsp;<span class="constructor">Llvm</span>.llvalue)&nbsp;<span class="constructor">Llvm</span>.llrev_pos<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_instr_end"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;instr_pred&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;(<span class="constructor">Llvm</span>.llbasicblock,&nbsp;<span class="constructor">Llvm</span>.llvalue)&nbsp;<span class="constructor">Llvm</span>.llrev_pos<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_instr_pred"</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fold_right_instrs&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;(<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;instruction_call_conv&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_instruction_call_conv"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;set_instruction_call_conv&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_set_instruction_call_conv"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;add_instruction_param_attr&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.<span class="constructor">Attribute</span>.t&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_add_instruction_param_attr"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;remove_instruction_param_attr&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.<span class="constructor">Attribute</span>.t&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_remove_instruction_param_attr"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;is_tail_call&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool&nbsp;=&nbsp;<span class="string">"llvm_is_tail_call"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;set_tail_call&nbsp;:&nbsp;bool&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_set_tail_call"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;add_incoming&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;*&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_add_incoming"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;incoming&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;(<span class="constructor">Llvm</span>.llvalue&nbsp;*&nbsp;<span class="constructor">Llvm</span>.llbasicblock)&nbsp;list<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_incoming"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;builder&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;=&nbsp;<span class="string">"llvm_builder"</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;builder_at&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;(<span class="constructor">Llvm</span>.llbasicblock,&nbsp;<span class="constructor">Llvm</span>.llvalue)&nbsp;<span class="constructor">Llvm</span>.llpos&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;builder_before&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;builder_at_end&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llcontext&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder<br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;position_builder&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;(<span class="constructor">Llvm</span>.llbasicblock,&nbsp;<span class="constructor">Llvm</span>.llvalue)&nbsp;<span class="constructor">Llvm</span>.llpos&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_position_builder"</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;position_before&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;position_at_end&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;insertion_block&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbasicblock<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_insertion_block"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;insert_into_builder&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_insert_into_builder"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;set_current_debug_location&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_set_current_debug_location"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;clear_current_debug_location&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_clear_current_debug_location"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;current_debug_location&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;option<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_current_debug_location"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;set_inst_debug_location&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_set_inst_debug_location"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_ret_void&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_ret_void"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_ret&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_ret"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_aggregate_ret&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_aggregate_ret"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_br&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_br"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_cond_br&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_cond_br"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_switch&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_switch"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;add_case&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_add_case"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_indirect_br&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_indirect_br"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;add_destination&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_add_destination"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_invoke&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llbasicblock&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_invoke_bc"</span>&nbsp;<span class="string">"llvm_build_invoke_nat"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_unwind&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_unwind"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_unreachable&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_unreachable"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_add&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_add"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_nsw_add&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_nsw_add"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_nuw_add&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_nuw_add"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_fadd&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_fadd"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_sub&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_sub"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_nsw_sub&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_nsw_sub"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_nuw_sub&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_nuw_sub"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_fsub&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_fsub"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_mul&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_mul"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_nsw_mul&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_nsw_mul"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_nuw_mul&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_nuw_mul"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_fmul&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_fmul"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_udiv&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_udiv"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_sdiv&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_sdiv"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_exact_sdiv&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_exact_sdiv"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_fdiv&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_fdiv"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_urem&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_urem"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_srem&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_srem"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_frem&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_frem"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_shl&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_shl"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_lshr&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_lshr"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_ashr&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_ashr"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_and&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_and"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_or&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_or"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_xor&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_xor"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_neg&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_neg"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_nsw_neg&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_nsw_neg"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_nuw_neg&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_nuw_neg"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_fneg&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_fneg"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_not&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_not"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_alloca&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_alloca"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_array_alloca&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_array_alloca"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_load&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_load"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_store&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_store"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_gep&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_gep"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_in_bounds_gep&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_in_bounds_gep"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_struct_gep&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_struct_gep"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_global_string&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_global_string"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_global_stringptr&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_global_stringptr"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_trunc&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_trunc"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_zext&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_zext"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_sext&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_sext"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_fptoui&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_fptoui"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_fptosi&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_fptosi"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_uitofp&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_uitofp"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_sitofp&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_sitofp"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_fptrunc&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_fptrunc"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_fpext&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_fpext"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_ptrtoint&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_prttoint"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_inttoptr&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_inttoptr"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_bitcast&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_bitcast"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_zext_or_bitcast&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_zext_or_bitcast"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_sext_or_bitcast&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_sext_or_bitcast"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_trunc_or_bitcast&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_trunc_or_bitcast"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_pointercast&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_pointercast"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_intcast&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_intcast"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_fpcast&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_fpcast"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_icmp&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.<span class="constructor">Icmp</span>.t&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_icmp"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_fcmp&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.<span class="constructor">Fcmp</span>.t&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_fcmp"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_phi&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;(<span class="constructor">Llvm</span>.llvalue&nbsp;*&nbsp;<span class="constructor">Llvm</span>.llbasicblock)&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;=&nbsp;<span class="string">"llvm_build_phi"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_call&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_call"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_select&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_select"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_va_arg&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.lltype&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_va_arg"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_extractelement&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_extractelement"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_insertelement&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_insertelement"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_shufflevector&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_shufflevector"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_extractvalue&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_extractvalue"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_insertvalue&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_insertvalue"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_is_null&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_is_null"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_is_not_null&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_is_not_null"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;build_ptrdiff&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llbuilder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llvalue<br>
&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_build_ptrdiff"</span><br>
&nbsp;&nbsp;<span class="keyword">module</span>&nbsp;<span class="constructor">MemoryBuffer</span>&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">sig</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;of_file&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmemorybuffer<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_memorybuffer_of_file"</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;of_stdin&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Llvm</span>.llmemorybuffer<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_memorybuffer_of_stdin"</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;dispose&nbsp;:&nbsp;<span class="constructor">Llvm</span>.llmemorybuffer&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_memorybuffer_dispose"</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">end</span><br>
&nbsp;&nbsp;<span class="keyword">module</span>&nbsp;<span class="constructor">PassManager</span>&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">sig</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;t<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;any&nbsp;=&nbsp;[&nbsp;<span class="keywordsign">`</span><span class="constructor">Function</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Module</span>&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;create&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="keywordsign">`</span><span class="constructor">Module</span>&nbsp;]&nbsp;<span class="constructor">Llvm</span>.<span class="constructor">PassManager</span>.t<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_passmanager_create"</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;create_function&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="keywordsign">`</span><span class="constructor">Function</span>&nbsp;]&nbsp;<span class="constructor">Llvm</span>.<span class="constructor">PassManager</span>.t<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"LLVMCreateFunctionPassManager"</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;run_module&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llmodule&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="keywordsign">`</span><span class="constructor">Module</span>&nbsp;]&nbsp;<span class="constructor">Llvm</span>.<span class="constructor">PassManager</span>.t&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_passmanager_run_module"</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;initialize&nbsp;:&nbsp;[&nbsp;<span class="keywordsign">`</span><span class="constructor">Function</span>&nbsp;]&nbsp;<span class="constructor">Llvm</span>.<span class="constructor">PassManager</span>.t&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_passmanager_initialize"</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;run_function&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Llvm</span>.llvalue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="keywordsign">`</span><span class="constructor">Function</span>&nbsp;]&nbsp;<span class="constructor">Llvm</span>.<span class="constructor">PassManager</span>.t&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_passmanager_run_function"</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;finalize&nbsp;:&nbsp;[&nbsp;<span class="keywordsign">`</span><span class="constructor">Function</span>&nbsp;]&nbsp;<span class="constructor">Llvm</span>.<span class="constructor">PassManager</span>.t&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_passmanager_finalize"</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;dispose&nbsp;:&nbsp;[&lt;&nbsp;<span class="constructor">Llvm</span>.<span class="constructor">PassManager</span>.any&nbsp;]&nbsp;<span class="constructor">Llvm</span>.<span class="constructor">PassManager</span>.t&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;<span class="string">"llvm_passmanager_dispose"</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">end</span><br>
<span class="keyword">end</span></code></body></html>