Lineartype label = Cmm.labeltype instruction = {mutable desc : instruction_desc;mutable next : instruction;arg : Reg.t array;res : Reg.t array;dbg : Debuginfo.t;live : Reg.Set.t;}and instruction_desc = | Lprologue| Lend| Lop of Mach.operation| Lreloadretaddr| Lreturn| Llabel of label| Lbranch of label| Lcondbranch of Mach.test * label| Lcondbranch3 of label option * label option * label option| Lswitch of label array| Lentertrap| Ladjust_trap_depth of {}| Lpushtrap of {lbl_handler : label;}| Lpoptrap| Lraise of Lambda.raise_kindval has_fallthrough : instruction_desc -> boolval end_instr : instructionval instr_cons :
instruction_desc ->
Reg.t array ->
Reg.t array ->
instruction ->
instructiontype fundecl = {fun_name : string;fun_args : Reg.Set.t;fun_body : instruction;fun_fast : bool;fun_dbg : Debuginfo.t;fun_tailrec_entry_point_label : label;fun_contains_nontail_calls : bool;fun_num_stack_slots : int array;fun_frame_required : bool;fun_extra_stack_used : int;}