package jasmin

  1. Overview
  2. Docs
Compiler for High-Assurance and High-Speed Cryptography

Install

dune-project
 Dependency

Authors

Maintainers

Sources

jasmin-compiler-v2025.06.1.tar.bz2
sha256=e92b42fa69da7c730b0c26dacf842a72b4febcaf4f2157a1dc18b3cce1f859fa

doc/jasmin.jasmin/Jasmin/Array_expansion/index.html

Module Jasmin.Array_expansion

module E : sig ... end
type varr_info = {
  1. vi_v : Var0.Var.var;
  2. vi_s : Wsize.wsize;
  3. vi_n : Ident.Ident.ident list;
}
type expand_info = {
  1. vars : Var0.Var.var list;
  2. arrs : varr_info list;
  3. finfo : Expr.fun_info;
}
type array_info = {
  1. ai_ty : Wsize.wsize;
  2. ai_len : BinNums.coq_Z;
  3. ai_elems : Var0.Var.var list;
}
type t = {
  1. svars : Var0.SvExtra.Sv.t;
  2. sarrs : array_info Var0.Mvar.t;
}
type expd_t = ((Wsize.wsize * BinNums.coq_Z) option list * (Wsize.wsize * BinNums.coq_Z) option list) Var0.Mf.t
val check_gvar : t -> Expr.gvar -> bool
val expand_lvs : t -> Expr.lval list -> (Compiler_util.pp_error_loc, Expr.lval list) Utils0.result
val expand_i : 'a1 Sopn.asmOp -> expd_t -> t -> 'a1 Expr.instr -> 'a1 Expr.instr Compiler_util.cexec
val expand_tyv : t -> bool -> string -> Type.stype -> Expr.var_i -> (Compiler_util.pp_error_loc, (Type.stype list * Expr.var_i list) * (Wsize.wsize * BinNums.coq_Z) option) Utils0.result
val expand_prog : 'a1 Sopn.asmOp -> (Var0.funname -> 'a1 Expr.ufundef -> expand_info) -> Var0.funname list -> 'a1 Expr.uprog -> 'a1 Expr.uprog Compiler_util.cexec