summaryrefslogtreecommitdiffstats
path: root/llvm/bindings/ocaml/transforms
diff options
context:
space:
mode:
authorGerolf Hoflehner <ghoflehner@apple.com>2014-07-18 19:13:09 +0000
committerGerolf Hoflehner <ghoflehner@apple.com>2014-07-18 19:13:09 +0000
commitf27ae6cdcfb8eda90f43103f93576de238eba17a (patch)
tree8022983a65fbe248360146c5971f4a5798e0cdd1 /llvm/bindings/ocaml/transforms
parentebaf14bdd05f8593581ace802d4505930efd8967 (diff)
downloadbcm5719-llvm-f27ae6cdcfb8eda90f43103f93576de238eba17a.tar.gz
bcm5719-llvm-f27ae6cdcfb8eda90f43103f93576de238eba17a.zip
MergedLoadStoreMotion pass
Merges equivalent loads on both sides of a hammock/diamond and hoists into into the header. Merges equivalent stores on both sides of a hammock/diamond and sinks it to the footer. Can enable if conversion and tolerate better load misses and store operand latencies. llvm-svn: 213396
Diffstat (limited to 'llvm/bindings/ocaml/transforms')
-rw-r--r--llvm/bindings/ocaml/transforms/scalar/scalar_opts_ocaml.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/bindings/ocaml/transforms/scalar/scalar_opts_ocaml.c b/llvm/bindings/ocaml/transforms/scalar/scalar_opts_ocaml.c
index 0a71bd7cad2..47e17902baa 100644
--- a/llvm/bindings/ocaml/transforms/scalar/scalar_opts_ocaml.c
+++ b/llvm/bindings/ocaml/transforms/scalar/scalar_opts_ocaml.c
@@ -135,6 +135,12 @@ CAMLprim value llvm_add_tail_call_elimination(LLVMPassManagerRef PM) {
}
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
+CAMLprim value llvm_add_merged_load_store_motion(LLVMPassManagerRef PM) {
+ LLVMAddMergedLoadStoreMotionPass(PM);
+ return Val_unit;
+}
+
+/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
CAMLprim value llvm_add_gvn(LLVMPassManagerRef PM) {
LLVMAddGVNPass(PM);
return Val_unit;
OpenPOWER on IntegriCloud