summaryrefslogtreecommitdiffstats
path: root/llvm/bindings/ocaml/transforms
Commit message (Collapse)AuthorAgeFilesLines
* Reapply r374743 with a fix for the ocaml bindingJoerg Sonnenberger2019-10-143-0/+14
| | | | | | | | | | | | | | | | | | | Add a pass to lower is.constant and objectsize intrinsics This pass lowers is.constant and objectsize intrinsics not simplified by earlier constant folding, i.e. if the object given is not constant or if not using the optimized pass chain. The result is recursively simplified and constant conditionals are pruned, so that dead blocks are removed even for -O0. This allows inline asm blocks with operand constraints to work all the time. The new pass replaces the existing lowering in the codegen-prepare pass and fallbacks in SDAG/GlobalISEL and FastISel. The latter now assert on the intrinsics. Differential Revision: https://reviews.llvm.org/D65280 llvm-svn: 374784
* Revert "Add a pass to lower is.constant and objectsize intrinsics"Dmitri Gribenko2019-10-142-11/+0
| | | | | | | This reverts commit r374743. It broke the build with Ocaml enabled: http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/19218 llvm-svn: 374768
* Add a pass to lower is.constant and objectsize intrinsicsJoerg Sonnenberger2019-10-132-0/+11
| | | | | | | | | | | | | | | | | This pass lowers is.constant and objectsize intrinsics not simplified by earlier constant folding, i.e. if the object given is not constant or if not using the optimized pass chain. The result is recursively simplified and constant conditionals are pruned, so that dead blocks are removed even for -O0. This allows inline asm blocks with operand constraints to work all the time. The new pass replaces the existing lowering in the codegen-prepare pass and fallbacks in SDAG/GlobalISEL and FastISel. The latter now assert on the intrinsics. Differential Revision: https://reviews.llvm.org/D65280 llvm-svn: 374743
* [LLVM-C][Ocaml] Add MergeFunctions and DCE passAditya Kumar2019-09-296-0/+27
| | | | | | | | | | | | | | | | | | | MergeFunctions and DCE pass are missing from OCaml/C-api. This patch adds them. Differential Revision: https://reviews.llvm.org/D65071 Reviewers: whitequark, hiraditya, deadalnix Reviewed By: whitequark Subscribers: llvm-commits Tags: #llvm Authored by: kren1 llvm-svn: 373170
* Update the file headers across all of the LLVM projects in the monorepoChandler Carruth2019-01-1915-60/+50
| | | | | | | | | | | | | | | | | to reflect the new license. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. llvm-svn: 351636
* [LLVM-C][OCaml] Add UnifyFunctionExitNodes pass to C and OCaml APIswhitequark2018-09-183-0/+14
| | | | | | | | | | | | | | | | Summary: Adds LLVMAddUnifyFunctionExitNodesPass to expose createUnifyFunctionExitNodesPass to the C and OCaml APIs. Reviewers: whitequark, deadalnix Reviewed By: whitequark Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D52212 llvm-svn: 342476
* [LLVM-C][OCaml] Add LowerAtomic pass to C and OCaml APIswhitequark2018-09-183-0/+14
| | | | | | | | | | | | | | | | Summary: Adds LLVMAddLowerAtomicPass to expose createLowerAtomicPass in the C and OCaml APIs. Reviewers: whitequark, deadalnix Reviewed By: whitequark Subscribers: jfb, llvm-commits Differential Revision: https://reviews.llvm.org/D52211 llvm-svn: 342475
* [NFC][OCaml] Fix copy paste error in file headerwhitequark2018-09-181-1/+1
| | | | | | | | | | | | | | Summary: Just copypasta resulting in the wrong file name in the header. Reviewers: whitequark Reviewed By: whitequark Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D52215 llvm-svn: 342437
* [NFC][OCaml] Fix implicit declaration compilation warningswhitequark2018-09-181-0/+1
| | | | | | | | | | | | | | | | | Summary: 2dd4f35c7fc75639920ebc473a4a57ea91864c10 moved LLVMAddLowerSwitchPass and LLVMAddPromoteMemoryToRegisterPass declarations from llvm-c/Transforms/Scalar.h to llvm-c/Transforms/Utils.h Reviewers: whitequark Reviewed By: whitequark Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D52214 llvm-svn: 342436
* [LLVM-C] [OCaml] Remove LLVMAddBBVectorizePassFangrui Song2018-05-283-14/+0
| | | | | | | | | | | | Summary: It was fully replaced back in 2014, and the implementation was removed 11 months ago by r306797. Reviewers: hfinkel, chandlerc, whitequark, deadalnix Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D47436 llvm-svn: 333378
* Remove the ScalarReplAggregates passDavid Majnemer2016-06-151-3/+3
| | | | | | | | | | Nearly all the changes to this pass have been done while maintaining and updating other parts of LLVM. LLVM has had another pass, SROA, which has superseded ScalarReplAggregates for quite some time. Differential Revision: http://reviews.llvm.org/D21316 llvm-svn: 272737
* Remove autoconf supportChris Bieneman2016-01-266-113/+0
| | | | | | | | | | | | | | | | Summary: This patch is provided in preparation for removing autoconf on 1/26. The proposal to remove autoconf on 1/26 was discussed on the llvm-dev thread here: http://lists.llvm.org/pipermail/llvm-dev/2016-January/093875.html "I felt a great disturbance in the [build system], as if millions of [makefiles] suddenly cried out in terror and were suddenly silenced. I fear something [amazing] has happened." - Obi Wan Kenobi Reviewers: chandlerc, grosbach, bob.wilson, tstellarAMD, echristo, whitequark Subscribers: chfast, simoncook, emaste, jholewinski, tberghammer, jfb, danalbert, srhines, arsenm, dschuff, jyknight, dsanders, joker.eph, llvm-commits Differential Revision: http://reviews.llvm.org/D16471 llvm-svn: 258861
* [OCaml] Move Llvm.clone_module to its own Llvm_transform_utils module.Peter Zotov2014-12-017-1/+84
| | | | | | | This way most code won't link this (substantially large) library, if compiled statically with LLVM. llvm-svn: 223072
* [OCaml] [cmake] Add CMake buildsystem for OCaml.Peter Zotov2014-12-015-0/+24
| | | | | | Closes PR15325. llvm-svn: 223071
* [OCaml] Ensure consistent naming.Peter Zotov2014-10-315-2/+2
| | | | | | | | | Specifically: * Directories match module names. * Test names match module names. * The language is called "OCaml", not "Ocaml". llvm-svn: 220958
* [OCaml] Drop support for 3.12.1 and earlier.Peter Zotov2014-10-293-8/+6
| | | | | | | | | | In practice this means: * Always using -g flag. * Embedding -cclib -lstdc++ into the corresponding cma/cmxa file. This also moves -lstdc++ in a single place. * Using caml_named_value instead of a homegrown mechanism. llvm-svn: 220843
* [OCaml] Synchronize transformations with LLVM-C.Peter Zotov2014-10-299-385/+479
| | | | | | | Also, rearrange the functions in a way that allows to quickly compare C headers and .mli/glue files. llvm-svn: 220842
* [OCaml] Fix whitespace.Peter Zotov2014-10-282-2/+2
| | | | llvm-svn: 220766
* MergedLoadStoreMotion passGerolf Hoflehner2014-07-181-0/+6
| | | | | | | | | | | 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
* Fix documentation typosAlp Toker2013-12-201-1/+1
| | | | llvm-svn: 197757
* [OCaml] implement Llvm_passmgr_builder, bindings for PassManagerBuilderPeter Zotov2013-11-045-1/+219
| | | | llvm-svn: 193968
* [OCaml] Implement Llvm_vectorize bindingsPeter Zotov2013-11-035-1/+98
| | | | llvm-svn: 193950
* [OCaml] Llvm_scalar_opts: add missing transformsPeter Zotov2013-11-033-0/+13
| | | | llvm-svn: 193946
* [OCaml] Llvm_ipo: add missing transformsPeter Zotov2013-11-033-0/+12
| | | | llvm-svn: 193945
* OCaml bindings: remove unused DONT_BUILD_RELINKED from MakefilesSylvestre Ledru2013-11-012-2/+0
| | | | | | Patch by Peter Zotov llvm-svn: 193847
* OCaml bindings: formattingSylvestre Ledru2013-11-016-41/+11
| | | | | | | | This commit only changes comments and documentation in OCaml bindings. The official name of the language is OCaml, and the usage is now consistent. Patch by Peter Zotov llvm-svn: 193836
* Remove tabs.Bill Wendling2012-07-191-1/+1
| | | | llvm-svn: 160482
* OCaml bindings: add some missing functions and testcases.Torok Edwin2011-10-143-1/+141
| | | | | | The C bindings exposed some APIs that weren't covered by the OCaml bindings llvm-svn: 141997
* ocaml bindings: add llvm_ipo based on IPO.hTorok Edwin2011-10-065-1/+255
| | | | llvm-svn: 141284
* Try to fix ocaml bindings.Eric Christopher2010-10-083-14/+0
| | | | llvm-svn: 116021
* Expose the rest of the llvm-c scalar opts to ocaml.Erick Tryzelaar2010-03-033-20/+226
| | | | llvm-svn: 97685
* C and Objective Caml bindings for mem2reg and reg2mem.Gordon Henriksen2008-03-203-0/+32
| | | | | | Patch by Erick Tryzelaar. llvm-svn: 48602
* Fix for "make install" of ocaml docs. Patch by Erick Tryzelaar!Bill Wendling2008-03-171-0/+5
| | | | llvm-svn: 48451
* C and Objective Caml bindings for several scalar transforms.Gordon Henriksen2008-03-165-0/+145
Patch originally by Erick Tryzelaar, but has been modified somewhat. llvm-svn: 48419
OpenPOWER on IntegriCloud