Module Cfg


module Cfg: sig .. end
Code to compute the control-flow graph of a function or file. This will fill in the preds and succs fields of Cil.stmt

This is required for several other extensions, such as Dataflow.


val computeFileCFG : Cil.file -> unit
Compute the CFG for an entire file, by calling cfgFun on each function.
val clearFileCFG : Cil.file -> unit
clear the sid, succs, and preds fields of each statement.
val cfgFun : Cil.fundec -> int
Compute a control flow graph for fd. Stmts in fd have preds and succs filled in
val clearCFGinfo : Cil.fundec -> unit
clear the sid, succs, and preds fields of each statment in a function
val printCfgChannel : out_channel -> Cil.fundec -> unit
print control flow graph (in dot form) for fundec to channel
val printCfgFilename : string -> Cil.fundec -> unit
Print control flow graph (in dot form) for fundec to file
val start_id : int ref
Next statement id that will be assigned.
val allStmts : Cil.file -> Cil.stmt list
Return all statements in a file - valid after computeFileCfg only