module BTL_IfLiftingOracle:sig
..end
Prepass oracle extension to lift conditional branches
module IM:Stdlib.Map.Make
(
Stdlib.Int
)
val stat_nb_if_lift : int Stdlib.ref
val stat_nb_compense : int Stdlib.ref
val stat_nb_makespan_gain : int Stdlib.ref
val save_stats : bool
val fprint_stats_header : Stdlib.out_channel -> unit -> unit
val fprint_stats : Stdlib.out_channel -> unit -> unit
val write_stats : unit -> unit
val schedule_get_positions : (BTL.iblock * Registers.Regset.t) array ->
'a ->
BTL.iblock_info ->
Registers.Regset.t ->
RTLtyping.regenv ->
bool -> PrepassSchedulingOracle.iflift_mode -> (int array * int) option
val compute_compense_makespan : BTL.iblock list -> int
val if_lift : Camlcoq.P.t ->
BTL.iblock_info ->
BTL.iblock_info Maps.PTree.tree ->
RTLtyping.regenv ->
bool ->
(IM.key * int) IM.t ->
BTL.iblock_info Maps.PTree.tree option