sig
type register = Register.t
type label = Label.t
type instr =
Econst of int32 * Rtltree.register * Rtltree.label
| Eload of Rtltree.register * int * Rtltree.register * Rtltree.label
| Estore of Rtltree.register * Rtltree.register * int * Rtltree.label
| Emunop of Ops.munop * Rtltree.register * Rtltree.label
| Embinop of Ops.mbinop * Rtltree.register * Rtltree.register *
Rtltree.label
| Emubranch of Ops.mubranch * Rtltree.register * Rtltree.label *
Rtltree.label
| Embbranch of Ops.mbbranch * Rtltree.register * Rtltree.register *
Rtltree.label * Rtltree.label
| Ecall of Rtltree.register * string * Rtltree.register list *
Rtltree.label
| Egoto of Rtltree.label
type cfg = Rtltree.instr Label.map
type deffun = {
fun_name : string;
fun_formals : Rtltree.register list;
fun_result : Rtltree.register;
fun_locals : Register.set;
fun_entry : Rtltree.label;
fun_exit : Rtltree.label;
fun_body : Rtltree.cfg;
}
type file = { funs : Rtltree.deffun list; }
val print_instr : Stdlib.Format.formatter -> Rtltree.instr -> unit
val print_graph :
Stdlib.Format.formatter -> Rtltree.cfg -> Label.t -> Label.t -> unit
val print_deffun : Stdlib.Format.formatter -> Rtltree.deffun -> unit
val print_file : Stdlib.Format.formatter -> Rtltree.file -> unit
end