SCM Repository
Annotation of /sml/trunk/src/compiler/FLINT/main/control.sml
Parent Directory
|
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 |