Module Llvm_ir.Instruction
type binary_op = | Add| Sub| Mul| Udiv| Sdiv| Urem| Srem| Fadd| Fsub| Fmul| Fdiv| Frem| Shl| Lshr| Ashr| And| Or| Xor
type atomicrmw_op = | Atomicrmw_add| Atomicrmw_sub| Atomicrmw_and| Atomicrmw_or| Atomicrmw_xor| Atomicrmw_xchg
type convert_op = | Sext| Zext| Trunc| Fpext| Fptrunc| Fptoui| Fptosi| Uitofp| Sitofp| Inttoptr| Ptrtoint| Ptrtoaddr| Addrspacecast| Bitcast
type icmp_cond = | Ieq| Ine| Iugt| Iuge| Iult| Iule| Isgt| Isge| Islt| Isle
type fcmp_cond = | Ffalse| Foeq| Fogt| Foge| Folt| Fole| Fone| Ford| Fueq| Fugt| Fuge| Fult| Fule| Fune| Funo| Ftrue
val binary_op_to_string : binary_op -> stringval unary_op_to_string : unary_op -> stringval icmp_cond_to_string : icmp_cond -> stringval fcmp_cond_to_string : fcmp_cond -> stringval without_res : op -> tval insertvalue :
aggregate:Value.t ->
indices:int list ->
to_insert:Value.t ->
opval inline_asm :
args:Value.t list ->
res_type:Type.Or_void.t ->
asm:string ->
constraints:string ->
sideeffect:bool ->
op