Module Jasmin.Riscv_lowering
val lower_cassgn :
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt)
Arch_extra.arch_toIdent ->
Expr.lval ->
Wsize.wsize ->
Expr.pexpr ->
((Expr.lval list
* (Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt,
Riscv_instr_decl.riscv_op,
Riscv_extra.riscv_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
optionval lower_swap :
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt)
Arch_extra.arch_toIdent ->
Type.stype ->
Expr.lval list ->
Expr.pexpr list ->
((Expr.lval list
* (Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt,
Riscv_instr_decl.riscv_op,
Riscv_extra.riscv_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
list
optionval lower_mulu :
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt)
Arch_extra.arch_toIdent ->
Expr.lval list ->
Expr.pexpr list ->
((Expr.lval list
* (Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt,
Riscv_instr_decl.riscv_op,
Riscv_extra.riscv_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
list
optionval lower_pseudo_operator :
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt)
Arch_extra.arch_toIdent ->
Expr.lval list ->
Pseudo_operator.pseudo_operator ->
Expr.pexpr list ->
((Expr.lval list
* (Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt,
Riscv_instr_decl.riscv_op,
Riscv_extra.riscv_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
list
optionval lower_copn :
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt)
Arch_extra.arch_toIdent ->
Expr.lval list ->
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt,
Riscv_instr_decl.riscv_op,
Riscv_extra.riscv_extra_op)
Arch_extra.extended_op
Sopn.sopn ->
Expr.pexpr list ->
((Expr.lval list
* (Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt,
Riscv_instr_decl.riscv_op,
Riscv_extra.riscv_extra_op)
Arch_extra.extended_op
Sopn.sopn)
* Expr.pexpr list)
list
optiontype lowering_options = unitval lower_i :
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt)
Arch_extra.arch_toIdent ->
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt,
Riscv_instr_decl.riscv_op,
Riscv_extra.riscv_extra_op)
Arch_extra.extended_op
Expr.instr ->
(Riscv_decl.register,
Arch_utils.empty,
Arch_utils.empty,
Arch_utils.empty,
Riscv_decl.condt,
Riscv_instr_decl.riscv_op,
Riscv_extra.riscv_extra_op)
Arch_extra.extended_op
Expr.instr
list