@@ -14,8 +14,6 @@ module type State = sig
14
14
end
15
15
16
16
module type Utils = sig
17
- type state
18
-
19
17
val log : ?no_eol : unit -> ('a , Format .formatter , unit ) format -> 'a
20
18
21
19
val indent : unit -> unit
@@ -27,8 +25,6 @@ module type Utils = sig
27
25
Cfg .terminator Cfg .instruction ->
28
26
liveness ->
29
27
unit
30
-
31
- val is_spilled : state -> Reg .t -> bool
32
28
end
33
29
34
30
type direction =
@@ -121,7 +117,7 @@ let equal_move_kind left right =
121
117
let rewrite_gen :
122
118
type s .
123
119
(module State with type t = s ) ->
124
- (module Utils with type state = s ) ->
120
+ (module Utils) ->
125
121
s ->
126
122
Cfg_with_infos. t ->
127
123
spilled_nodes :Reg. t list ->
@@ -140,7 +136,6 @@ let rewrite_gen :
140
136
let spilled_map : Reg.t Reg.Tbl.t =
141
137
List. fold_left spilled_nodes ~init: (Reg.Tbl. create 17 )
142
138
~f: (fun spilled_map reg ->
143
- if debug then assert (Utils. is_spilled state reg);
144
139
let spilled = Reg. create reg.Reg. typ in
145
140
(* for printing *)
146
141
spilled.Reg. raw_name < - reg.Reg. raw_name;
@@ -153,6 +148,7 @@ let rewrite_gen :
153
148
Reg.Tbl. replace spilled_map reg spilled;
154
149
spilled_map)
155
150
in
151
+ let is_spilled reg = Reg.Tbl. mem spilled_map reg in
156
152
let new_inst_temporaries : Reg.t list ref = ref [] in
157
153
let new_block_temporaries = ref [] in
158
154
let make_new_temporary ~(move : Move.t ) (reg : Reg.t ) : Reg.t =
@@ -169,7 +165,7 @@ let rewrite_gen :
169
165
let [@ inline] array_contains_spilled (arr : Reg.t array ) : bool =
170
166
let len = Array. length arr in
171
167
let i = ref 0 in
172
- while ! i < len && not (Utils. is_spilled state (Array. unsafe_get arr ! i)) do
168
+ while ! i < len && not (is_spilled (Array. unsafe_get arr ! i)) do
173
169
incr i
174
170
done ;
175
171
! i < len
@@ -181,7 +177,7 @@ let rewrite_gen :
181
177
~(sharing : (Reg.t * move_kind) Reg.Tbl.t ) (instr : _ Cfg.instruction ) :
182
178
unit =
183
179
let [@ inline] rewrite_reg (reg : Reg.t ) : Reg. t =
184
- if Utils. is_spilled state reg
180
+ if is_spilled reg
185
181
then (
186
182
let spilled =
187
183
match Reg.Tbl. find_opt spilled_map reg with
0 commit comments