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 : Cil_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 : Cil_types.kernel_function -> Cil_types.stmt -> bool
val get_naturals : Cil_types.kernel_function -> (Cil_types.stmt * Cil_types.stmt list) list
val back_edges : Cil_types.kernel_function -> Cil_types.stmt -> Cil_types.stmt list
val while_for_natural_loop : Cil_types.kernel_function -> Cil_types.stmt -> Cil_types.stmt