summaryrefslogtreecommitdiff
path: root/src/specialize.mli
diff options
context:
space:
mode:
authorJon French2019-04-15 16:18:18 +0100
committerJon French2019-04-15 16:18:18 +0100
commita9f0b829507e9882efdb59cce4d83ea7e87f5f71 (patch)
tree11cde6c1918bc15f4dda9a8e40afd4a1fe912a0a /src/specialize.mli
parent0f6fd188ca232cb539592801fcbb873d59611d81 (diff)
parent57443173923e87f33713c99dbab9eba7e3db0660 (diff)
Merge branch 'sail2' into rmem_interpreter
Diffstat (limited to 'src/specialize.mli')
-rw-r--r--src/specialize.mli7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/specialize.mli b/src/specialize.mli
index 6ec8c2aa..0a64112c 100644
--- a/src/specialize.mli
+++ b/src/specialize.mli
@@ -54,6 +54,8 @@ open Ast
open Ast_util
open Type_check
+val opt_ddump_spec_ast : (string * int) option ref
+
type specialization
(** Only specialize Type- and Ord- kinded polymorphism. *)
@@ -72,6 +74,8 @@ val int_specialization_with_externs : specialization
or some combination of those. *)
val polymorphic_functions : specialization -> 'a defs -> IdSet.t
+val add_initial_calls : IdSet.t -> unit
+
(** specialize returns an AST with all the Order and Type polymorphism
removed, as well as the environment produced by type checking that
AST with [Type_check.initial_env]. The env parameter is the
@@ -88,6 +92,3 @@ val specialize' : int -> specialization -> tannot defs -> Env.t -> tannot defs *
val instantiations_of : specialization -> id -> tannot defs -> typ_arg KBindings.t list
val string_of_instantiation : typ_arg KBindings.t -> string
-
-(** Remove all function definitions except for the given set *)
-val slice_defs : Env.t -> tannot defs -> IdSet.t -> tannot defs