Module Linearize
type 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|Lsetuptrap of label|Lpushtrap|Lpoptrap|Lraise of Cmm.raise_kind
val has_fallthrough : instruction_desc -> boolval end_instr : instructionval instr_cons : instruction_desc -> Reg.t array -> Reg.t array -> instruction -> instructionval invert_test : Mach.test -> Mach.test
type fundecl={fun_name : string;fun_body : instruction;fun_fast : bool;fun_dbg : Debuginfo.t;fun_spacetime_shape : Mach.spacetime_shape option;}
val fundecl : Mach.fundecl -> fundecl