module Dataflow: sig
.. end
A framework for data flow analysis for CIL code. Before using
this framework, you must initialize the Control-flow Graph for your
program, e.g using
Cfg.computeFileCFG
type 't
action =
| |
Default |
| |
Done of 't |
| |
Post of ('t -> 't) |
type 't
stmtaction =
| |
SDefault |
| |
SDone |
| |
SUse of 't |
type 't
guardaction =
| |
GDefault |
| |
GUse of 't |
| |
GUnreachable |
module type ForwardsTransfer = sig
.. end
module ForwardsDataFlow:
module type BackwardsTransfer = sig
.. end
module BackwardsDataFlow:
val find_stmts : Cil.fundec -> Cil.stmt list * Cil.stmt list
Returns (all_stmts, sink_stmts), where all_stmts is a list of the
statements in a function, and sink_stmts is a list of the return statments
(including statements that fall through the end of a void function).
Useful when you need an initial set of statements for
BackwardsDataFlow.compute.