OCaml compiler library : Clflags

`sig
module Int_arg_helper :
sig
type parsed
val parse :
string -> string -> Clflags.Int_arg_helper.parsed Stdlib.ref -> unit
type parse_result = Ok | Parse_failed of exn
val parse_no_error :
string ->
Clflags.Int_arg_helper.parsed Stdlib.ref ->
Clflags.Int_arg_helper.parse_result
val get : key:int -> Clflags.Int_arg_helper.parsed -> int
end
module Float_arg_helper :
sig
type parsed
val parse :
string ->
string -> Clflags.Float_arg_helper.parsed Stdlib.ref -> unit
type parse_result = Ok | Parse_failed of exn
val parse_no_error :
string ->
Clflags.Float_arg_helper.parsed Stdlib.ref ->
Clflags.Float_arg_helper.parse_result
val get : key:int -> Clflags.Float_arg_helper.parsed -> float
end
type inlining_arguments = {
inline_call_cost : int option;
inline_alloc_cost : int option;
inline_prim_cost : int option;
inline_branch_cost : int option;
inline_indirect_cost : int option;
inline_lifting_benefit : int option;
inline_branch_factor : float option;
inline_max_depth : int option;
inline_max_unroll : int option;
inline_threshold : float option;
inline_toplevel_threshold : int option;
}
val classic_arguments : Clflags.inlining_arguments
val o1_arguments : Clflags.inlining_arguments
val o2_arguments : Clflags.inlining_arguments
val o3_arguments : Clflags.inlining_arguments
val use_inlining_arguments_set :
?round:int -> Clflags.inlining_arguments -> unit
val objfiles : string list Stdlib.ref
val ccobjs : string list Stdlib.ref
val dllibs : string list Stdlib.ref
val cmi_file : string option Stdlib.ref
val compile_only : bool Stdlib.ref
val output_name : string option Stdlib.ref
val include_dirs : string list Stdlib.ref
val hidden_include_dirs : string list Stdlib.ref
val no_std_include : bool Stdlib.ref
val no_cwd : bool Stdlib.ref
val print_types : bool Stdlib.ref
val make_archive : bool Stdlib.ref
val debug : bool Stdlib.ref
val debug_full : bool Stdlib.ref
val unsafe : bool Stdlib.ref
val use_linscan : bool Stdlib.ref
val link_everything : bool Stdlib.ref
val custom_runtime : bool Stdlib.ref
val no_check_prims : bool Stdlib.ref
val bytecode_compatible_32 : bool Stdlib.ref
val output_c_object : bool Stdlib.ref
val output_complete_object : bool Stdlib.ref
val output_complete_executable : bool Stdlib.ref
val all_ccopts : string list Stdlib.ref
val classic : bool Stdlib.ref
val nopervasives : bool Stdlib.ref
val match_context_rows : int Stdlib.ref
val safer_matching : bool Stdlib.ref
val open_modules : string list Stdlib.ref
val preprocessor : string option Stdlib.ref
val all_ppx : string list Stdlib.ref
val absname : bool Stdlib.ref
val annotations : bool Stdlib.ref
val binary_annotations : bool Stdlib.ref
val store_occurrences : bool Stdlib.ref
val use_threads : bool Stdlib.ref
val noassert : bool Stdlib.ref
val verbose : bool Stdlib.ref
val noprompt : bool Stdlib.ref
val nopromptcont : bool Stdlib.ref
val init_file : string option Stdlib.ref
val noinit : bool Stdlib.ref
val noversion : bool Stdlib.ref
val use_prims : string Stdlib.ref
val use_runtime : string Stdlib.ref
val plugin : bool Stdlib.ref
val principal : bool Stdlib.ref
val print_variance : bool Stdlib.ref
val real_paths : bool Stdlib.ref
val recursive_types : bool Stdlib.ref
val strict_sequence : bool Stdlib.ref
val strict_formats : bool Stdlib.ref
val applicative_functors : bool Stdlib.ref
val make_runtime : bool Stdlib.ref
val c_compiler : string option Stdlib.ref
val no_auto_link : bool Stdlib.ref
val dllpaths : string list Stdlib.ref
val make_package : bool Stdlib.ref
val for_package : string option Stdlib.ref
val error_size : int Stdlib.ref
val float_const_prop : bool Stdlib.ref
val no_alias_deps : bool Stdlib.ref
val unique_ids : bool Stdlib.ref
val canonical_ids : bool Stdlib.ref
val locations : bool Stdlib.ref
val dump_source : bool Stdlib.ref
val dump_parsetree : bool Stdlib.ref
val dump_typedtree : bool Stdlib.ref
val dump_shape : bool Stdlib.ref
val dump_matchcomp : bool Stdlib.ref
val dump_rawlambda : bool Stdlib.ref
val dump_lambda : bool Stdlib.ref
val dump_rawclambda : bool Stdlib.ref
val dump_clambda : bool Stdlib.ref
val dump_rawflambda : bool Stdlib.ref
val dump_flambda : bool Stdlib.ref
val dump_flambda_let : int option Stdlib.ref
val dump_instr : bool Stdlib.ref
val keep_camlprimc_file : bool Stdlib.ref
val keep_asm_file : bool Stdlib.ref
val optimize_for_speed : bool Stdlib.ref
val dump_cmm : bool Stdlib.ref
val dump_selection : bool Stdlib.ref
val dump_cse : bool Stdlib.ref
val dump_live : bool Stdlib.ref
val dump_spill : bool Stdlib.ref
val dump_split : bool Stdlib.ref
val dump_interf : bool Stdlib.ref
val dump_prefer : bool Stdlib.ref
val dump_regalloc : bool Stdlib.ref
val dump_reload : bool Stdlib.ref
val dump_scheduling : bool Stdlib.ref
val dump_linear : bool Stdlib.ref
val dump_interval : bool Stdlib.ref
val keep_startup_file : bool Stdlib.ref
val dump_combine : bool Stdlib.ref
val native_code : bool Stdlib.ref
val default_inline_threshold : float
val inline_threshold : Clflags.Float_arg_helper.parsed Stdlib.ref
val inlining_report : bool Stdlib.ref
val simplify_rounds : int option Stdlib.ref
val default_simplify_rounds : int Stdlib.ref
val rounds : unit -> int
val default_inline_max_unroll : int
val inline_max_unroll : Clflags.Int_arg_helper.parsed Stdlib.ref
val default_inline_toplevel_threshold : int
val inline_toplevel_threshold : Clflags.Int_arg_helper.parsed Stdlib.ref
val default_inline_call_cost : int
val default_inline_alloc_cost : int
val default_inline_prim_cost : int
val default_inline_branch_cost : int
val default_inline_indirect_cost : int
val default_inline_lifting_benefit : int
val inline_call_cost : Clflags.Int_arg_helper.parsed Stdlib.ref
val inline_alloc_cost : Clflags.Int_arg_helper.parsed Stdlib.ref
val inline_prim_cost : Clflags.Int_arg_helper.parsed Stdlib.ref
val inline_branch_cost : Clflags.Int_arg_helper.parsed Stdlib.ref
val inline_indirect_cost : Clflags.Int_arg_helper.parsed Stdlib.ref
val inline_lifting_benefit : Clflags.Int_arg_helper.parsed Stdlib.ref
val default_inline_branch_factor : float
val inline_branch_factor : Clflags.Float_arg_helper.parsed Stdlib.ref
val dont_write_files : bool Stdlib.ref
val std_include_flag : string -> string
val std_include_dir : unit -> string list
val shared : bool Stdlib.ref
val dlcode : bool Stdlib.ref
val pic_code : bool Stdlib.ref
val runtime_variant : string Stdlib.ref
val with_runtime : bool Stdlib.ref
val force_slash : bool Stdlib.ref
val keep_docs : bool Stdlib.ref
val keep_locs : bool Stdlib.ref
val opaque : bool Stdlib.ref
val profile_columns : Profile.column list Stdlib.ref
val flambda_invariant_checks : bool Stdlib.ref
val unbox_closures : bool Stdlib.ref
val unbox_closures_factor : int Stdlib.ref
val default_unbox_closures_factor : int
val unbox_free_vars_of_closures : bool Stdlib.ref
val unbox_specialised_args : bool Stdlib.ref
val clambda_checks : bool Stdlib.ref
val cmm_invariants : bool Stdlib.ref
val parsetree_ghost_loc_invariant : bool Stdlib.ref
val default_inline_max_depth : int
val inline_max_depth : Clflags.Int_arg_helper.parsed Stdlib.ref
val remove_unused_arguments : bool Stdlib.ref
val dump_flambda_verbose : bool Stdlib.ref
val classic_inlining : bool Stdlib.ref
val afl_instrument : bool Stdlib.ref
val afl_inst_ratio : int Stdlib.ref
val function_sections : bool Stdlib.ref
val all_passes : string list Stdlib.ref
val dumped_pass : string -> bool
val set_dumped_pass : string -> bool -> unit
val dump_into_file : bool Stdlib.ref
val dump_dir : string option Stdlib.ref
val keyword_edition : string option Stdlib.ref
val parse_keyword_edition : string -> (int * int) option * string list
type 'a env_reader = {
parse : string -> 'a option;
print : 'a -> string;
usage : string;
env_var : string;
}
val color : Misc.Color.setting option Stdlib.ref
val color_reader : Misc.Color.setting Clflags.env_reader
val error_style : Misc.Error_style.setting option Stdlib.ref
val error_style_reader : Misc.Error_style.setting Clflags.env_reader
val unboxed_types : bool Stdlib.ref
val insn_sched : bool Stdlib.ref
val insn_sched_default : bool
module Compiler_pass :
sig
type t = Parsing | Typing | Lambda | Scheduling | Emit
val of_string : string -> Clflags.Compiler_pass.t option
val to_string : Clflags.Compiler_pass.t -> string
val is_compilation_pass : Clflags.Compiler_pass.t -> bool
val available_pass_names :
filter:(Clflags.Compiler_pass.t -> bool) ->
native:bool -> string list
val can_save_ir_after : Clflags.Compiler_pass.t -> bool
val compare : Clflags.Compiler_pass.t -> Clflags.Compiler_pass.t -> int
val to_output_filename :
Clflags.Compiler_pass.t -> prefix:string -> string
val of_input_filename : string -> Clflags.Compiler_pass.t option
end
val stop_after : Clflags.Compiler_pass.t option Stdlib.ref
val should_stop_after : Clflags.Compiler_pass.t -> bool
val set_save_ir_after : Clflags.Compiler_pass.t -> bool -> unit
val should_save_ir_after : Clflags.Compiler_pass.t -> bool
module Dump_option :
sig
type t =
Source
| Parsetree
| Typedtree
| Shape
| Match_comp
| Raw_lambda
| Lambda
| Instr
| Raw_clambda
| Clambda
| Raw_flambda
| Flambda
| Cmm
| Selection
| Combine
| CSE
| Live
| Spill
| Split
| Interf
| Prefer
| Regalloc
| Scheduling
| Linear
| Interval
val compare : Clflags.Dump_option.t -> Clflags.Dump_option.t -> int
val of_string : string -> Clflags.Dump_option.t option
val to_string : Clflags.Dump_option.t -> string
val flag : Clflags.Dump_option.t -> bool Stdlib.ref
val available : Clflags.Dump_option.t -> (unit, string) Stdlib.Result.t
end
val arg_spec : (string * Stdlib.Arg.spec * string) list Stdlib.ref
val add_arguments :
string -> (string * Stdlib.Arg.spec * string) list -> unit
val create_usage_msg : string -> string
val print_arguments : string -> unit
val reset_arguments : unit -> unit
end`