llvm.mli revision 4647569fe7706e76135a08ca0e5f90a447ccc5b4
18ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen(*===-- tools/ml/llvm.ml - LLVM Ocaml Interface ---------------------------===*
28ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen *
38ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen *                     The LLVM Compiler Infrastructure
48ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen *
58ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen * This file was developed by Gordon Henriksen and is distributed under the
68ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen * University of Illinois Open Source License. See LICENSE.TXT for details.
78ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen *
88ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen *===----------------------------------------------------------------------===
98ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen *
108ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen * This interface provides an ocaml API for the LLVM intermediate
118ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen * representation, the classes in the VMCore library.
128ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen *
138ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen *===----------------------------------------------------------------------===*)
148ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
158ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
168ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen(* These abstract types correlate directly to the LLVM VMCore classes. *)
178ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksentype llmodule
188ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksentype lltype
198ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksentype llvalue
2046abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksentype llbasicblock (* These are actually values, but
2146abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                     benefit from type checking. *)
2246abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksentype llbuilder
238ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
248ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksentype type_kind =
258ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen  Void_type
268ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen| Float_type
278ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen| Double_type
288ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen| X86fp80_type
298ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen| Fp128_type
308ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen| Ppc_fp128_type
318ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen| Label_type
328ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen| Integer_type
338ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen| Function_type
348ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen| Struct_type
358ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen| Array_type
368ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen| Pointer_type 
378ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen| Opaque_type
388ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen| Vector_type
398ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
408ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksentype linkage =
418ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen  External_linkage
428ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen| Link_once_linkage
438ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen| Weak_linkage
448ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen| Appending_linkage
458ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen| Internal_linkage
468ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen| Dllimport_linkage
478ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen| Dllexport_linkage
488ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen| External_weak_linkage
498ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen| Ghost_linkage
508ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
518ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksentype visibility =
528ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen  Default_visibility
538ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen| Hidden_visibility
548ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen| Protected_visibility
558ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
5646abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenval ccc : int
5746abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenval fastcc : int
5846abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenval coldcc : int
5946abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenval x86_stdcallcc : int
6046abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenval x86_fastcallcc : int
6146abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen
6246abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksentype int_predicate =
6346abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen  Icmp_eq
6446abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Icmp_ne
6546abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Icmp_ugt
6646abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Icmp_uge
6746abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Icmp_ult
6846abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Icmp_ule
6946abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Icmp_sgt
7046abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Icmp_sge
7146abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Icmp_slt
7246abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Icmp_sle
7346abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen
7446abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksentype real_predicate =
7546abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen  Fcmp_false
7646abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Fcmp_oeq
7746abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Fcmp_ogt
7846abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Fcmp_oge
7946abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Fcmp_olt
8046abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Fcmp_ole
8146abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Fcmp_one
8246abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Fcmp_ord
8346abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Fcmp_uno
8446abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Fcmp_ueq
8546abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Fcmp_ugt
8646abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Fcmp_uge
8746abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Fcmp_ult
8846abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Fcmp_ule
8946abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Fcmp_une
9046abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen| Fcmp_true
9146abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen
928ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
938ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen(*===-- Modules -----------------------------------------------------------===*)
948ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
958ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen(* Creates a module with the supplied module ID. Modules are not garbage
968ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen   collected; it is mandatory to call dispose_module to free memory. *)
978ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal create_module : string -> llmodule = "llvm_create_module"
988ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
998ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen(* Disposes a module. All references to subordinate objects are invalidated;
1008ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen   referencing them will invoke undefined behavior. *)
1018ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal dispose_module : llmodule -> unit = "llvm_dispose_module"
1028ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
1038ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen(* Adds a named type to the module's symbol table. Returns true if successful.
1048ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen   If such a name already exists, then no entry is added and returns false. *)
10546abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal define_type_name : string -> lltype -> llmodule -> bool
10646abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                          = "llvm_add_type_name"
10746abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen
10846abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal delete_type_name : string -> llmodule -> unit
10946abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                          = "llvm_delete_type_name"
1108ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
1118ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
1128ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen(*===-- Types -------------------------------------------------------------===*)
1138ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal classify_type : lltype -> type_kind = "llvm_classify_type"
1148ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal refine_abstract_type : lltype -> lltype -> unit
1158ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen                              = "llvm_refine_abstract_type"
1168ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenval string_of_lltype : lltype -> string
1178ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
1188ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen(*--... Operations on integer types ........................................--*)
1198ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenval i1_type : lltype
1208ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenval i8_type : lltype
1218ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenval i16_type : lltype
1228ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenval i32_type : lltype
1238ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenval i64_type : lltype
1248ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal make_integer_type : int -> lltype = "llvm_make_integer_type"
1258ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal integer_bitwidth : lltype -> int = "llvm_integer_bitwidth"
1268ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
1278ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen(*--... Operations on real types ...........................................--*)
1288ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenval float_type : lltype
1298ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenval double_type : lltype
1308ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenval x86fp80_type : lltype
1318ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenval fp128_type : lltype
1328ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenval ppc_fp128_type : lltype
1338ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
1348ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen(*--... Operations on function types .......................................--*)
1358ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen(* FIXME: handle parameter attributes                                         *)
1368ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal make_function_type : lltype -> lltype array -> bool -> lltype
1378ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen                            = "llvm_make_function_type"
1388ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal is_var_arg : lltype -> bool = "llvm_is_var_arg"
1398ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal return_type : lltype -> lltype = "llvm_return_type"
1408ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal param_types : lltype -> lltype array = "llvm_param_types"
1418ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
1428ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen(*--... Operations on struct types .........................................--*)
1438ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal make_struct_type : lltype array -> bool -> lltype
1448ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen                          = "llvm_make_struct_type"
1458ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal element_types : lltype -> lltype array = "llvm_element_types"
1468ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal is_packed : lltype -> bool = "llvm_is_packed"
1478ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
1488ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen(*--... Operations on pointer, vector, and array types .....................--*)
1498ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal make_array_type : lltype -> int -> lltype = "llvm_make_array_type"
1508ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal make_pointer_type : lltype -> lltype = "llvm_make_pointer_type"
1518ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal make_vector_type : lltype -> int -> lltype = "llvm_make_vector_type"
1528ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
1538ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal element_type : lltype -> lltype = "llvm_element_type"
1548ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal array_length : lltype -> int = "llvm_array_length"
1558ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal vector_size : lltype -> int = "llvm_vector_size"
1568ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
1578ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen(*--... Operations on other types ..........................................--*)
1588ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal make_opaque_type : unit -> lltype = "llvm_make_opaque_type"
1598ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenval void_type : lltype
1608ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenval label_type : lltype
1618ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
1628ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
1638ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen(*===-- Values ------------------------------------------------------------===*)
1648ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal type_of : llvalue -> lltype = "llvm_type_of"
1658ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal value_name : llvalue -> string = "llvm_value_name"
1668ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal set_value_name : string -> llvalue -> unit = "llvm_set_value_name"
16788cc699942f7f972ef9bc3afa1df0a44d059e1d8Gordon Henriksenexternal dump_value : llvalue -> unit = "llvm_dump_value"
1688ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
1698ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen(*--... Operations on constants of (mostly) any type .......................--*)
170344be5fbecec9908bab611eafeae0549ba3be6d7Gordon Henriksenexternal is_constant : llvalue -> bool = "llvm_is_constant"
17146abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal make_null : lltype -> llvalue = "LLVMGetNull"
17246abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal make_all_ones : (*int|vec*)lltype -> llvalue = "LLVMGetAllOnes"
17346abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal make_undef : lltype -> llvalue = "LLVMGetUndef"
1748ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal is_null : llvalue -> bool = "llvm_is_null"
175344be5fbecec9908bab611eafeae0549ba3be6d7Gordon Henriksenexternal is_undef : llvalue -> bool = "llvm_is_undef"
1768ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
1778ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen(*--... Operations on scalar constants .....................................--*)
1788ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal make_int_constant : lltype -> int -> bool -> llvalue
1798ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen                           = "llvm_make_int_constant"
180344be5fbecec9908bab611eafeae0549ba3be6d7Gordon Henriksenexternal make_int64_constant : lltype -> Int64.t -> bool -> llvalue
181344be5fbecec9908bab611eafeae0549ba3be6d7Gordon Henriksen                             = "llvm_make_int64_constant"
1828ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal make_real_constant : lltype -> float -> llvalue
1838ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen                            = "llvm_make_real_constant"
1848ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
1858ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen(*--... Operations on composite constants ..................................--*)
1868ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal make_string_constant : string -> bool -> llvalue
1878ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen                              = "llvm_make_string_constant"
1888ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal make_array_constant : lltype -> llvalue array -> llvalue
1898ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen                             = "llvm_make_array_constant"
1908ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal make_struct_constant : llvalue array -> bool -> llvalue
1918ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen                              = "llvm_make_struct_constant"
1928ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal make_vector_constant : llvalue array -> llvalue
1938ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen                              = "llvm_make_vector_constant"
1948ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
1954647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksen(*--... Constant expressions ...............................................--*)
1964647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal sizeof : lltype -> llvalue = "LLVMSizeOf"
1974647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_neg : llvalue -> llvalue = "LLVMConstNeg"
1984647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_not : llvalue -> llvalue = "LLVMConstNot"
1994647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_add : llvalue -> llvalue -> llvalue = "LLVMConstAdd"
2004647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_sub : llvalue -> llvalue -> llvalue = "LLVMConstSub"
2014647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_mul : llvalue -> llvalue -> llvalue = "LLVMConstMul"
2024647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_udiv : llvalue -> llvalue -> llvalue = "LLVMConstUDiv"
2034647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_sdiv : llvalue -> llvalue -> llvalue = "LLVMConstSDiv"
2044647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_fdiv : llvalue -> llvalue -> llvalue = "LLVMConstFDiv"
2054647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_urem : llvalue -> llvalue -> llvalue = "LLVMConstURem"
2064647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_srem : llvalue -> llvalue -> llvalue = "LLVMConstSRem"
2074647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_frem : llvalue -> llvalue -> llvalue = "LLVMConstFRem"
2084647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_and : llvalue -> llvalue -> llvalue = "LLVMConstAnd"
2094647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_or : llvalue -> llvalue -> llvalue = "LLVMConstOr"
2104647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_xor : llvalue -> llvalue -> llvalue = "LLVMConstXor"
2114647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_icmp : int_predicate -> llvalue -> llvalue -> llvalue
2124647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksen                    = "llvm_const_icmp"
2134647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_fcmp : real_predicate -> llvalue -> llvalue -> llvalue
2144647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksen                    = "llvm_const_fcmp"
2154647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_shl : llvalue -> llvalue -> llvalue = "LLVMConstShl"
2164647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_lshr : llvalue -> llvalue -> llvalue = "LLVMConstLShr"
2174647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_ashr : llvalue -> llvalue -> llvalue = "LLVMConstAShr"
2184647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_gep : llvalue -> llvalue array -> llvalue = "llvm_const_gep"
2194647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_trunc : llvalue -> lltype -> llvalue = "LLVMConstTrunc"
2204647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_sext : llvalue -> lltype -> llvalue = "LLVMConstSExt"
2214647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_zext : llvalue -> lltype -> llvalue = "LLVMConstZExt"
2224647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_fptrunc : llvalue -> lltype -> llvalue = "LLVMConstFPTrunc"
2234647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_fpext : llvalue -> lltype -> llvalue = "LLVMConstFPExt"
2244647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_uitofp : llvalue -> lltype -> llvalue = "LLVMConstUIToFP"
2254647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_sitofp : llvalue -> lltype -> llvalue = "LLVMConstSIToFP"
2264647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_fptoui : llvalue -> lltype -> llvalue = "LLVMConstFPToUI"
2274647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_fptosi : llvalue -> lltype -> llvalue = "LLVMConstFPToSI"
2284647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_ptrtoint : llvalue -> lltype -> llvalue = "LLVMConstPtrToInt"
2294647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_inttoptr : llvalue -> lltype -> llvalue = "LLVMConstIntToPtr"
2304647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_bitcast : llvalue -> lltype -> llvalue = "LLVMConstBitCast"
2314647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_select : llvalue -> llvalue -> llvalue -> llvalue
2324647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksen                      = "LLVMConstSelect"
2334647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_extractelement : llvalue -> llvalue -> llvalue
2344647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksen                              = "LLVMConstExtractElement"
2354647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_insertelement : llvalue -> llvalue -> llvalue -> llvalue
2364647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksen                             = "LLVMConstInsertElement"
2374647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksenexternal const_shufflevector : llvalue -> llvalue -> llvalue -> llvalue
2384647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksen                             = "LLVMConstShuffleVector"
2394647569fe7706e76135a08ca0e5f90a447ccc5b4Gordon Henriksen
2408ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen(*--... Operations on global variables, functions, and aliases (globals) ...--*)
2418ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal is_declaration : llvalue -> bool = "llvm_is_declaration"
2428ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal linkage : llvalue -> linkage = "llvm_linkage"
2438ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal set_linkage : linkage -> llvalue -> unit = "llvm_set_linkage"
2448ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal section : llvalue -> string = "llvm_section"
2458ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal set_section : string -> llvalue -> unit = "llvm_set_section"
2468ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal visibility : llvalue -> visibility = "llvm_visibility"
2478ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal set_visibility : visibility -> llvalue -> unit = "llvm_set_visibility"
2488ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal alignment : llvalue -> int = "llvm_alignment"
2498ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal set_alignment : int -> llvalue -> unit = "llvm_set_alignment"
2508ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
2518ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen(*--... Operations on global variables .....................................--*)
2528ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal declare_global : lltype -> string -> llmodule -> llvalue
2538ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen                        = "llvm_declare_global"
2548ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal define_global : string -> llvalue -> llmodule -> llvalue
2558ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen                       = "llvm_define_global"
2568ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal delete_global : llvalue -> unit = "llvm_delete_global"
25746abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal global_initializer : llvalue -> llvalue = "LLVMGetInitializer"
2588ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal set_initializer : llvalue -> llvalue -> unit = "llvm_set_initializer"
2598ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal remove_initializer : llvalue -> unit = "llvm_remove_initializer"
2608ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal is_thread_local : llvalue -> bool = "llvm_is_thread_local"
2618ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal set_thread_local : bool -> llvalue -> unit = "llvm_set_thread_local"
2628ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
26346abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen(*--... Operations on functions ............................................--*)
26446abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal declare_function : string -> lltype -> llmodule -> llvalue
26546abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                          = "llvm_declare_function"
26646abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal define_function : string -> lltype -> llmodule -> llvalue
26746abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                         = "llvm_define_function"
26846abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal delete_function : llvalue -> unit = "llvm_delete_function"
26946abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal params : llvalue -> llvalue array = "llvm_params"
27046abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal param : llvalue -> int -> llvalue = "llvm_param"
27146abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal is_intrinsic : llvalue -> bool = "llvm_is_intrinsic"
27246abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal function_call_conv : llvalue -> int = "llvm_function_call_conv"
27346abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal set_function_call_conv : int -> llvalue -> unit
27446abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                                = "llvm_set_function_call_conv"
27546abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen
27646abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen(*--... Operations on basic blocks .........................................--*)
27746abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal basic_blocks : llvalue -> llbasicblock array = "llvm_basic_blocks"
27846abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal entry_block : llvalue -> llbasicblock = "LLVMGetEntryBasicBlock"
27946abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal delete_block : llbasicblock -> unit = "llvm_delete_block"
28046abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal append_block : string -> llvalue -> llbasicblock = "llvm_append_block"
28146abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal insert_block : string -> llbasicblock -> llbasicblock
28246abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                      = "llvm_insert_block"
28346abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal value_of_block : llbasicblock -> llvalue = "LLVMBasicBlockAsValue"
28446abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal value_is_block : llvalue -> bool = "llvm_value_is_block"
28546abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal block_of_value : llvalue -> llbasicblock = "LLVMValueAsBasicBlock"
28646abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen
28746abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen
28846abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen(*===-- Instruction builders ----------------------------------------------===*)
28946abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal builder_before : llvalue -> llbuilder = "llvm_builder_before"
29046abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal builder_at_end : llbasicblock -> llbuilder = "llvm_builder_at_end"
29146abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal position_before : llvalue -> llbuilder -> unit = "llvm_position_before"
29246abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal position_at_end : llbasicblock -> llbuilder -> unit
29346abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                         = "llvm_position_at_end"
29446abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen
29546abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen(*--... Terminators ........................................................--*)
29646abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_ret_void : llbuilder -> llvalue = "llvm_build_ret_void"
29746abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_ret : llvalue -> llbuilder -> llvalue = "llvm_build_ret"
29846abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_br : llbasicblock -> llbuilder -> llvalue = "llvm_build_br"
29946abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_cond_br : llvalue -> llbasicblock -> llbasicblock -> llbuilder ->
30046abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                         llvalue = "llvm_build_cond_br"
30146abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_switch : llvalue -> llbasicblock -> int -> llbuilder -> llvalue
30246abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                      = "llvm_build_switch"
30346abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_invoke : llvalue -> llvalue array -> llbasicblock ->
30446abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                        llbasicblock -> string -> llbuilder -> llvalue
30546abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                      = "llvm_build_invoke_bc" "llvm_build_invoke_nat"
30646abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_unwind : llbuilder -> llvalue = "llvm_build_unwind"
30746abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_unreachable : llbuilder -> llvalue = "llvm_build_unreachable"
30846abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen
30946abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen(*--... Arithmetic .........................................................--*)
31046abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_add : llvalue -> llvalue -> string -> llbuilder -> llvalue
31146abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                   = "llvm_build_add"
31246abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_sub : llvalue -> llvalue -> string -> llbuilder -> llvalue
31346abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                   = "llvm_build_sub"
31446abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_mul : llvalue -> llvalue -> string -> llbuilder -> llvalue
31546abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                   = "llvm_build_mul"
31646abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_udiv : llvalue -> llvalue -> string -> llbuilder -> llvalue
31746abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                    = "llvm_build_udiv"
31846abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_sdiv : llvalue -> llvalue -> string -> llbuilder -> llvalue
31946abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                    = "llvm_build_sdiv"
32046abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_fdiv : llvalue -> llvalue -> string -> llbuilder -> llvalue
32146abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                    = "llvm_build_fdiv"
32246abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_urem : llvalue -> llvalue -> string -> llbuilder -> llvalue
32346abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                    = "llvm_build_urem"
32446abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_srem : llvalue -> llvalue -> string -> llbuilder -> llvalue
32546abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                    = "llvm_build_srem"
32646abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_frem : llvalue -> llvalue -> string -> llbuilder -> llvalue
32746abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                    = "llvm_build_frem"
32846abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_shl : llvalue -> llvalue -> string -> llbuilder -> llvalue
32946abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                   = "llvm_build_shl"
33046abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_lshr : llvalue -> llvalue -> string -> llbuilder -> llvalue
33146abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                    = "llvm_build_lshr"
33246abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_ashr : llvalue -> llvalue -> string -> llbuilder -> llvalue
33346abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                    = "llvm_build_ashr"
33446abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_and : llvalue -> llvalue -> string -> llbuilder -> llvalue
33546abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                   = "llvm_build_and"
33646abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_or : llvalue -> llvalue -> string -> llbuilder -> llvalue
33746abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                  = "llvm_build_or"
33846abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_xor : llvalue -> llvalue -> string -> llbuilder -> llvalue
33946abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                   = "llvm_build_xor"
34046abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_neg : llvalue -> string -> llbuilder -> llvalue
34146abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                   = "llvm_build_neg"
34246abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_not : llvalue -> string -> llbuilder -> llvalue
34346abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                   = "llvm_build_not"
34446abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen
34546abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen(*--... Memory .............................................................--*)
34646abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_malloc : lltype -> string -> llbuilder -> llvalue
34746abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                      = "llvm_build_malloc"
34846abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_array_malloc : lltype -> llvalue -> string -> llbuilder ->
34946abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                              llvalue = "llvm_build_array_malloc"
35046abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_alloca : lltype -> string -> llbuilder -> llvalue
35146abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                      = "llvm_build_alloca"
35246abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_array_alloca : lltype -> llvalue -> string -> llbuilder ->
35346abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                              llvalue = "llvm_build_array_alloca"
35446abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_free : llvalue -> llbuilder -> llvalue = "llvm_build_free"
35546abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_load : llvalue -> string -> llbuilder -> llvalue
35646abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                    = "llvm_build_load"
35746abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_store : llvalue -> llvalue -> llbuilder -> llvalue
35846abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                     = "llvm_build_store"
35946abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_gep : llvalue -> llvalue array -> string -> llbuilder -> llvalue
36046abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                   = "llvm_build_gep"
36146abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen
36246abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen(*--... Casts ..............................................................--*)
36346abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_trunc : llvalue -> lltype -> string -> llbuilder -> llvalue
36446abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                     = "llvm_build_trunc"
36546abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_zext : llvalue -> lltype -> string -> llbuilder -> llvalue
36646abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                    = "llvm_build_zext"
36746abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_sext : llvalue -> lltype -> string -> llbuilder -> llvalue
36846abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                    = "llvm_build_sext"
36946abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_fptoui : llvalue -> lltype -> string -> llbuilder -> llvalue
37046abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                      = "llvm_build_fptoui"
37146abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_fptosi : llvalue -> lltype -> string -> llbuilder -> llvalue
37246abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                      = "llvm_build_fptosi"
37346abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_uitofp : llvalue -> lltype -> string -> llbuilder -> llvalue
37446abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                      = "llvm_build_uitofp"
37546abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_sitofp : llvalue -> lltype -> string -> llbuilder -> llvalue
37646abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                      = "llvm_build_sitofp"
37746abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_fptrunc : llvalue -> lltype -> string -> llbuilder -> llvalue
37846abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                       = "llvm_build_fptrunc"
37946abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_fpext : llvalue -> lltype -> string -> llbuilder -> llvalue
38046abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                     = "llvm_build_fpext"
38146abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_ptrtoint : llvalue -> lltype -> string -> llbuilder -> llvalue
38246abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                        = "llvm_build_prttoint"
38346abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_inttoptr : llvalue -> lltype -> string -> llbuilder -> llvalue
38446abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                        = "llvm_build_inttoptr"
38546abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_bitcast : llvalue -> lltype -> string -> llbuilder -> llvalue
38646abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                       = "llvm_build_bitcast"
38746abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen
38846abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen(*--... Comparisons ........................................................--*)
38946abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_icmp : int_predicate -> llvalue -> llvalue -> string ->
39046abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                      llbuilder -> llvalue = "llvm_build_icmp"
39146abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_fcmp : real_predicate -> llvalue -> llvalue -> string ->
39246abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                      llbuilder -> llvalue = "llvm_build_fcmp"
39346abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen
39446abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen(*--... Miscellaneous instructions .........................................--*)
39546abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_phi : lltype -> string -> llbuilder -> llvalue = "llvm_build_phi"
39646abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_call : llvalue -> llvalue array -> string -> llbuilder -> llvalue
39746abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                    = "llvm_build_call"
39846abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_select : llvalue -> llvalue -> llvalue -> string -> llbuilder ->
39946abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                        llvalue = "llvm_build_select"
40046abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_va_arg : llvalue -> lltype -> string -> llbuilder -> llvalue
40146abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                      = "llvm_build_va_arg"
40246abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_extractelement : llvalue -> llvalue -> string -> llbuilder ->
40346abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                                llvalue = "llvm_build_extractelement"
40446abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_insertelement : llvalue -> llvalue -> llvalue -> string ->
40546abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                               llbuilder -> llvalue = "llvm_build_insertelement"
40646abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksenexternal build_shufflevector : llvalue -> llvalue -> llvalue -> string ->
40746abf91f7378fb7bb118d66fe6d69b5d3af1e9d5Gordon Henriksen                               llbuilder -> llvalue = "llvm_build_shufflevector"
408