ocaml/middle_end/internal_variable_names.ml

523 lines
18 KiB
OCaml

(**************************************************************************)
(* *)
(* OCaml *)
(* *)
(* Fu Yong Quah, Jane Street Europe *)
(* *)
(* Copyright 2017 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-66"]
open! Int_replace_polymorphic_compare
type t = string
let apply_arg = "apply_arg"
let apply_funct = "apply_funct"
let block_symbol = "block_symbol"
let block_symbol_get = "block_symbol_get"
let block_symbol_get_field = "block_symbol_get_field"
let closure = "closure"
let cond = "cond"
let cond_sequor = "cond_sequor"
let const_block = "const_block"
let const_bool = "const_bool"
let const_boxed_int = "const_boxed_int"
let const_char = "const_char"
let const_false = "const_false"
let const_float = "const_float"
let const_int = "const_int"
let const_one = "const_one"
let const_ptr = "const_ptr"
let const_ptr_one = "const_ptr_one"
let const_ptr_zero = "const_ptr_zero"
let const_sequand = "const_sequand"
let const_string = "const_string"
let const_true = "const_true"
let const_zero = "const_zero"
let denominator = "denominator"
let division_by_zero = "division_by_zero"
let dummy = "dummy"
let dup_func = "dup_func"
let dup_set_of_closures = "dup_set_of_closures"
let const_float_array = "const_float_array"
let fake_effect_symbol = "fake_effect_symbol"
let for_from = "for_from"
let for_to = "for_to"
let from_closure = "from_closure"
let full_apply = "full_apply"
let get_symbol_field = "get_symbol_field"
let const_immstring = "const_immstring"
let const_int32 = "const_int32"
let const_int64 = "const_int64"
let ignore = "ignore"
let is_zero = "is_zero"
let lifted_let_rec_block = "lifted_let_rec_block"
let meth = "meth"
let module_as_block = "module_as_block"
let const_nativeint = "const_nativeint"
let new_value = "new_value"
let numerator = "numerator"
let obj = "obj"
let offsetted = "offsetted"
let pabsfloat = "Pabsfloat"
let paddbint = "Paddbint"
let paddfloat = "Paddfloat"
let paddint = "Paddint"
let pandbint = "Pandbint"
let pandint = "Pandint"
let parraylength = "Parraylength"
let parrayrefs = "Parrayrefs"
let parrayrefu = "Parrayrefu"
let parraysets = "Parraysets"
let parraysetu = "Parraysetu"
let pasrbint = "Pasrbint"
let pasrint = "Pasrint"
let pbbswap = "Pbbswap"
let pbigarraydim = "Pbigarraydim"
let pbigarrayref = "Pbigarrayref"
let pbigarrayset = "Pbigarrayset"
let pbigstring_load_16 = "Pbigstring_load_16"
let pbigstring_load_32 = "Pbigstring_load_32"
let pbigstring_load_64 = "Pbigstring_load_64"
let pbigstring_set_16 = "Pbigstring_set_16"
let pbigstring_set_32 = "Pbigstring_set_32"
let pbigstring_set_64 = "Pbigstring_set_64"
let pbintcomp = "Pbintcomp"
let pbintofint = "Pbintofint"
let pbswap16 = "Pbswap16"
let pbytes_of_string = "Pbytes_of_string"
let pbytes_load_16 = "Pbytes_load_16"
let pbytes_load_32 = "Pbytes_load_32"
let pbytes_load_64 = "Pbytes_load_64"
let pbytes_set_16 = "Pbytes_set_16"
let pbytes_set_32 = "Pbytes_set_32"
let pbytes_set_64 = "Pbytes_set_64"
let pbytes_to_string = "Pbytes_to_string"
let pbyteslength = "Pbyteslength"
let pbytesrefs = "Pbytesrefs"
let pbytesrefu = "Pbytesrefu"
let pbytessets = "Pbytessets"
let pbytessetu = "Pbytessetu"
let pccall = "Pccall"
let pctconst = "Pctconst"
let pcvtbint = "Pcvtbint"
let pdirapply = "Pdirapply"
let pdivbint = "Pdivbint"
let pdivfloat = "Pdivfloat"
let pdivint = "Pdivint"
let pduparray = "Pduparray"
let pduprecord = "Pduprecord"
let pfield = "Pfield"
let pfield_computed = "Pfield_computed"
let pfloatcomp = "Pfloatcomp"
let pfloatfield = "Pfloatfield"
let pfloatofint = "Pfloatofint"
let pgetglobal = "Pgetglobal"
let pidentity = "Pidentity"
let pignore = "Pignore"
let pint_as_pointer = "Pint_as_pointer"
let pintcomp = "Pintcomp"
let pcompare_ints = "Pcompare_ints"
let pcompare_floats = "Pcompare_floats"
let pcompare_bints = "Pcompare_bints"
let pintofbint = "Pintofbint"
let pintoffloat = "Pintoffloat"
let pisint = "Pisint"
let pisout = "Pisout"
let plslbint = "Plslbint"
let plslint = "Plslint"
let plsrbint = "Plsrbint"
let plsrint = "Plsrint"
let pmakearray = "Pmakearray"
let pmakeblock = "Pmakeblock"
let pmodbint = "Pmodbint"
let pmodint = "Pmodint"
let pmulbint = "Pmulbint"
let pmulfloat = "Pmulfloat"
let pmulint = "Pmulint"
let pnegbint = "Pnegbint"
let pnegfloat = "Pnegfloat"
let pnegint = "Pnegint"
let pnot = "Pnot"
let poffsetint = "Poffsetint"
let poffsetref = "Poffsetref"
let pointer = "pointer"
let popaque = "Popaque"
let porbint = "Porbint"
let porint = "Porint"
let praise = "Praise"
let predef_exn = "predef_exn"
let prevapply = "Prevapply"
let project_closure = "project_closure"
let psequand = "Psequand"
let psequor = "Psequor"
let psetfield = "Psetfield"
let psetfield_computed = "Psetfield_computed"
let psetfloatfield = "Psetfloatfield"
let psetglobal = "Psetglobal"
let pstring_load_16 = "Pstring_load_16"
let pstring_load_32 = "Pstring_load_32"
let pstring_load_64 = "Pstring_load_64"
let pstringlength = "Pstringlength"
let pstringrefs = "Pstringrefs"
let pstringrefu = "Pstringrefu"
let psubbint = "Psubbint"
let psubfloat = "Psubfloat"
let psubint = "Psubint"
let pxorbint = "Pxorbint"
let pxorint = "Pxorint"
let pabsfloat_arg = "Pabsfloat_arg"
let paddbint_arg = "Paddbint_arg"
let paddfloat_arg = "Paddfloat_arg"
let paddint_arg = "Paddint_arg"
let pandbint_arg = "Pandbint_arg"
let pandint_arg = "Pandint_arg"
let parraylength_arg = "Parraylength_arg"
let parrayrefs_arg = "Parrayrefs_arg"
let parrayrefu_arg = "Parrayrefu_arg"
let parraysets_arg = "Parraysets_arg"
let parraysetu_arg = "Parraysetu_arg"
let partial_fun = "partial_fun"
let pasrbint_arg = "Pasrbint_arg"
let pasrint_arg = "Pasrint_arg"
let pbbswap_arg = "Pbbswap_arg"
let pbigarraydim_arg = "Pbigarraydim_arg"
let pbigarrayref_arg = "Pbigarrayref_arg"
let pbigarrayset_arg = "Pbigarrayset_arg"
let pbigstring_load_16_arg = "Pbigstring_load_16_arg"
let pbigstring_load_32_arg = "Pbigstring_load_32_arg"
let pbigstring_load_64_arg = "Pbigstring_load_64_arg"
let pbigstring_set_16_arg = "Pbigstring_set_16_arg"
let pbigstring_set_32_arg = "Pbigstring_set_32_arg"
let pbigstring_set_64_arg = "Pbigstring_set_64_arg"
let pbintcomp_arg = "Pbintcomp_arg"
let pbintofint_arg = "Pbintofint_arg"
let pbswap16_arg = "Pbswap16_arg"
let pbytes_of_string_arg = "Pbytes_of_string_arg"
let pbytes_to_string_arg = "Pbytes_to_string_arg"
let pbyteslength_arg = "Pbyteslength_arg"
let pbytesrefs_arg = "Pbytesrefs_arg"
let pbytesrefu_arg = "Pbytesrefu_arg"
let pbytessets_arg = "Pbytessets_arg"
let pbytessetu_arg = "Pbytessetu_arg"
let pccall_arg = "Pccall_arg"
let pctconst_arg = "Pctconst_arg"
let pcvtbint_arg = "Pcvtbint_arg"
let pdirapply_arg = "Pdirapply_arg"
let pdivbint_arg = "Pdivbint_arg"
let pdivfloat_arg = "Pdivfloat_arg"
let pdivint_arg = "Pdivint_arg"
let pduparray_arg = "Pduparray_arg"
let pduprecord_arg = "Pduprecord_arg"
let pfield_arg = "Pfield_arg"
let pfield_computed_arg = "Pfield_computed_arg"
let pfloatcomp_arg = "Pfloatcomp_arg"
let pfloatfield_arg = "Pfloatfield_arg"
let pfloatofint_arg = "Pfloatofint_arg"
let pgetglobal_arg = "Pgetglobal_arg"
let pidentity_arg = "Pidentity_arg"
let pignore_arg = "Pignore_arg"
let pint_as_pointer_arg = "Pint_as_pointer_arg"
let pintcomp_arg = "Pintcomp_arg"
let pcompare_ints_arg = "Pcompare_ints_arg"
let pcompare_floats_arg = "Pcompare_floats_arg"
let pcompare_bints_arg = "Pcompare_bints_arg"
let pintofbint_arg = "Pintofbint_arg"
let pintoffloat_arg = "Pintoffloat_arg"
let pisint_arg = "Pisint_arg"
let pisout_arg = "Pisout_arg"
let plslbint_arg = "Plslbint_arg"
let plslint_arg = "Plslint_arg"
let plsrbint_arg = "Plsrbint_arg"
let plsrint_arg = "Plsrint_arg"
let pmakearray_arg = "Pmakearray_arg"
let pmakeblock_arg = "Pmakeblock_arg"
let pmodbint_arg = "Pmodbint_arg"
let pmodint_arg = "Pmodint_arg"
let pmulbint_arg = "Pmulbint_arg"
let pmulfloat_arg = "Pmulfloat_arg"
let pmulint_arg = "Pmulint_arg"
let pnegbint_arg = "Pnegbint_arg"
let pnegfloat_arg = "Pnegfloat_arg"
let pnegint_arg = "Pnegint_arg"
let pnot_arg = "Pnot_arg"
let poffsetint_arg = "Poffsetint_arg"
let poffsetref_arg = "Poffsetref_arg"
let popaque_arg = "Popaque_arg"
let porbint_arg = "Porbint_arg"
let porint_arg = "Porint_arg"
let praise_arg = "Praise_arg"
let prevapply_arg = "Prevapply_arg"
let psequand_arg = "Psequand_arg"
let psequor_arg = "Psequor_arg"
let psetfield_arg = "Psetfield_arg"
let psetfield_computed_arg = "Psetfield_computed_arg"
let psetfloatfield_arg = "Psetfloatfield_arg"
let psetglobal_arg = "Psetglobal_arg"
let pstring_load_16_arg = "Pstring_load_16_arg"
let pstring_load_32_arg = "Pstring_load_32_arg"
let pstring_load_64_arg = "Pstring_load_64_arg"
let pbytes_load_16_arg = "Pbytes_load_16_arg"
let pbytes_load_32_arg = "Pbytes_load_32_arg"
let pbytes_load_64_arg = "Pbytes_load_64_arg"
let pbytes_set_16_arg = "Pbytes_set_16_arg"
let pbytes_set_32_arg = "Pbytes_set_32_arg"
let pbytes_set_64_arg = "Pbytes_set_64_arg"
let pstringlength_arg = "Pstringlength_arg"
let pstringrefs_arg = "Pstringrefs_arg"
let pstringrefu_arg = "Pstringrefu_arg"
let psubbint_arg = "Psubbint_arg"
let psubfloat_arg = "Psubfloat_arg"
let psubint_arg = "Psubint_arg"
let pxorbint_arg = "Pxorbint_arg"
let pxorint_arg = "Pxorint_arg"
let raise = "raise"
let raise_arg = "raise_arg"
let read_mutable = "read_mutable"
let remove_unused_arguments = "remove_unused_arguments"
let result = "result"
let send_arg = "send_arg"
let sequence = "sequence"
let set_of_closures = "set_of_closures"
let simplify_fv = "simplify_fv"
let staticraise_arg = "staticraise_arg"
let string_switch = "string_switch"
let switch = "switch"
let symbol = "symbol"
let symbol_field = "symbol_field"
let symbol_field_block = "symbol_field_block"
let the_dead_constant = "the_dead_constant"
let toplevel_substitution_named = "toplevel_substitution_named"
let unbox_free_vars_of_closures = "unbox_free_vars_of_closures"
let unit = "unit"
let zero = "zero"
let anon_fn_with_loc (sloc: Lambda.scoped_location) =
let loc = Debuginfo.Scoped_location.to_location sloc in
let (file, line, startchar) = Location.get_pos_info loc.loc_start in
let endchar = loc.loc_end.pos_cnum - loc.loc_start.pos_bol in
let pp_chars ppf =
if startchar >= 0 then Format.fprintf ppf ",%i--%i" startchar endchar in
if loc.Location.loc_ghost then "anon_fn"
else
Format.asprintf "anon_fn[%s:%i%t]"
(Filename.basename file) line pp_chars
let of_primitive : Lambda.primitive -> string = function
| Pidentity -> pidentity
| Pbytes_of_string -> pbytes_of_string
| Pbytes_to_string -> pbytes_to_string
| Pignore -> pignore
| Prevapply -> prevapply
| Pdirapply -> pdirapply
| Pgetglobal _ -> pgetglobal
| Psetglobal _ -> psetglobal
| Pmakeblock _ -> pmakeblock
| Pfield _ -> pfield
| Pfield_computed -> pfield_computed
| Psetfield _ -> psetfield
| Psetfield_computed _ -> psetfield_computed
| Pfloatfield _ -> pfloatfield
| Psetfloatfield _ -> psetfloatfield
| Pduprecord _ -> pduprecord
| Pccall _ -> pccall
| Praise _ -> praise
| Psequand -> psequand
| Psequor -> psequor
| Pnot -> pnot
| Pnegint -> pnegint
| Paddint -> paddint
| Psubint -> psubint
| Pmulint -> pmulint
| Pdivint _ -> pdivint
| Pmodint _ -> pmodint
| Pandint -> pandint
| Porint -> porint
| Pxorint -> pxorint
| Plslint -> plslint
| Plsrint -> plsrint
| Pasrint -> pasrint
| Pintcomp _ -> pintcomp
| Pcompare_ints -> pcompare_ints
| Pcompare_floats -> pcompare_floats
| Pcompare_bints _ -> pcompare_bints
| Poffsetint _ -> poffsetint
| Poffsetref _ -> poffsetref
| Pintoffloat -> pintoffloat
| Pfloatofint -> pfloatofint
| Pnegfloat -> pnegfloat
| Pabsfloat -> pabsfloat
| Paddfloat -> paddfloat
| Psubfloat -> psubfloat
| Pmulfloat -> pmulfloat
| Pdivfloat -> pdivfloat
| Pfloatcomp _ -> pfloatcomp
| Pstringlength -> pstringlength
| Pstringrefu -> pstringrefu
| Pstringrefs -> pstringrefs
| Pbyteslength -> pbyteslength
| Pbytesrefu -> pbytesrefu
| Pbytessetu -> pbytessetu
| Pbytesrefs -> pbytesrefs
| Pbytessets -> pbytessets
| Parraylength _ -> parraylength
| Pmakearray _ -> pmakearray
| Pduparray _ -> pduparray
| Parrayrefu _ -> parrayrefu
| Parraysetu _ -> parraysetu
| Parrayrefs _ -> parrayrefs
| Parraysets _ -> parraysets
| Pctconst _ -> pctconst
| Pisint -> pisint
| Pisout -> pisout
| Pbintofint _ -> pbintofint
| Pintofbint _ -> pintofbint
| Pcvtbint _ -> pcvtbint
| Pnegbint _ -> pnegbint
| Paddbint _ -> paddbint
| Psubbint _ -> psubbint
| Pmulbint _ -> pmulbint
| Pdivbint _ -> pdivbint
| Pmodbint _ -> pmodbint
| Pandbint _ -> pandbint
| Porbint _ -> porbint
| Pxorbint _ -> pxorbint
| Plslbint _ -> plslbint
| Plsrbint _ -> plsrbint
| Pasrbint _ -> pasrbint
| Pbintcomp _ -> pbintcomp
| Pbigarrayref _ -> pbigarrayref
| Pbigarrayset _ -> pbigarrayset
| Pbigarraydim _ -> pbigarraydim
| Pstring_load_16 _ -> pstring_load_16
| Pstring_load_32 _ -> pstring_load_32
| Pstring_load_64 _ -> pstring_load_64
| Pbytes_load_16 _ -> pbytes_load_16
| Pbytes_load_32 _ -> pbytes_load_32
| Pbytes_load_64 _ -> pbytes_load_64
| Pbytes_set_16 _ -> pbytes_set_16
| Pbytes_set_32 _ -> pbytes_set_32
| Pbytes_set_64 _ -> pbytes_set_64
| Pbigstring_load_16 _ -> pbigstring_load_16
| Pbigstring_load_32 _ -> pbigstring_load_32
| Pbigstring_load_64 _ -> pbigstring_load_64
| Pbigstring_set_16 _ -> pbigstring_set_16
| Pbigstring_set_32 _ -> pbigstring_set_32
| Pbigstring_set_64 _ -> pbigstring_set_64
| Pbswap16 -> pbswap16
| Pbbswap _ -> pbbswap
| Pint_as_pointer -> pint_as_pointer
| Popaque -> popaque
let of_primitive_arg : Lambda.primitive -> string = function
| Pidentity -> pidentity_arg
| Pbytes_of_string -> pbytes_of_string_arg
| Pbytes_to_string -> pbytes_to_string_arg
| Pignore -> pignore_arg
| Prevapply -> prevapply_arg
| Pdirapply -> pdirapply_arg
| Pgetglobal _ -> pgetglobal_arg
| Psetglobal _ -> psetglobal_arg
| Pmakeblock _ -> pmakeblock_arg
| Pfield _ -> pfield_arg
| Pfield_computed -> pfield_computed_arg
| Psetfield _ -> psetfield_arg
| Psetfield_computed _ -> psetfield_computed_arg
| Pfloatfield _ -> pfloatfield_arg
| Psetfloatfield _ -> psetfloatfield_arg
| Pduprecord _ -> pduprecord_arg
| Pccall _ -> pccall_arg
| Praise _ -> praise_arg
| Psequand -> psequand_arg
| Psequor -> psequor_arg
| Pnot -> pnot_arg
| Pnegint -> pnegint_arg
| Paddint -> paddint_arg
| Psubint -> psubint_arg
| Pmulint -> pmulint_arg
| Pdivint _ -> pdivint_arg
| Pmodint _ -> pmodint_arg
| Pandint -> pandint_arg
| Porint -> porint_arg
| Pxorint -> pxorint_arg
| Plslint -> plslint_arg
| Plsrint -> plsrint_arg
| Pasrint -> pasrint_arg
| Pintcomp _ -> pintcomp_arg
| Pcompare_ints -> pcompare_ints_arg
| Pcompare_floats -> pcompare_floats_arg
| Pcompare_bints _ -> pcompare_bints_arg
| Poffsetint _ -> poffsetint_arg
| Poffsetref _ -> poffsetref_arg
| Pintoffloat -> pintoffloat_arg
| Pfloatofint -> pfloatofint_arg
| Pnegfloat -> pnegfloat_arg
| Pabsfloat -> pabsfloat_arg
| Paddfloat -> paddfloat_arg
| Psubfloat -> psubfloat_arg
| Pmulfloat -> pmulfloat_arg
| Pdivfloat -> pdivfloat_arg
| Pfloatcomp _ -> pfloatcomp_arg
| Pstringlength -> pstringlength_arg
| Pstringrefu -> pstringrefu_arg
| Pstringrefs -> pstringrefs_arg
| Pbyteslength -> pbyteslength_arg
| Pbytesrefu -> pbytesrefu_arg
| Pbytessetu -> pbytessetu_arg
| Pbytesrefs -> pbytesrefs_arg
| Pbytessets -> pbytessets_arg
| Parraylength _ -> parraylength_arg
| Pmakearray _ -> pmakearray_arg
| Pduparray _ -> pduparray_arg
| Parrayrefu _ -> parrayrefu_arg
| Parraysetu _ -> parraysetu_arg
| Parrayrefs _ -> parrayrefs_arg
| Parraysets _ -> parraysets_arg
| Pctconst _ -> pctconst_arg
| Pisint -> pisint_arg
| Pisout -> pisout_arg
| Pbintofint _ -> pbintofint_arg
| Pintofbint _ -> pintofbint_arg
| Pcvtbint _ -> pcvtbint_arg
| Pnegbint _ -> pnegbint_arg
| Paddbint _ -> paddbint_arg
| Psubbint _ -> psubbint_arg
| Pmulbint _ -> pmulbint_arg
| Pdivbint _ -> pdivbint_arg
| Pmodbint _ -> pmodbint_arg
| Pandbint _ -> pandbint_arg
| Porbint _ -> porbint_arg
| Pxorbint _ -> pxorbint_arg
| Plslbint _ -> plslbint_arg
| Plsrbint _ -> plsrbint_arg
| Pasrbint _ -> pasrbint_arg
| Pbintcomp _ -> pbintcomp_arg
| Pbigarrayref _ -> pbigarrayref_arg
| Pbigarrayset _ -> pbigarrayset_arg
| Pbigarraydim _ -> pbigarraydim_arg
| Pstring_load_16 _ -> pstring_load_16_arg
| Pstring_load_32 _ -> pstring_load_32_arg
| Pstring_load_64 _ -> pstring_load_64_arg
| Pbytes_load_16 _ -> pbytes_load_16_arg
| Pbytes_load_32 _ -> pbytes_load_32_arg
| Pbytes_load_64 _ -> pbytes_load_64_arg
| Pbytes_set_16 _ -> pbytes_set_16_arg
| Pbytes_set_32 _ -> pbytes_set_32_arg
| Pbytes_set_64 _ -> pbytes_set_64_arg
| Pbigstring_load_16 _ -> pbigstring_load_16_arg
| Pbigstring_load_32 _ -> pbigstring_load_32_arg
| Pbigstring_load_64 _ -> pbigstring_load_64_arg
| Pbigstring_set_16 _ -> pbigstring_set_16_arg
| Pbigstring_set_32 _ -> pbigstring_set_32_arg
| Pbigstring_set_64 _ -> pbigstring_set_64_arg
| Pbswap16 -> pbswap16_arg
| Pbbswap _ -> pbbswap_arg
| Pint_as_pointer -> pint_as_pointer_arg
| Popaque -> popaque_arg