Project

General

Profile

« Previous | Next » 

Revision aaa8e454

Added by LĂ©lio Brun 7 months ago

it works

View differences:

src/scheduling.ml
123 123
  Log.report ~level:5 (fun fmt -> Format.fprintf fmt "scheduling node %s@ " n.node_id);
124 124
  let eq_equiv = eq_equiv (ExprDep.node_eq_equiv n) in
125 125

  
126
  let n', g = global_dependency n in
126
  let node, g = global_dependency n in
127 127
  
128 128
  (* TODO X: extend the graph with inputs (adapt the causality analysis to deal with inputs
129 129
     compute: coi predecessors of outputs
......
131 131
     DONE !
132 132
  *)
133 133

  
134
  let gg = IdentDepGraph.copy g in
135
  let sort = topological_sort eq_equiv g in
136
  let unused = Liveness.compute_unused_variables n gg in
137
  let fanin = Liveness.compute_fanin n gg in
138
  { node = n'; schedule = sort; unused_vars = unused; fanin_table = fanin; dep_graph = gg; }
134
  let dep_graph = IdentDepGraph.copy g in
135
  let schedule = topological_sort eq_equiv g in
136
  let unused_vars = Liveness.compute_unused_variables n dep_graph in
137
  let fanin_table = Liveness.compute_fanin n dep_graph in
138
  { node; schedule; unused_vars; fanin_table; dep_graph }
139 139

  
140 140
(* let schedule_eqs eqs =
141 141
 *   let eq_equiv = eq_equiv (ExprDep.eqs_eq_equiv eqs) in

Also available in: Unified diff