sig
  type arg = Cte of int | Reg of Register.reg
  type label = string
  type rtl_node = {
    label : Riscv.label;
    op : string;
    dest : Register.reg option;
    args : Riscv.arg list;
    exits : Riscv.label list;
  }
  type rtl = Riscv.rtl_node list
  type riscv = Riscv.rtl_node
  val print_riscv : Stdlib.out_channel -> Riscv.rtl_node -> unit
end