Math.NET Numerics
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

54 lines
2.0 KiB

// (c) Microsoft Corporation. All rights reserved
#light
module Microsoft.FSharp.Compiler.Opt
open Internal.Utilities
open Internal.Utilities.Pervasives
open Microsoft.FSharp.Compiler
open Microsoft.FSharp.Compiler.AbstractIL
open Microsoft.FSharp.Compiler.AbstractIL.Internal
type OptimizationSettings =
{ abstractBigTargets : bool
jitOptUser : bool option
localOptUser : bool option
crossModuleOptUser : bool option
bigTargetSize : int
veryBigExprSize : int
lambdaInlineThreshold : int
reportingPhase : bool;
reportNoNeedToTailcall: bool
reportFunctionSizes : bool
reportHasEffect : bool
reportTotalSizes : bool }
member jitOpt : unit -> bool
member localOpt : unit -> bool
static member Defaults : OptimizationSettings
/// Optimization information
type ModuleInfo
type LazyModuleInfo = ModuleInfo Lazy.t
type IncrementalOptimizationEnv
val internal empty_env : IncrementalOptimizationEnv
/// For building optimization environments incrementally
val internal BindCcu : Tast.ccu -> LazyModuleInfo -> IncrementalOptimizationEnv -> IncrementalOptimizationEnv
/// The entry point. Boolean indicates 'incremental extension' in FSI
val internal OptimizeImplFile : OptimizationSettings * Tast.ccu (* scope *) * Env.TcGlobals * Import.ImportMap * IncrementalOptimizationEnv * bool * Tast.TypedImplFile -> IncrementalOptimizationEnv * Tast.TypedImplFile * LazyModuleInfo
/// Displaying optimization data
val internal moduleInfoL : LazyModuleInfo -> Layout.layout
/// Saving and re-reading optimization information
val p_lazy_modul_info : LazyModuleInfo -> Pickle.WriterState -> unit
val internal u_lazy_modul_info : Pickle.ReaderState -> LazyModuleInfo
/// Rewrite the modul info using the export remapping
val RemapLazyModulInfo : Env.TcGlobals -> Tastops.Remap -> (LazyModuleInfo -> LazyModuleInfo)
val AbstractLazyModulInfoToEssentials : (LazyModuleInfo -> LazyModuleInfo)
val UnionModuleInfos: LazyModuleInfo list -> LazyModuleInfo