Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] View of /sml/trunk/src/compiler/FLINT/main/control.sml
ViewVC logotype

View of /sml/trunk/src/compiler/FLINT/main/control.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 533 - (download) (annotate)
Thu Feb 10 21:57:43 2000 UTC (19 years, 9 months ago) by monnier
File size: 1512 byte(s)
*** empty log message ***
(* copyright 1999 YALE FLINT project *)

structure FLINT_Control (* : FLINTCONTROL *) =
struct
    val print	        = ref false
    val printPhases	= ref false
    val printFctTypes   = ref false
    (* `split' should probably be called after `fixfix' since
     * fcontract might eliminate some uncurry wrappers which are
     * locally unused but could be cross-module inlined. *)
    val phases	        = ref ["lcontract", "specialize",
			       "fixfix", "fcontract",
			       "loopify", "fixfix", (* "split", *) "fcontract",
			       "specialize", "fcontract",
			       "wrap", "fcontract", (*"switchoff", *) "fcontract",
			       (* "names2deb", "typelift", "deb2names", *)
			       "reify", "loopify", "fixfix", "fcontract",
			       "fixfix", "fcontract+eta"]
			  
    val inlineThreshold = ref 0 (* 16 *)
    val splitThreshold  = ref 0
    val unrollThreshold = ref 20
    val maxargs	        = ref 6
    val dropinvariant   = ref true
			      
    val specialize	= ref true
    (* val liftLiterals	= ref false *)
    val sharewrap	= ref true
    val saytappinfo	= ref false	(* for typelifting statistics *)
				  
    (* only for temporary debugging *)
    val misc	        = ref 0
			  
    (* FLINT internal type-checking controls *)
    val check	        = ref false	(* fails on MLRISC/*/*RegAlloc.sml *)
    val checkDatatypes  = ref false	(* loops on the new cm.sml *)
    val checkKinds	= ref true

    (* non-exported crap *)
    val recover : (int -> unit) ref = ref(fn x => ())
end

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0