jon.recoil.org

Module Llvm_ir.Instruction

type switch_branch = {
  1. index : Llvm_ir.Value.t;
  2. label : Llvm_ir.Value.t;
}
type unary_op =
  1. | Fneg
type binary_op =
  1. | Add
  2. | Sub
  3. | Mul
  4. | Udiv
  5. | Sdiv
  6. | Urem
  7. | Srem
  8. | Fadd
  9. | Fsub
  10. | Fmul
  11. | Fdiv
  12. | Frem
  13. | Shl
  14. | Lshr
  15. | Ashr
  16. | And
  17. | Or
  18. | Xor
type atomicrmw_op =
  1. | Atomicrmw_add
  2. | Atomicrmw_sub
  3. | Atomicrmw_and
  4. | Atomicrmw_or
  5. | Atomicrmw_xor
  6. | Atomicrmw_xchg
type convert_op =
  1. | Sext
  2. | Zext
  3. | Trunc
  4. | Fpext
  5. | Fptrunc
  6. | Fptoui
  7. | Fptosi
  8. | Uitofp
  9. | Sitofp
  10. | Inttoptr
  11. | Ptrtoint
  12. | Ptrtoaddr
  13. | Addrspacecast
  14. | Bitcast
type icmp_cond =
  1. | Ieq
  2. | Ine
  3. | Iugt
  4. | Iuge
  5. | Iult
  6. | Iule
  7. | Isgt
  8. | Isge
  9. | Islt
  10. | Isle
type fcmp_cond =
  1. | Ffalse
  2. | Foeq
  3. | Fogt
  4. | Foge
  5. | Folt
  6. | Fole
  7. | Fone
  8. | Ford
  9. | Fueq
  10. | Fugt
  11. | Fuge
  12. | Fult
  13. | Fule
  14. | Fune
  15. | Funo
  16. | Ftrue
val binary_op_to_string : Llvm_ir.Instruction.binary_op -> string
val unary_op_to_string : Llvm_ir.Instruction.unary_op -> string
val convert_op_to_string : Llvm_ir.Instruction.convert_op -> string
val icmp_cond_to_string : Llvm_ir.Instruction.icmp_cond -> string
val fcmp_cond_to_string : Llvm_ir.Instruction.fcmp_cond -> string
val atomicrmw_op_to_string : Llvm_ir.Instruction.atomicrmw_op -> string
type op
type t
val get_res_value : Llvm_ir.Instruction.t -> Llvm_ir.Value.t option
val unreachable : Llvm_ir.Instruction.op
val extractelement : vector:Llvm_ir.Value.t -> index:Llvm_ir.Value.t -> Llvm_ir.Instruction.op
val insertelement : vector:Llvm_ir.Value.t -> index:Llvm_ir.Value.t -> to_insert:Llvm_ir.Value.t -> Llvm_ir.Instruction.op
val extractvalue : aggregate:Llvm_ir.Value.t -> indices:int list -> Llvm_ir.Instruction.op
val insertvalue : aggregate:Llvm_ir.Value.t -> indices:int list -> to_insert:Llvm_ir.Value.t -> Llvm_ir.Instruction.op
val getelementptr : base_type:Llvm_ir.Type.t -> base_ptr:Llvm_ir.Value.t -> indices:Llvm_ir.Value.t list -> Llvm_ir.Instruction.op
val cmpxchg : ptr:Llvm_ir.Value.t -> compare_with:Llvm_ir.Value.t -> set_if_equal:Llvm_ir.Value.t -> Llvm_ir.Instruction.op
val call : func:Llvm_ir.Ident.t -> args:Llvm_ir.Value.t list -> res_type:Llvm_ir.Type.Or_void.t -> attrs:Llvm_ir.Fn_attr.t list -> cc:Llvm_ir.Calling_conventions.t -> musttail:bool -> Llvm_ir.Instruction.op
val inline_asm : args:Llvm_ir.Value.t list -> res_type:Llvm_ir.Type.Or_void.t -> asm:string -> constraints:string -> sideeffect:bool -> Llvm_ir.Instruction.op
val pp_t : ?comment:string -> Stdlib.Format.formatter -> Llvm_ir.Instruction.t -> unit