1
|
open Utils
|
2
|
open Lustre_types
|
3
|
|
4
|
val cone_of_influence: IdentDepGraph.t -> string -> ISet.t
|
5
|
|
6
|
val compute_unused_variables : node_desc -> IdentDepGraph.t -> ISet.t
|
7
|
|
8
|
type fanin = (ident, tag) Hashtbl.t
|
9
|
|
10
|
(* computes the in-degree for each local variable of node [n], according to dep
|
11
|
graph [g]. *)
|
12
|
val compute_fanin : node_desc -> IdentDepGraph.t -> fanin
|
13
|
|
14
|
val pp_fanin : Format.formatter -> fanin -> unit
|
15
|
|
16
|
val compute_reuse_policy :
|
17
|
node_desc ->
|
18
|
ident list list ->
|
19
|
Causality.Disjunction.disjoint_map ->
|
20
|
IdentDepGraph.t ->
|
21
|
(ident, var_decl) Hashtbl.t
|
22
|
|
23
|
(* replace variable [v] by [v'] in graph [g]. [v'] is a dead variable *)
|
24
|
val replace_in_dep_graph : ident -> ident -> IdentDepGraph.t -> unit
|