/usr/lib/ocaml/compiler-libs/simplify_common.mli is in ocaml-compiler-libs 4.05.0-10ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | (**************************************************************************)
(* *)
(* 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"]
(** [const_*_expr expr v annot], where the expression [expr] is known to
evaluate to the value [v], attempt to produce a more simple expression
together with its approximation and the benefit gained by replacing [expr]
with this new expression. This simplification is only performed if [expr]
is known to have no side effects. Otherwise, [expr] itself is returned,
with an appropriate approximation but zero benefit.
[const_boxed_int_expr] takes an additional argument specifying the kind of
boxed integer to which the given expression evaluates.
*)
val const_int_expr
: Flambda.named
-> int
-> Flambda.named * Simple_value_approx.t * Inlining_cost.Benefit.t
val const_char_expr
: Flambda.named
-> char
-> Flambda.named * Simple_value_approx.t * Inlining_cost.Benefit.t
val const_bool_expr
: Flambda.named
-> bool
-> Flambda.named * Simple_value_approx.t * Inlining_cost.Benefit.t
val const_ptr_expr
: Flambda.named
-> int
-> Flambda.named * Simple_value_approx.t * Inlining_cost.Benefit.t
val const_float_expr
: Flambda.named
-> float
-> Flambda.named * Simple_value_approx.t * Inlining_cost.Benefit.t
val const_boxed_int_expr
: Flambda.named
-> 'a Simple_value_approx.boxed_int
-> 'a
-> Flambda.named * Simple_value_approx.t * Inlining_cost.Benefit.t
val const_comparison_expr
: Flambda.named
-> Lambda.comparison
-> 'a
-> 'a
-> Flambda.named * Simple_value_approx.t * Inlining_cost.Benefit.t
(** Functions for transposing the order of bytes within words of various
sizes. *)
val swap16 : int -> int
val swap32 : int32 -> int32
val swap64 : int64 -> int64
val swapnative : nativeint -> nativeint
|