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 59 - (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 Lazy : LAZYCONTROL =
24 :     struct
25 :     val enabled = ref false (* enable/disable lazy features *)
26 :     val printDebug = ref false (* General Degubing Info *)
27 :     val printStats = ref false (* General Statistics *)
28 :     val redGenFD1 = ref true
29 :     (* Reduce Generated Force-Delays at Ast Level *)
30 :     val redGenFD2 = ref true
31 :     (* Reduce Generated Force-Delays at matchcomp *)
32 :     val redAllFD1 = ref true (* Reduce All Force-Delays at Ast Level *)
33 :     val redAllFD2 = ref true (* Reduce All Force-Delays at machcomp *)
34 :     val inlineF = ref true (* Inline Force *)
35 :     val inlineD = ref true (* Inline Delay *)
36 :     val earlyDT = ref false (* Early (Ast) Dollar translate *)
37 :     val ok_MARK = ref true
38 :     (* Correct treatment of MARK in translate *)
39 :     val earlyFP = ref true (* Early fixity parsing *)
40 :     end
41 :    
42 :     structure MC : MCCONTROL =
43 :     struct
44 :     val printArgs = ref false
45 :     val printRet = ref false
46 :     val bindContainsVar = ref true
47 :     val bindExhaustive = ref true
48 :     val matchNonExhaustiveWarn = ref true
49 :     val matchNonExhaustiveError = ref false
50 :     (* matchExhaustiveError overrides matchExhaustiveWarn *)
51 :     val matchRedundantWarn = ref true
52 :     val matchRedundantError = ref true
53 :     (* matchRedundantError overrides matchRedundantWarn *)
54 :     val expandResult = ref false
55 :     end
56 :    
57 :     structure MLRISC = MLRISC_Control
58 :    
59 :     structure CG : CGCONTROL =
60 :     struct
61 :     val tailrecur = ref true
62 :     val recordopt = ref true
63 :     val specialize = ref true
64 :     val tail = ref true
65 :     val allocprof = ref false
66 :     val closureprint = ref false
67 :     val closureStrategy = ref 0
68 :     val lambdaopt = ref true
69 :     val cpsopt = ref true
70 :     val rounds = ref 10
71 :     val path = ref false
72 :     val betacontract = ref true
73 :     val eta = ref true
74 :     val selectopt = ref true
75 :     val dropargs = ref true
76 :     val deadvars = ref true
77 :     val flattenargs = ref false
78 :     val extraflatten = ref false
79 :     val switchopt = ref true
80 :     val handlerfold = ref true
81 :     val branchfold = ref false
82 :     val arithopt = ref true
83 :     val betaexpand = ref true
84 :     val unroll = ref true
85 :     val knownfiddle = ref false
86 :     val invariant = ref true
87 :     val targeting = ref 0
88 :     val lambdaprop = ref false
89 :     val newconreps = ref true
90 :     val boxedconstconreps = ref false
91 :     val unroll_recur = ref true
92 :     val sharepath = ref true
93 :     val staticprof = ref false
94 :     val hoistup = ref false
95 :     val hoistdown = ref false
96 :     val recordcopy = ref true
97 :     val recordpath = ref true
98 :     val verbose = ref false
99 :     val debugcps = ref false
100 :     val misc4 = ref 0
101 :     val argrep = ref true
102 :     val bodysize = ref 20
103 :     val reducemore = ref 15
104 :     val alphac = ref true
105 :     val comment = ref false
106 :     val knownGen = ref 0
107 :     val knownClGen = ref 0
108 :     val escapeGen = ref 0
109 :     val calleeGen = ref 0
110 :     val spillGen = ref 0
111 :     val foldconst = ref true
112 :     val etasplit = ref true
113 :     val printLambda = ref false
114 : monnier 51 val printFlint = ref false
115 : monnier 16 val printit = ref false
116 :     val printsize = ref false
117 :     val scheduling = ref true
118 :     val cse = ref false
119 :     val optafterclosure = ref false
120 :     val uncurry = ref true
121 :     val ifidiom = ref true
122 :     val comparefold = ref true
123 :     val csehoist = ref false
124 :     val rangeopt = ref false
125 :     val icount = ref false
126 :     val debugRep = ref false
127 :     val sharewrap = ref true
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 liftLiterals = ref false
136 :     val flatfblock = ref true
137 :     val deadup = ref true
138 :     val pollChecks = ref false
139 :     val pollRatioAtoI = ref 1.0
140 :    
141 :     datatype mlrisc_phase =
142 :     NO_PHASE
143 :     | AFTER_INSTR_SEL
144 :     | AFTER_RA
145 :     | AFTER_SCHED
146 :     | PHASES of mlrisc_phase * mlrisc_phase
147 :     val printFlowgraph = ref NO_PHASE
148 :     val printFlowgraphStream = ref TextIO.stdOut
149 :    
150 :     val memDisambiguate = ref false
151 :     val controlDependence = ref false
152 :     val flinton = ref true
153 :    
154 : league 59 (* FLINT internal type-checking controls *)
155 :     val checkFlint = ref true
156 :     val checkDatatypes = ref true
157 :     val checkKinds = ref true
158 :    
159 : monnier 16 val compdebugging = ref false
160 :     val mudebugging = ref false
161 :     val eedebugging = ref false
162 :     val insdebugging = ref false
163 :     val smdebugging = ref false
164 :     val emdebugging = ref false
165 :     val esdebugging = ref false
166 :     val etdebugging = ref false
167 :     val ecdebugging = ref false
168 :     val tmdebugging = ref false
169 :     end
170 :     val primaryPrompt = ref "- "
171 :     val secondaryPrompt = ref "= "
172 :     val printWarnings = ref true
173 :     val valueRestrictionLocalWarn = ref false
174 :     val valueRestrictionTopWarn = ref true
175 :     val instantiateSigs = ref true
176 :     val debugging = ref false
177 :     val internals = ref false
178 :     val interp = ref false
179 :     (*
180 :     val debugLook = ref false
181 :     val debugCollect = ref false
182 :     val debugBind = ref false
183 :     *)
184 :     val markabsyn = ref true
185 :     val trackExn = ref true
186 :     val indexing = ref false
187 :     val instSigs = ref true
188 :     val quotation = ref false (* controls backquote quotation *)
189 :     val overloadKW = ref false (* controls "overload" as a keyword *)
190 :    
191 :     val preserveLvarNames : bool ref = ref false
192 :     val saveit = ref false
193 :     val saveLvarNames : bool ref = saveit
194 :     val saveAbsyn : bool ref = saveit
195 :     val saveLambda : bool ref = saveit
196 :     val saveConvert : bool ref = saveit
197 :     val saveCPSopt : bool ref = saveit
198 :     val saveClosure : bool ref = saveit
199 :    
200 :     val lambdaSplitEnable = ref false
201 :     val crossInlineEnable = ref false
202 :     end
203 :    

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