Module Loop


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 -> Cilutil.StmtSet.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