1 (***********************************************************************)
5 (* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
7 (* Copyright 1996 Institut National de Recherche en Informatique et *)
8 (* en Automatique. All rights reserved. This file is distributed *)
9 (* under the terms of the Q Public License version 1.0. *)
11 (***********************************************************************)
13 (* $Id: linearize.mli 7812 2007-01-29 12:11:18Z xleroy $ *)
15 (* Transformation of Mach code into a list of pseudo-instructions. *)
18 val new_label: unit -> label
21 { mutable desc: instruction_desc;
22 mutable next: instruction;
28 and instruction_desc =
30 | Lop of Mach.operation
35 | Lcondbranch of Mach.test * label
36 | Lcondbranch3 of label option * label option * label option
37 | Lswitch of label array
43 val has_fallthrough : instruction_desc -> bool
44 val end_instr: instruction
46 instruction_desc -> Reg.t array -> Reg.t array -> instruction -> instruction
47 val invert_test: Mach.test -> Mach.test
51 fun_body: instruction;
54 val fundecl: Mach.fundecl -> fundecl