sig
  val remove_dead_code :
    ('a, 'b) ControlFlow.graph -> ('a, 'b) ControlFlow.graph
  val optimize_jumps :
    ('a, 'b) ControlFlow.graph -> ('a, 'b) ControlFlow.graph
  val optimize_switches :
    ('a, 'b) ControlFlow.graph -> ('a, 'b) ControlFlow.graph
  type flattening_infos
  val offset_of_flattening_infos : Code.flattening_infos -> int32
  val flattened_graph :
    (int32 * 'a, 'b) ControlFlow.graph ->
    (Code.flattening_infos * 'a, 'b) ControlFlow.graph
  val flatten_graph :
    (int32 * Utils.u2 list, 'b) ControlFlow.graph ->
    Instruction.t list * (Utils.u2 * Utils.u2) list *
    Attribute.exception_table_element list *
    (Code.flattening_infos * int32, 'b) ControlFlow.graph
  val optimize_graph :
    ('a * Utils.u2 list, 'b) ControlFlow.graph ->
    ('a * Utils.u2 list, 'b) ControlFlow.graph
  val compute_stack_infos :
    Name.for_class ->
    StackState.instance StackState.unifier ->
    (Code.flattening_infos * 'a, 'b) ControlFlow.graph ->
    StackState.t -> Utils.u2 * Utils.u2 * Attribute.stack_map_frame list
end