1
|
open Utils
|
2
|
open Lustre_types
|
3
|
|
4
|
type schedule_report = {
|
5
|
(* the scheduled node *)
|
6
|
node : node_desc;
|
7
|
(* a schedule computed wrt the dependency graph *)
|
8
|
schedule : ident list list;
|
9
|
(* the set of unused variables (no output or mem depends on them) *)
|
10
|
unused_vars : ISet.t;
|
11
|
(* the table mapping each local var to its in-degree *)
|
12
|
fanin_table : (ident, int) Hashtbl.t;
|
13
|
(* the dependency graph *)
|
14
|
dep_graph : IdentDepGraph.t;
|
15
|
(* the table mapping each assignment to a reusable variable *)
|
16
|
(*reuse_table : (ident, var_decl) Hashtbl.t*)
|
17
|
}
|