112 |
structure InsnProps : INSN_PROPERTIES where I = I |
structure InsnProps : INSN_PROPERTIES where I = I |
113 |
structure F : FLOWGRAPH where I = I |
structure F : FLOWGRAPH where I = I |
114 |
structure Asm : INSTRUCTION_EMITTER where I = I |
structure Asm : INSTRUCTION_EMITTER where I = I |
|
structure CB : CELLS_BASIS = CellsBasis |
|
115 |
|
|
116 |
(* Spilling heuristics determines which node should be spilled. |
(* Spilling heuristics determines which node should be spilled. |
117 |
* You can use Chaitin, ChowHenessey, or one of your own. |
* You can use Chaitin, ChowHenessey, or one of your own. |
145 |
(* Integer register allocation parameters *) |
(* Integer register allocation parameters *) |
146 |
structure Int : |
structure Int : |
147 |
sig |
sig |
148 |
val avail : CB.cell list |
val avail : CellsBasis.cell list |
149 |
val dedicated : CB.cell list |
val dedicated : CellsBasis.cell list |
150 |
val memRegs : CB.cell list |
val memRegs : CellsBasis.cell list |
151 |
val phases : raPhase list |
val phases : raPhase list |
152 |
|
|
153 |
val spillLoc : {info:spill_info, |
val spillLoc : {info:spill_info, |
154 |
an :Annotations.annotations ref, |
an :Annotations.annotations ref, |
155 |
cell:CB.cell, (* spilled cell *) |
cell:CellsBasis.cell, (* spilled cell *) |
156 |
id :RAGraph.logical_spill_id |
id :RAGraph.logical_spill_id |
157 |
} -> |
} -> |
158 |
{ opnd: I.operand, |
{ opnd: I.operand, |
168 |
structure Float : |
structure Float : |
169 |
sig |
sig |
170 |
(* Sethi-Ullman mode *) |
(* Sethi-Ullman mode *) |
171 |
val avail : CB.cell list |
val avail : CellsBasis.cell list |
172 |
val dedicated : CB.cell list |
val dedicated : CellsBasis.cell list |
173 |
val memRegs : CB.cell list |
val memRegs : CellsBasis.cell list |
174 |
val phases : raPhase list |
val phases : raPhase list |
175 |
|
|
176 |
val spillLoc : spill_info * Annotations.annotations ref * |
val spillLoc : spill_info * Annotations.annotations ref * |
180 |
val spillInit : RAGraph.interferenceGraph -> unit |
val spillInit : RAGraph.interferenceGraph -> unit |
181 |
|
|
182 |
(* When fast_floating_point is on, use these instead: *) |
(* When fast_floating_point is on, use these instead: *) |
183 |
val fastMemRegs : CB.cell list |
val fastMemRegs : CellsBasis.cell list |
184 |
val fastPhases : raPhase list |
val fastPhases : raPhase list |
185 |
end |
end |
186 |
|
|