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 'a
action =
| |
Default |
| |
Done of 'a |
| |
Post of ('a -> 'a) |
type 'a
stmtaction =
| |
SDefault |
| |
SDone |
| |
SUse of 'a |
type 'a
guardaction =
| |
GDefault |
| |
GUse of 'a |
| |
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.