Revision 95fb046e
Added by Pierre-Loïc Garoche about 6 years ago
src/scheduling.ml | ||
---|---|---|
14 | 14 |
open Corelang |
15 | 15 |
open Graph |
16 | 16 |
open Causality |
17 |
|
|
18 |
type schedule_report = |
|
19 |
{ |
|
20 |
(* the scheduled node *) |
|
21 |
node : node_desc; |
|
22 |
(* a schedule computed wrt the dependency graph *) |
|
23 |
schedule : ident list list; |
|
24 |
(* the set of unused variables (no output or mem depends on them) *) |
|
25 |
unused_vars : ISet.t; |
|
26 |
(* the table mapping each local var to its in-degree *) |
|
27 |
fanin_table : (ident, int) Hashtbl.t; |
|
28 |
(* the dependency graph *) |
|
29 |
dep_graph : IdentDepGraph.t; |
|
30 |
(* the table mapping each assignment to a reusable variable *) |
|
31 |
(*reuse_table : (ident, var_decl) Hashtbl.t*) |
|
32 |
} |
|
17 |
open Scheduling_type |
|
33 | 18 |
|
34 | 19 |
(* Topological sort with a priority for variables belonging in the same equation lhs. |
35 | 20 |
For variables still unrelated, standard compare is used to choose the minimal element. |
Also available in: Unified diff
Scheduling of node equations is now attached to machine type