mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
OCaml bindings: add some missing functions and testcases.
The C bindings exposed some APIs that weren't covered by the OCaml bindings git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141997 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -20,6 +20,15 @@ external add_aggressive_dce : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
external
|
||||
add_scalar_repl_aggregation : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_scalar_repl_aggregation"
|
||||
|
||||
external
|
||||
add_scalar_repl_aggregation_ssa : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_scalar_repl_aggregation_ssa"
|
||||
|
||||
external
|
||||
add_scalar_repl_aggregation_with_threshold : int -> [<Llvm.PassManager.any] Llvm.PassManager.t
|
||||
-> unit
|
||||
= "llvm_add_scalar_repl_aggregation_with_threshold"
|
||||
external add_ind_var_simplification : [<Llvm.PassManager.any] Llvm.PassManager.t
|
||||
-> unit
|
||||
= "llvm_add_ind_var_simplification"
|
||||
@@ -67,6 +76,36 @@ external add_memcpy_opt : [<Llvm.PassManager.any] Llvm.PassManager.t
|
||||
external add_loop_deletion : [<Llvm.PassManager.any] Llvm.PassManager.t
|
||||
-> unit
|
||||
= "llvm_add_loop_deletion"
|
||||
|
||||
external add_loop_idiom : [<Llvm.PassManager.any] Llvm.PassManager.t
|
||||
-> unit
|
||||
= "llvm_add_loop_idiom"
|
||||
|
||||
external
|
||||
add_lib_call_simplification : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_lib_call_simplification"
|
||||
|
||||
external
|
||||
add_verifier : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_verifier"
|
||||
|
||||
external
|
||||
add_correlated_value_propagation : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_correlated_value_propagation"
|
||||
|
||||
external
|
||||
add_early_cse : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_early_cse"
|
||||
|
||||
external
|
||||
add_lower_expect_intrinsic : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_lower_expect_intrinsic"
|
||||
|
||||
external
|
||||
add_type_based_alias_analysis : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_type_based_alias_analysis"
|
||||
|
||||
external
|
||||
add_basic_alias_analysis : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_basic_alias_analysis"
|
||||
|
||||
|
@@ -35,6 +35,17 @@ external
|
||||
add_scalar_repl_aggregation : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_scalar_repl_aggregation"
|
||||
|
||||
(** See the [llvm::createScalarReplAggregatesPassSSA] function. *)
|
||||
external
|
||||
add_scalar_repl_aggregation_ssa : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_scalar_repl_aggregation_ssa"
|
||||
|
||||
(** See the [llvm::createScalarReplAggregatesWithThreshold] function. *)
|
||||
external
|
||||
add_scalar_repl_aggregation_with_threshold : int -> [<Llvm.PassManager.any] Llvm.PassManager.t
|
||||
-> unit
|
||||
= "llvm_add_scalar_repl_aggregation_with_threshold"
|
||||
|
||||
(** See the [llvm::createIndVarSimplifyPass] function. *)
|
||||
external add_ind_var_simplification : [<Llvm.PassManager.any] Llvm.PassManager.t
|
||||
-> unit
|
||||
@@ -112,7 +123,42 @@ external add_loop_deletion : [<Llvm.PassManager.any] Llvm.PassManager.t
|
||||
-> unit
|
||||
= "llvm_add_loop_deletion"
|
||||
|
||||
external add_loop_idiom : [<Llvm.PassManager.any] Llvm.PassManager.t
|
||||
-> unit
|
||||
= "llvm_add_loop_idiom"
|
||||
|
||||
(** See the [llvm::createSimplifyLibCallsPass] function. *)
|
||||
external
|
||||
add_lib_call_simplification : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_lib_call_simplification"
|
||||
|
||||
(** See the [llvm::createVerifierPass] function. *)
|
||||
external
|
||||
add_verifier : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_verifier"
|
||||
|
||||
(** See the [llvm::createCorrelatedValuePropagationPass] function. *)
|
||||
external
|
||||
add_correlated_value_propagation : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_correlated_value_propagation"
|
||||
|
||||
(** See the [llvm::createEarlyCSE] function. *)
|
||||
external
|
||||
add_early_cse : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_early_cse"
|
||||
|
||||
(** See the [llvm::createLowerExpectIntrinsicPass] function. *)
|
||||
external
|
||||
add_lower_expect_intrinsic : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_lower_expect_intrinsic"
|
||||
|
||||
(** See the [llvm::createTypeBasedAliasAnalysisPass] function. *)
|
||||
external
|
||||
add_type_based_alias_analysis : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_type_based_alias_analysis"
|
||||
|
||||
(** See the [llvm::createBasicAliasAnalysisPass] function. *)
|
||||
external
|
||||
add_basic_alias_analysis : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_basic_alias_analysis"
|
||||
|
||||
|
@@ -49,6 +49,19 @@ CAMLprim value llvm_add_scalar_repl_aggregation(LLVMPassManagerRef PM) {
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_scalar_repl_aggregation_ssa(LLVMPassManagerRef PM) {
|
||||
LLVMAddScalarReplAggregatesPassSSA(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> int -> unit */
|
||||
CAMLprim value llvm_add_scalar_repl_aggregation_with_threshold(value threshold,
|
||||
LLVMPassManagerRef PM) {
|
||||
LLVMAddScalarReplAggregatesPassWithThreshold(PM, Int_val(threshold));
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_ind_var_simplification(LLVMPassManagerRef PM) {
|
||||
LLVMAddIndVarSimplifyPass(PM);
|
||||
@@ -69,7 +82,7 @@ CAMLprim value llvm_add_licm(LLVMPassManagerRef PM) {
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_loop_unswitch(LLVMPassManagerRef PM) {
|
||||
LLVMAddLoopUnrollPass(PM);
|
||||
LLVMAddLoopUnswitchPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
@@ -139,8 +152,50 @@ CAMLprim value llvm_add_loop_deletion(LLVMPassManagerRef PM) {
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_loop_idiom(LLVMPassManagerRef PM) {
|
||||
LLVMAddLoopIdiomPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_lib_call_simplification(LLVMPassManagerRef PM) {
|
||||
LLVMAddSimplifyLibCallsPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_verifier(LLVMPassManagerRef PM) {
|
||||
LLVMAddVerifierPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_correlated_value_propagation(LLVMPassManagerRef PM) {
|
||||
LLVMAddCorrelatedValuePropagationPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_early_cse(LLVMPassManagerRef PM) {
|
||||
LLVMAddEarlyCSEPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_lower_expect_intrinsic(LLVMPassManagerRef PM) {
|
||||
LLVMAddLowerExpectIntrinsicPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_type_based_alias_analysis(LLVMPassManagerRef PM) {
|
||||
LLVMAddTypeBasedAliasAnalysisPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_basic_alias_analysis(LLVMPassManagerRef PM) {
|
||||
LLVMAddBasicAliasAnalysisPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
Reference in New Issue
Block a user