Revision 89a70069 src/scheduling.ml
src/scheduling.ml  

153  153 
let unused = Liveness.compute_unused_variables n gg in 
154  154 
let fanin = Liveness.compute_fanin n gg in 
155  155 

156 
let disjoint = Disjunction.clock_disjoint_map node_vars in 

157 


158 
Log.report ~level:3 

159 
(fun fmt > 

160 
Format.fprintf fmt 

161 
"clock disjoint map for node %s: %a" 

162 
n'.node_id 

163 
Disjunction.pp_disjoint_map disjoint 

164 
); 

165  
166 
let reuse = Liveness.compute_reuse_policy n sort disjoint gg in 

167 


156 
let (disjoint, reuse) = 

157 
if !Options.optimization >= 3 

158 
then 

159 
let disjoint = Disjunction.clock_disjoint_map node_vars in 

160 
(disjoint, 

161 
Liveness.compute_reuse_policy n sort disjoint gg) 

162 
else 

163 
(Hashtbl.create 1, 

164 
Hashtbl.create 1) in 

165  
166 
if !Options.print_reuse 

167 
then 

168 
begin 

169 
Log.report ~level:0 

170 
(fun fmt > 

171 
Format.fprintf fmt 

172 
"OPT:clock disjoint map for node %s: %a" 

173 
n'.node_id 

174 
Disjunction.pp_disjoint_map disjoint 

175 
); 

176 
Log.report ~level:0 

177 
(fun fmt > 

178 
Format.fprintf fmt 

179 
"OPT:reuse policy for node %s: %a" 

180 
n'.node_id 

181 
Liveness.pp_reuse_policy reuse 

182 
); 

183 
end; 

168  184 
n', { schedule = sort; unused_vars = unused; fanin_table = fanin; reuse_table = reuse } 
169  185 
with (Causality.Cycle vl) as exc > 
170  186 
let vl = filter_original n vl in 
Also available in: Unified diff