compiler-libs.optcomp
Cfg_loop_infos
compiler-libs.bytecomp
compiler-libs.common
compiler-libs.toplevel
dynlink
eval
jit
runtime_events
stdlib
stdlib_alpha
stdlib_beta
stdlib_stable
stdlib_upstream_compatible
str
threads
unix
val compute_back_edges : Cfg.t -> Cfg_dominators.t -> Cfg_edge.Set.t
type loop = Label.Set.t
val compute_loop_of_back_edge : Cfg.t -> Cfg_edge.t -> loop
type loops = loop Cfg_edge.Map.t
val compute_loops_of_back_edges : Cfg.t -> Cfg_edge.Set.t -> loops
type header_map = loop list Label.Map.t
val compare_loop_by_cardinal : loop -> loop -> int
val compute_header_map : loops -> header_map
val merge_loops : loop list -> loop list
type loop_depths = int Label.Map.t
val compute_loop_depths : Cfg.t -> header_map -> loop_depths
type t = private {
back_edges : Cfg_edge.Set.t;
loops : loops;
header_map : header_map;
loop_depths : loop_depths;
}
val build : Cfg.t -> Cfg_dominators.t -> t
val is_in_loop : t -> Label.t -> bool