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

SCM Repository

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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 604 - (view) (download)

1 : monnier 220 (* copyright 1999 YALE FLINT project *)
2 :    
3 :     structure FLINT_Control (* : FLINTCONTROL *) =
4 :     struct
5 :     val print = ref false
6 :     val printPhases = ref false
7 :     val printFctTypes = ref false
8 : monnier 604 (* `split' should probably be called just after `fixfix' since
9 : monnier 220 * fcontract might eliminate some uncurry wrappers which are
10 :     * locally unused but could be cross-module inlined. *)
11 : monnier 604 val phases = ref ["lcontract", (* Cruder but quicker than fcontract *)
12 :     "fixfix", "fcontract",
13 :     "specialize", (* "fixfix", "split", *) "fcontract",
14 :     "wrap", "reify",
15 :     "loopify", "fixfix", "fcontract+eta"]
16 : monnier 220
17 : monnier 604 val inlineThreshold = ref 16
18 : monnier 220 val splitThreshold = ref 0
19 :     val unrollThreshold = ref 20
20 :     val maxargs = ref 6
21 :     val dropinvariant = ref true
22 :    
23 :     val specialize = ref true
24 : monnier 259 (* val liftLiterals = ref false *)
25 : monnier 220 val sharewrap = ref true
26 :     val saytappinfo = ref false (* for typelifting statistics *)
27 :    
28 :     (* only for temporary debugging *)
29 :     val misc = ref 0
30 :    
31 :     (* FLINT internal type-checking controls *)
32 : monnier 259 val check = ref false (* fails on MLRISC/*/*RegAlloc.sml *)
33 : monnier 220 val checkDatatypes = ref false (* loops on the new cm.sml *)
34 :     val checkKinds = ref true
35 :    
36 :     (* non-exported crap *)
37 :     val recover : (int -> unit) ref = ref(fn x => ())
38 :     end

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