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 220 - (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 :     (* `split' should probably be called after `fixfix' since
9 :     * fcontract might eliminate some uncurry wrappers which are
10 :     * locally unused but could be cross-module inlined. *)
11 :     val phases = ref ["lcontract", "specialize",
12 :     "fixfix", "fcontract",
13 :     "loopify", "fixfix", "split",
14 :     "wrap", "fcontract",
15 :     (* "names2deb", "typelift", "deb2names", *)
16 :     "reify", "loopify", "fixfix", "fcontract",
17 :     "fixfix", "fcontract"]
18 :    
19 :     val inlineThreshold = ref 16
20 :     val splitThreshold = ref 0
21 :     val unrollThreshold = ref 20
22 :     val maxargs = ref 6
23 :     val dropinvariant = ref true
24 :    
25 :     val specialize = ref true
26 :     val liftLiterals = ref false
27 :     val sharewrap = ref true
28 :     val saytappinfo = ref false (* for typelifting statistics *)
29 :    
30 :     (* only for temporary debugging *)
31 :     val misc = ref 0
32 :    
33 :     (* FLINT internal type-checking controls *)
34 :     val check = ref true (* fails on MLRISC/sparc/sparcRegAlloc.sml *)
35 :     val checkDatatypes = ref false (* loops on the new cm.sml *)
36 :     val checkKinds = ref true
37 :    
38 :     (* non-exported crap *)
39 :     val recover : (int -> unit) ref = ref(fn x => ())
40 :     end

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