Module Architecture.Llvm_backend
type instr = | Add of Llvm.llvalue * Llvm.llvalue * string| Sub of Llvm.llvalue * Llvm.llvalue * string| Mul of Llvm.llvalue * Llvm.llvalue * string| Sdiv of Llvm.llvalue * Llvm.llvalue * string| Neg of Llvm.llvalue * string| Icmp of Llvm.Icmp.t * Llvm.llvalue * Llvm.llvalue * string| And of Llvm.llvalue * Llvm.llvalue * string| Or of Llvm.llvalue * Llvm.llvalue * string| Not of Llvm.llvalue * string| Load of Llvm.lltype * Llvm.llvalue * string| Store of Llvm.llvalue * Llvm.llvalue| Alloca of Llvm.lltype * string| Call of Llvm.lltype * Llvm.llvalue * Llvm.llvalue array * string| Ret of Llvm.llvalue option| Br of Llvm.llbasicblock| CondBr of Llvm.llvalue * Llvm.llbasicblock * Llvm.llbasicblock| Phi of (Llvm.llvalue * Llvm.llbasicblock) list * string| Bitcast of Llvm.llvalue * Llvm.lltype * string| PtrToInt of Llvm.llvalue * Llvm.lltype * string| IntToPtr of Llvm.llvalue * Llvm.lltype * string
val emit : Llvm.llbuilder -> instr -> Llvm.llvalue optionval add :
Llvm.llbuilder ->
Llvm.llvalue ->
Llvm.llvalue ->
string ->
Llvm.llvalue optionval sub :
Llvm.llbuilder ->
Llvm.llvalue ->
Llvm.llvalue ->
string ->
Llvm.llvalue optionval mul :
Llvm.llbuilder ->
Llvm.llvalue ->
Llvm.llvalue ->
string ->
Llvm.llvalue optionval sdiv :
Llvm.llbuilder ->
Llvm.llvalue ->
Llvm.llvalue ->
string ->
Llvm.llvalue optionval neg : Llvm.llbuilder -> Llvm.llvalue -> string -> Llvm.llvalue optionval icmp :
Llvm.llbuilder ->
Llvm.Icmp.t ->
Llvm.llvalue ->
Llvm.llvalue ->
string ->
Llvm.llvalue optionval and_ :
Llvm.llbuilder ->
Llvm.llvalue ->
Llvm.llvalue ->
string ->
Llvm.llvalue optionval or_ :
Llvm.llbuilder ->
Llvm.llvalue ->
Llvm.llvalue ->
string ->
Llvm.llvalue optionval not : Llvm.llbuilder -> Llvm.llvalue -> string -> Llvm.llvalue optionval load :
Llvm.llbuilder ->
Llvm.lltype ->
Llvm.llvalue ->
string ->
Llvm.llvalue optionval alloca : Llvm.llbuilder -> Llvm.lltype -> string -> Llvm.llvalue optionval call :
Llvm.llbuilder ->
Llvm.lltype ->
Llvm.llvalue ->
Llvm.llvalue array ->
string ->
Llvm.llvalue optionval phi :
Llvm.llbuilder ->
(Llvm.llvalue * Llvm.llbasicblock) list ->
string ->
Llvm.llvalue optionval bitcast :
Llvm.llbuilder ->
Llvm.llvalue ->
Llvm.lltype ->
string ->
Llvm.llvalue optionval ptrtoint :
Llvm.llbuilder ->
Llvm.llvalue ->
Llvm.lltype ->
string ->
Llvm.llvalue optionval inttoptr :
Llvm.llbuilder ->
Llvm.llvalue ->
Llvm.lltype ->
string ->
Llvm.llvalue optionval store : Llvm.llbuilder -> Llvm.llvalue -> Llvm.llvalue -> unitval ret_void : Llvm.llbuilder -> unitval ret : Llvm.llbuilder -> Llvm.llvalue -> unitval br : Llvm.llbuilder -> Llvm.llbasicblock -> unitval cond_br :
Llvm.llbuilder ->
Llvm.llvalue ->
Llvm.llbasicblock ->
Llvm.llbasicblock ->
unit