Module Riscv

module Riscv: sig .. end

RISC-V instructions


type arg = 
| Cte of int (*

immediate value

*)
| Reg of Register.reg (*

register or pseudo-register

*)
type label = string 

RTL graph labels

type rtl_node = {
   label : label; (*

entry label

*)
   op : string; (*

name of the RISC-V operator

*)
   dest : Register.reg option; (*

destination register, if present

*)
   args : arg list; (*

arguments

*)
   exits : label list; (*

exit labels

*)
}
type rtl = rtl_node list 
type riscv = rtl_node 
val print_riscv : Stdlib.out_channel -> rtl_node -> unit

printing function for a RISC-V instruction