96 |
structure TS = MLTreeComp.TS |
structure TS = MLTreeComp.TS |
97 |
) |
) |
98 |
|
|
99 |
|
(* |
100 |
|
* This module is used to check for gc bugs. |
101 |
|
* It is turned off by default. You can turn it on |
102 |
|
* with the flag "check-gc", and turn on verbose debugging |
103 |
|
* with "debug-check-gc". |
104 |
|
*) |
105 |
|
structure CheckGC = |
106 |
|
CheckGCFn |
107 |
|
(structure Asm = Asm |
108 |
|
structure CFG = CFG |
109 |
|
structure InsnProps = InsnProps |
110 |
|
structure CpsRegs = CpsRegs |
111 |
|
val gcParamRegs = InvokeGC.gcParamRegs |
112 |
|
) |
113 |
|
|
114 |
val graphical_view = |
val graphical_view = |
115 |
MLRiscControl.mkFlag |
MLRiscControl.mkFlag |
116 |
("cfg-graphical-view", |
("cfg-graphical-view", |
147 |
val ra = phase "MLRISC ra" RA.run |
val ra = phase "MLRISC ra" RA.run |
148 |
val omitfp = phase "MLRISC omit frame pointer" omitFramePointer |
val omitfp = phase "MLRISC omit frame pointer" omitFramePointer |
149 |
val expandCpys = phase "MLRISC expand copies" ExpandCpys.run |
val expandCpys = phase "MLRISC expand copies" ExpandCpys.run |
150 |
|
val checkGC = phase "MLRISC check GC" CheckGC.checkGC |
151 |
|
|
152 |
val raPhase = ("ra",ra) |
val raPhase = ("ra",ra) |
153 |
|
|
154 |
val optimizerHook = |
val optimizerHook = |
155 |
ref [("compFreqs", compFreqs), |
ref [("checkgc", checkGC), |
156 |
|
("compFreqs", compFreqs), |
157 |
("ra", ra), |
("ra", ra), |
158 |
("omitfp", omitfp), |
("omitfp", omitfp), |
159 |
("expand copies", expandCpys) |
("expand copies", expandCpys), |
160 |
|
("checkgc", checkGC) |
161 |
] |
] |
162 |
|
|
163 |
fun compile cluster = let |
fun compile cluster = let |