50 lines
2.2 KiB
OCaml
50 lines
2.2 KiB
OCaml
(**************************************************************************)
|
|
(* *)
|
|
(* OCaml *)
|
|
(* *)
|
|
(* Pierre Chambart, OCamlPro *)
|
|
(* Mark Shinwell and Leo White, Jane Street Europe *)
|
|
(* *)
|
|
(* Copyright 2013--2016 OCamlPro SAS *)
|
|
(* Copyright 2014--2016 Jane Street Group LLC *)
|
|
(* *)
|
|
(* All rights reserved. This file is distributed under the terms of *)
|
|
(* the GNU Lesser General Public License version 2.1, with the *)
|
|
(* special exception on linking described in the file ../LICENSE. *)
|
|
(* *)
|
|
(**************************************************************************)
|
|
|
|
[@@@ocaml.warning "+a-4-9-30-40-41-42"]
|
|
|
|
(* CR-someday mshinwell: name of this source file could now be improved *)
|
|
|
|
type 'a by_copying_function_body =
|
|
env:Inline_and_simplify_aux.Env.t
|
|
-> r:Inline_and_simplify_aux.Result.t
|
|
-> clos:Flambda.function_declarations
|
|
-> lfunc:Flambda.t
|
|
-> fun_id:Closure_id.t
|
|
-> func:Flambda.function_declaration
|
|
-> args:Flambda.t list
|
|
-> Flambda.t * Inline_and_simplify_aux.Result.t
|
|
|
|
type 'a by_copying_function_declaration =
|
|
env:Inline_and_simplify_aux.Env.t
|
|
-> r:Inline_and_simplify_aux.Result.t
|
|
-> funct:Flambda.t
|
|
-> clos:Flambda.function_declarations
|
|
-> fun_id:Closure_id.t
|
|
-> func:Flambda.function_declaration
|
|
-> args_with_approxs:
|
|
(Flambda.t list) * (Simple_value_approx.t list)
|
|
-> invariant_params:Variable.Set.t
|
|
-> specialised_args:Variable.Set.t
|
|
-> dbg:Debuginfo.t
|
|
-> (Flambda.t * Inline_and_simplify_aux.Result.t) option
|
|
|
|
type simplify =
|
|
Inline_and_simplify_aux.Env.t
|
|
-> Inline_and_simplify_aux.Result.t
|
|
-> Flambda.t
|
|
-> Flambda.t * Inline_and_simplify_aux.Result.t
|