|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
| #
7ccd026c |
| 08-Apr-2022 |
Arthur Eubanks <[email protected]> |
Reland [mlir] Remove uses of LLVM's legacy pass manager
Use the new pass manager.
This also removes the ability to run arbitrary sets of passes. Not sure if this functionality is used, but it doesn
Reland [mlir] Remove uses of LLVM's legacy pass manager
Use the new pass manager.
This also removes the ability to run arbitrary sets of passes. Not sure if this functionality is used, but it doesn't seem to be tested.
No need to initialize passes outside of constructing the PassBuilder with the new pass manager.
Reland: Fixed custom calls to `-lower-matrix-intrinsics` in integration tests by replacing them with `-O0 -enable-matrix`.
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D123425
show more ...
|
| #
c3efb750 |
| 11-Apr-2022 |
Arthur Eubanks <[email protected]> |
Revert "[mlir] Remove uses of LLVM's legacy pass manager"
This reverts commit b0f7f6f78d050cc89b31c87fb48744989145af60.
Causes test failures: https://lab.llvm.org/buildbot#builders/61/builds/24879
|
| #
b0f7f6f7 |
| 08-Apr-2022 |
Arthur Eubanks <[email protected]> |
[mlir] Remove uses of LLVM's legacy pass manager
Use the new pass manager.
This also removes the ability to run arbitrary sets of passes. Not sure if this functionality is used, but it doesn't seem
[mlir] Remove uses of LLVM's legacy pass manager
Use the new pass manager.
This also removes the ability to run arbitrary sets of passes. Not sure if this functionality is used, but it doesn't seem to be tested.
No need to initialize passes outside of constructing the PassBuilder with the new pass manager.
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D123425
show more ...
|
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2 |
|
| #
a7db3c61 |
| 23-Feb-2022 |
Emilio Cota <[email protected]> |
[mlir][NFC] Use options struct in ExecutionEngine::create
Its number of optional parameters has grown too large, which makes adding new optional parameters quite a chore.
Fix this by using an optio
[mlir][NFC] Use options struct in ExecutionEngine::create
Its number of optional parameters has grown too large, which makes adding new optional parameters quite a chore.
Fix this by using an options struct.
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D120380
show more ...
|
|
Revision tags: llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1 |
|
| #
106f3074 |
| 22-Nov-2021 |
Tres Popp <[email protected]> |
Rename MlirExecutionEngine lookup to lookupPacked
The purpose of the change is to make clear whether the user is retrieving the original function or the wrapper function, in line with the invoke com
Rename MlirExecutionEngine lookup to lookupPacked
The purpose of the change is to make clear whether the user is retrieving the original function or the wrapper function, in line with the invoke commands. This new functionality is useful for users that already have defined their own packed interface, so they do not want the extra layer of indirection, or for users wanting to the look at the resulting primary function rather than the wrapper function.
All locations, except the python bindings now have a `lookupPacked` method that matches the original `lookup` functionality. `lookup` still exists, but with new semantics.
- `lookup` returns the function with a given name. If `bool f(int,int)` is compiled, `lookup` will return a reference to `bool(*f)(int,int)`. - `lookupPacked` returns the packed wrapper of the function with the given name. If `bool f(int,int)` is compiled, `lookupPacked` will return `void(*mlir_f)(void**)`.
Differential Revision: https://reviews.llvm.org/D114352
show more ...
|
| #
050cc1cd |
| 22-Nov-2021 |
Nicolas Vasilache <[email protected]> |
[mlir] Add InitializeNativeTargetAsmParser to ExecutionEngine.
This is required to allow python to work with lowerings that use inline_asm.
Differential Revision: https://reviews.llvm.org/D114338
|
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2 |
|
| #
c8b8e8e0 |
| 05-Jun-2021 |
Uday Bondhugula <[email protected]> |
[MLIR] Execution engine python binding support for shared libraries
Add support to Python bindings for the MLIR execution engine to load a specified list of shared libraries - for eg. to use MLIR ru
[MLIR] Execution engine python binding support for shared libraries
Add support to Python bindings for the MLIR execution engine to load a specified list of shared libraries - for eg. to use MLIR runtime utility libraries.
Differential Revision: https://reviews.llvm.org/D104009
show more ...
|
|
Revision tags: llvmorg-12.0.1-rc1 |
|
| #
185ce8cd |
| 05-May-2021 |
Uday Bondhugula <[email protected]> |
[MLIR][PYTHON] Provide opt level for ExecutionEngine Python binding
Provide an option to specify optimization level when creating an ExecutionEngine via the MLIR JIT Python binding. Not only is the
[MLIR][PYTHON] Provide opt level for ExecutionEngine Python binding
Provide an option to specify optimization level when creating an ExecutionEngine via the MLIR JIT Python binding. Not only is the specified optimization level used for code generation, but all LLVM optimization passes at the optimization level are also run prior to machine code generation (akin to the mlir-cpu-runner tool).
Default opt level continues to remain at level two (-O2).
Contributions in part from Prashant Kumar <[email protected]> as well.
Differential Revision: https://reviews.llvm.org/D102551
show more ...
|
| #
1dc533ce |
| 19-Apr-2021 |
Nicolas Vasilache <[email protected]> |
[mlir][python] ExecutionEngine can dump to object file
Differential Revision: https://reviews.llvm.org/D100786
|
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4 |
|
| #
7a4d6307 |
| 30-Mar-2021 |
Mehdi Amini <[email protected]> |
Add a "register_runtime" method to the mlir.execution_engine and show calling back from MLIR into Python
This exposes the ability to register Python functions with the JIT and exposes them to the ML
Add a "register_runtime" method to the mlir.execution_engine and show calling back from MLIR into Python
This exposes the ability to register Python functions with the JIT and exposes them to the MLIR jitted code. The provided test case illustrates the mechanism.
Differential Revision: https://reviews.llvm.org/D99562
show more ...
|
|
Revision tags: llvmorg-12.0.0-rc3 |
|
| #
19db802e |
| 03-Mar-2021 |
Alex Zinenko <[email protected]> |
[mlir] make implementations of translation to LLVM IR interfaces private
There is no need for the interface implementations to be exposed, opaque registration functions are sufficient for all users,
[mlir] make implementations of translation to LLVM IR interfaces private
There is no need for the interface implementations to be exposed, opaque registration functions are sufficient for all users, similarly to passes.
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D97852
show more ...
|
|
Revision tags: llvmorg-12.0.0-rc2 |
|
| #
13cb4317 |
| 23-Feb-2021 |
Mehdi Amini <[email protected]> |
Add basic JIT Python Bindings
This offers the ability to create a JIT and invoke a function by passing ctypes pointers to the argument and the result.
Differential Revision: https://reviews.llvm.or
Add basic JIT Python Bindings
This offers the ability to create a JIT and invoke a function by passing ctypes pointers to the argument and the result.
Differential Revision: https://reviews.llvm.org/D97523
show more ...
|
| #
86c8a785 |
| 13-Feb-2021 |
Mehdi Amini <[email protected]> |
Add C bindings for mlir::ExecutionEngine
This adds minimalistic bindings for the execution engine, allowing to invoke the JIT from the C API. This is still quite early and experimental and shouldn't
Add C bindings for mlir::ExecutionEngine
This adds minimalistic bindings for the execution engine, allowing to invoke the JIT from the C API. This is still quite early and experimental and shouldn't be considered stable in any way.
Differential Revision: https://reviews.llvm.org/D96651
show more ...
|