Project

General

Profile

Revision f4cba4b8 src/scheduling.ml

View differences:

src/scheduling.ml
113 113
   let vdecl = get_node_var v n in
114 114
   if vdecl.var_orig then v :: res else res) vl []
115 115

  
116
let eq_equiv eq_equiv_hash =
117
  fun v1 v2 ->
118
  try
119
    Hashtbl.find eq_equiv_hash v1 = Hashtbl.find eq_equiv_hash v2
120
  with Not_found -> false
121

  
116 122
let schedule_node n =
117 123
  (* let node_vars = get_node_vars n in *)
118
  let eq_equiv = ExprDep.node_eq_equiv n in
119
  let eq_equiv v1 v2 =
120
    try
121
      Hashtbl.find eq_equiv v1 = Hashtbl.find eq_equiv v2
122
    with Not_found -> false in
124
  let eq_equiv = eq_equiv (ExprDep.node_eq_equiv n) in
123 125

  
124 126
  let n', g = global_dependency n in
125 127
  
......
135 137
  let fanin = Liveness.compute_fanin n gg in
136 138
  { node = n'; schedule = sort; unused_vars = unused; fanin_table = fanin; dep_graph = gg; }
137 139

  
140
(* let schedule_eqs eqs =
141
 *   let eq_equiv = eq_equiv (ExprDep.eqs_eq_equiv eqs) in
142
 *   assert false (\* TODO: continue to implement scheduling of eqs for spec *\) *)
138 143

  
139 144
let compute_node_reuse_table report =
140 145
  let disjoint = Disjunction.clock_disjoint_map (get_node_vars report.node) in

Also available in: Unified diff