summaryrefslogtreecommitdiff
path: root/asmcomp/linearize.mli
diff options
context:
space:
mode:
authorGreta Yorsh <gyorsh@janestreet.com>2019-08-13 12:11:13 +0100
committerGreta Yorsh <gyorsh@janestreet.com>2019-09-04 11:55:11 +0100
commit0b6b544fcb3cb47f5f7b531d8d062c3d89538d0c (patch)
treefb80f7a56dd7b03dfa83bf98904ea06c2611d78d /asmcomp/linearize.mli
parent5526a31364fb8fb909977e14ceb9fa1ea9c29e94 (diff)
downloadocaml-0b6b544fcb3cb47f5f7b531d8d062c3d89538d0c.tar.gz
Split Linearize into two modules
Separate the description of the IR from the transformations performed on it by moving type declarations from linearize.ml into their own file, called linear.ml.
Diffstat (limited to 'asmcomp/linearize.mli')
-rw-r--r--asmcomp/linearize.mli45
1 files changed, 1 insertions, 44 deletions
diff --git a/asmcomp/linearize.mli b/asmcomp/linearize.mli
index 7fb4625615..080b304bf2 100644
--- a/asmcomp/linearize.mli
+++ b/asmcomp/linearize.mli
@@ -14,47 +14,4 @@
(**************************************************************************)
(* Transformation of Mach code into a list of pseudo-instructions. *)
-
-type label = Cmm.label
-
-type 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 { delta_traps : int; }
- | Lpushtrap of { lbl_handler : label; }
- | Lpoptrap
- | Lraise of Lambda.raise_kind
-
-val has_fallthrough : instruction_desc -> bool
-val end_instr: instruction
-val instr_cons:
- instruction_desc -> Reg.t array -> Reg.t array -> instruction -> instruction
-val 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;
- fun_tailrec_entry_point_label : label;
- }
-
-val fundecl: Mach.fundecl -> fundecl
+val fundecl: Mach.fundecl -> Linear.fundecl