C and Objective Caml bindings for mem2reg and reg2mem.
[oota-llvm.git] / bindings / ocaml / transforms / scalar / scalar_opts_ocaml.c
index 5ceb3699ccb68d8ec64738d167c09e434925a99d..87c106098432a48bc7aa964a849df0ddd24bb8eb 100644 (file)
@@ -31,6 +31,18 @@ CAMLprim value llvm_add_instruction_combining(LLVMPassManagerRef PM) {
   return Val_unit;
 }
 
+/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
+CAMLprim value llvm_add_memory_to_register_promotion(LLVMPassManagerRef PM) {
+  LLVMAddPromoteMemoryToRegisterPass(PM);
+  return Val_unit;
+}
+
+/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
+CAMLprim value llvm_add_memory_to_register_demotion(LLVMPassManagerRef PM) {
+  LLVMAddDemoteMemoryToRegisterPass(PM);
+  return Val_unit;
+}
+
 /* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
 CAMLprim value llvm_add_reassociation(LLVMPassManagerRef PM) {
   LLVMAddReassociatePass(PM);