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/TopLevel/viscomp/control.sml
ViewVC logotype

Annotation of /sml/trunk/src/compiler/TopLevel/viscomp/control.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 163 - (view) (download)

1 : monnier 16 (* COPYRIGHT (c) 1995 AT&T Bell Laboratories *)
2 :     (* control.sml *)
3 :    
4 :     structure Control : CONTROL =
5 :     struct
6 :     structure Print : PRINTCONTROL =
7 :     struct
8 :     val printDepth = ref 5
9 :     val printLength = ref 12
10 :     val stringDepth = ref 70
11 :     val printLoop = ref true
12 :     val signatures = ref 2
13 :     val printOpens = ref true
14 :     val out = ref{
15 :     say = fn s => TextIO.output(TextIO.stdOut,s),
16 :     flush = fn () => TextIO.flushOut TextIO.stdOut
17 :     }
18 :     val linewidth = ref 79
19 :     fun say s = #say (!out) s
20 :     fun flush() = #flush (!out) ()
21 :     end
22 :    
23 :     structure MC : MCCONTROL =
24 :     struct
25 :     val printArgs = ref false
26 :     val printRet = ref false
27 :     val bindContainsVar = ref true
28 :     val bindExhaustive = ref true
29 :     val matchNonExhaustiveWarn = ref true
30 :     val matchNonExhaustiveError = ref false
31 :     (* matchExhaustiveError overrides matchExhaustiveWarn *)
32 :     val matchRedundantWarn = ref true
33 :     val matchRedundantError = ref true
34 :     (* matchRedundantError overrides matchRedundantWarn *)
35 :     val expandResult = ref false
36 :     end
37 :    
38 :     structure MLRISC = MLRISC_Control
39 :    
40 : monnier 122 structure FLINT =
41 :     struct
42 : monnier 162 val print = ref false
43 :     val inlineThreshold = ref 20
44 :     val specialize = ref true
45 :     val liftLiterals= ref false
46 :     val sharewrap = ref true
47 :     val maxargs = ref 10
48 : monnier 163 val phases = ref ["fcontract", "fixfix", "fcontract",
49 :     "specialize", "fixfix", "fcontract",
50 :     "wrap", "fixfix", "fcontract",
51 :     "reify", "fixfix", "fcontract"]
52 : monnier 122
53 : monnier 153 (* only for temporary debugging *)
54 : monnier 162 val misc = ref 0
55 : monnier 153
56 : monnier 122 (* FLINT internal type-checking controls *)
57 : monnier 162 val check = ref true
58 :     val checkDatatypes = ref true
59 :     val checkKinds = ref true
60 : monnier 122 end
61 :    
62 : monnier 16 structure CG : CGCONTROL =
63 :     struct
64 :     val tailrecur = ref true
65 :     val recordopt = ref true
66 :     val tail = ref true
67 :     val allocprof = ref false
68 :     val closureprint = ref false
69 :     val closureStrategy = ref 0
70 :     val lambdaopt = ref true
71 : monnier 162 val cpsopt = ref ["first_contract", "eta", "uncurry", "etasplit",
72 :     "cycle_expand", "eta", "last_contract"]
73 : monnier 16 val rounds = ref 10
74 :     val path = ref false
75 :     val betacontract = ref true
76 :     val eta = ref true
77 :     val selectopt = ref true
78 :     val dropargs = ref true
79 :     val deadvars = ref true
80 :     val flattenargs = ref false
81 :     val extraflatten = ref false
82 :     val switchopt = ref true
83 :     val handlerfold = ref true
84 :     val branchfold = ref false
85 :     val arithopt = ref true
86 :     val betaexpand = ref true
87 :     val unroll = ref true
88 :     val knownfiddle = ref false
89 :     val invariant = ref true
90 :     val targeting = ref 0
91 :     val lambdaprop = ref false
92 :     val newconreps = ref true
93 :     val boxedconstconreps = ref false
94 :     val unroll_recur = ref true
95 :     val sharepath = ref true
96 :     val staticprof = ref false
97 :     val hoistup = ref false
98 :     val hoistdown = ref false
99 :     val recordcopy = ref true
100 :     val recordpath = ref true
101 :     val verbose = ref false
102 :     val debugcps = ref false
103 :     val misc4 = ref 0
104 :     val argrep = ref true
105 :     val bodysize = ref 20
106 :     val reducemore = ref 15
107 :     val alphac = ref true
108 :     val comment = ref false
109 :     val knownGen = ref 0
110 :     val knownClGen = ref 0
111 :     val escapeGen = ref 0
112 :     val calleeGen = ref 0
113 :     val spillGen = ref 0
114 :     val foldconst = ref true
115 :     val etasplit = ref true
116 :     val printit = ref false
117 :     val printsize = ref false
118 :     val scheduling = ref true
119 :     val cse = ref false
120 :     val optafterclosure = ref false
121 :     val uncurry = ref true
122 :     val ifidiom = ref true
123 :     val comparefold = ref true
124 :     val csehoist = ref false
125 :     val rangeopt = ref false
126 :     val icount = ref false
127 :     val debugRep = ref false
128 :     val checklty1 = ref false
129 :     val checklty2 = ref false
130 :     val checklty3 = ref false
131 :     val checkcps1 = ref false
132 :     val checkcps2 = ref false
133 :     val checkcps3 = ref false
134 :     val checkcps = ref false
135 :     val flatfblock = ref true
136 :     val deadup = ref true
137 :     val pollChecks = ref false
138 :     val pollRatioAtoI = ref 1.0
139 :    
140 :     datatype mlrisc_phase =
141 :     NO_PHASE
142 :     | AFTER_INSTR_SEL
143 :     | AFTER_RA
144 :     | AFTER_SCHED
145 :     | PHASES of mlrisc_phase * mlrisc_phase
146 :     val printFlowgraph = ref NO_PHASE
147 :     val printFlowgraphStream = ref TextIO.stdOut
148 :    
149 :     val memDisambiguate = ref false
150 :     val controlDependence = ref false
151 :     val flinton = ref true
152 :    
153 :     val compdebugging = ref false
154 :     val mudebugging = ref false
155 :     val eedebugging = ref false
156 :     val insdebugging = ref false
157 :     val smdebugging = ref false
158 :     val emdebugging = ref false
159 :     val esdebugging = ref false
160 :     val etdebugging = ref false
161 :     val ecdebugging = ref false
162 :     val tmdebugging = ref false
163 :     end
164 :     val primaryPrompt = ref "- "
165 :     val secondaryPrompt = ref "= "
166 :     val printWarnings = ref true
167 :     val valueRestrictionLocalWarn = ref false
168 :     val valueRestrictionTopWarn = ref true
169 :     val instantiateSigs = ref true
170 :     val debugging = ref false
171 :     val internals = ref false
172 : monnier 109 val lazysml = ref false
173 : monnier 16 val interp = ref false
174 :     (*
175 :     val debugLook = ref false
176 :     val debugCollect = ref false
177 :     val debugBind = ref false
178 :     *)
179 :     val markabsyn = ref true
180 :     val trackExn = ref true
181 :     val indexing = ref false
182 :     val instSigs = ref true
183 :     val quotation = ref false (* controls backquote quotation *)
184 :     val overloadKW = ref false (* controls "overload" as a keyword *)
185 :    
186 :     val preserveLvarNames : bool ref = ref false
187 : monnier 161 val saveit = ref true
188 : monnier 16 val saveLvarNames : bool ref = saveit
189 :     val saveAbsyn : bool ref = saveit
190 :     val saveLambda : bool ref = saveit
191 :     val saveConvert : bool ref = saveit
192 :     val saveCPSopt : bool ref = saveit
193 :     val saveClosure : bool ref = saveit
194 :    
195 :     val lambdaSplitEnable = ref false
196 :     val crossInlineEnable = ref false
197 :     end
198 :    
199 : monnier 95
200 :     (*
201 : monnier 118 * $Log$
202 : monnier 95 *)

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