module Loop: sig
.. end
Operations on (natural) loops.
Consult the Plugin Development Guide for additional details.
exception No_such_while
val get_loop_stmts : Db_types.kernel_function -> Cil_types.stmt -> Cil_datatype.Stmt.Set.t
Precondition: the kernel function is not a leaf function.
Raises No_such_while
if stmt.skind
is not a While
.
val is_natural : Db_types.kernel_function -> Cil_types.stmt -> bool
val get_naturals : Db_types.kernel_function -> (Cil_types.stmt * Cil_types.stmt list) list
val back_edges : Db_types.kernel_function -> Cil_types.stmt -> Cil_types.stmt list
val while_for_natural_loop : Db_types.kernel_function -> Cil_types.stmt -> Cil_types.stmt