`sig
type 'a t
type any = [ `Function | `Module ]
val create : unit -> [ `Module ] Llvm.PassManager.t
val create_function : Llvm.llmodule -> [ `Function ] Llvm.PassManager.t
val run_module : Llvm.llmodule -> [ `Module ] Llvm.PassManager.t -> bool
val initialize : [ `Function ] Llvm.PassManager.t -> bool
val run_function : Llvm.llvalue -> [ `Function ] Llvm.PassManager.t -> bool
val finalize : [ `Function ] Llvm.PassManager.t -> bool
val dispose : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
end`