mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-14 15:33:34 +00:00
C and Objective Caml bindings for mem2reg and reg2mem.
Patch by Erick Tryzelaar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48602 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
52d34d94c8
commit
69cf031ee3
bindings/ocaml/transforms/scalar
include/llvm-c/Transforms
lib/Transforms/Scalar
@ -13,6 +13,14 @@ external add_constant_propagation : [<Llvm.PassManager.any] Llvm.PassManager.t
|
||||
external add_instruction_combining : [<Llvm.PassManager.any] Llvm.PassManager.t
|
||||
-> unit
|
||||
= "llvm_add_instruction_combining"
|
||||
external
|
||||
add_memory_to_register_promotion : [<Llvm.PassManager.any] Llvm.PassManager.t
|
||||
-> unit
|
||||
= "llvm_add_memory_to_register_promotion"
|
||||
external
|
||||
add_memory_to_register_demotion : [<Llvm.PassManager.any] Llvm.PassManager.t
|
||||
-> unit
|
||||
= "llvm_add_memory_to_register_demotion"
|
||||
external add_reassociation : [<Llvm.PassManager.any] Llvm.PassManager.t
|
||||
-> unit
|
||||
= "llvm_add_reassociation"
|
||||
|
@ -22,6 +22,18 @@ external add_instruction_combining : [<Llvm.PassManager.any] Llvm.PassManager.t
|
||||
-> unit
|
||||
= "llvm_add_instruction_combining"
|
||||
|
||||
(** See the [llvm::createPromoteMemoryToRegisterPass] function. *)
|
||||
external
|
||||
add_memory_to_register_promotion : [<Llvm.PassManager.any] Llvm.PassManager.t
|
||||
-> unit
|
||||
= "llvm_add_memory_to_register_promotion"
|
||||
|
||||
(** See the [llvm::createDemoteMemoryToRegisterPass] function. *)
|
||||
external
|
||||
add_memory_to_register_demotion : [<Llvm.PassManager.any] Llvm.PassManager.t
|
||||
-> unit
|
||||
= "llvm_add_memory_to_register_demotion"
|
||||
|
||||
(** See the [llvm::createReassociatePass] function. *)
|
||||
external add_reassociation : [<Llvm.PassManager.any] Llvm.PassManager.t
|
||||
-> unit
|
||||
|
@ -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);
|
||||
|
@ -31,6 +31,12 @@ void LLVMAddConstantPropagationPass(LLVMPassManagerRef PM);
|
||||
/** See llvm::createInstructionCombiningPass function. */
|
||||
void LLVMAddInstructionCombiningPass(LLVMPassManagerRef PM);
|
||||
|
||||
/** See llvm::createPromoteMemoryToRegisterPass function. */
|
||||
void LLVMAddPromoteMemoryToRegisterPass(LLVMPassManagerRef PM);
|
||||
|
||||
/** See llvm::demotePromoteMemoryToRegisterPass function. */
|
||||
void LLVMAddDemoteMemoryToRegisterPass(LLVMPassManagerRef PM);
|
||||
|
||||
/** See llvm::createReassociatePass function. */
|
||||
void LLVMAddReassociatePass(LLVMPassManagerRef PM);
|
||||
|
||||
|
@ -26,6 +26,14 @@ void LLVMAddInstructionCombiningPass(LLVMPassManagerRef PM) {
|
||||
unwrap(PM)->add(createInstructionCombiningPass());
|
||||
}
|
||||
|
||||
void LLVMAddPromoteMemoryToRegisterPass(LLVMPassManagerRef PM) {
|
||||
unwrap(PM)->add(createPromoteMemoryToRegisterPass());
|
||||
}
|
||||
|
||||
void LLVMAddDemoteMemoryToRegisterPass(LLVMPassManagerRef PM) {
|
||||
unwrap(PM)->add(createDemoteRegisterToMemoryPass());
|
||||
}
|
||||
|
||||
void LLVMAddReassociatePass(LLVMPassManagerRef PM) {
|
||||
unwrap(PM)->add(createReassociatePass());
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user