#
489fec27 |
| 22-Oct-2021 |
Nicolas Vasilache <nicolas.vasilache@gmail.com> |
[mlir][Linalg] NFC - Drop Optional in favor of FailureOr
Differential revision: https://reviews.llvm.org/D112332
|
#
a54f4eae |
| 12-Oct-2021 |
Mogball <jeffniu22@gmail.com> |
[MLIR] Replace std ops with arith dialect ops
Precursor: https://reviews.llvm.org/D110200
Removed redundant ops from the standard dialect that were moved to the `arith` or `math` dialects.
Renamed
[MLIR] Replace std ops with arith dialect ops
Precursor: https://reviews.llvm.org/D110200
Removed redundant ops from the standard dialect that were moved to the `arith` or `math` dialects.
Renamed all instances of operations in the codebase and in tests.
Reviewed By: rriddle, jpienaar
Differential Revision: https://reviews.llvm.org/D110797
show more ...
|
#
8ed2e8e0 |
| 08-Oct-2021 |
Tobias Gysi <gysit@google.com> |
[mlir][linalg] Retire Linalg ConvOp.
The convolution op is one of the remaining hard coded Linalg operations that have no region attached. It got obsolete due to the OpDSL convolution operations. Re
[mlir][linalg] Retire Linalg ConvOp.
The convolution op is one of the remaining hard coded Linalg operations that have no region attached. It got obsolete due to the OpDSL convolution operations. Removing it allows us to delete specialized code and tests that are not needed for the OpDSL counterparts that rely on the standard code paths.
Test needed due to specialized implementations are removed. Tiling and fusion tests are replaced by variants using linalg.conv_2d.
Reviewed By: nicolasvasilache
Differential Revision: https://reviews.llvm.org/D111233
show more ...
|
#
7cef24ee |
| 23-Jun-2021 |
Tobias Gysi <gysit@google.com> |
[mlir][linalg] Adapt the FillOp builder signature.
Change the build operand order from output, value to value, output. The patch makes the argument order consistent with the pretty printed order upd
[mlir][linalg] Adapt the FillOp builder signature.
Change the build operand order from output, value to value, output. The patch makes the argument order consistent with the pretty printed order updated by https://reviews.llvm.org/D104356.
Differential Revision: https://reviews.llvm.org/D104359
show more ...
|
#
e70d2c8e |
| 03-Jun-2021 |
Tobias Gysi <gysit@google.com> |
[mlir][linalg] Cleanup LinalgOp usage in promotion.
Replace the uses of deprecated Structured Op Interface methods in Promotion.cpp. This patch is based on https://reviews.llvm.org/D103394.
Differe
[mlir][linalg] Cleanup LinalgOp usage in promotion.
Replace the uses of deprecated Structured Op Interface methods in Promotion.cpp. This patch is based on https://reviews.llvm.org/D103394.
Differential Revision: https://reviews.llvm.org/D103450
show more ...
|
#
8c948b18 |
| 02-Jun-2021 |
Mehdi Amini <joker.eph@gmail.com> |
Fix -Wsign-compare warning (NFC)
|
#
4519ca3d |
| 20-May-2021 |
Nicolas Vasilache <nicolas.vasilache@gmail.com> |
[mlir][Linalg] NFC - Drop Linalg EDSC usage
Drop the Linalg dialect EDSC subdirectory and update all uses.
Differential Revision: https://reviews.llvm.org/D102848
|
#
ef33c6e3 |
| 20-May-2021 |
Nicolas Vasilache <nicolas.vasilache@gmail.com> |
[mlir][Linalg] Drop spurious usage of OperationFolder
Instead, use createOrFold builders which result in more static information available.
Differential Revision: https://reviews.llvm.org/D102832
|
#
42e5f422 |
| 06-Apr-2021 |
Tres Popp <tpopp@google.com> |
[mlir] Support complex numbers in Linalg promotion
FillOp allows complex ops, and filling a properly sized buffer with a default zero complex number is implemented.
Differential Revision: https://r
[mlir] Support complex numbers in Linalg promotion
FillOp allows complex ops, and filling a properly sized buffer with a default zero complex number is implemented.
Differential Revision: https://reviews.llvm.org/D99939
show more ...
|
#
e2310704 |
| 10-Feb-2021 |
Julian Gross <julian.gross@dfki.de> |
[MLIR] Create memref dialect and move dialect-specific ops from std.
Create the memref dialect and move dialect-specific ops from std dialect to this dialect.
Moved ops: AllocOp -> MemRef_AllocOp A
[MLIR] Create memref dialect and move dialect-specific ops from std.
Create the memref dialect and move dialect-specific ops from std dialect to this dialect.
Moved ops: AllocOp -> MemRef_AllocOp AllocaOp -> MemRef_AllocaOp AssumeAlignmentOp -> MemRef_AssumeAlignmentOp DeallocOp -> MemRef_DeallocOp DimOp -> MemRef_DimOp MemRefCastOp -> MemRef_CastOp MemRefReinterpretCastOp -> MemRef_ReinterpretCastOp GetGlobalMemRefOp -> MemRef_GetGlobalOp GlobalMemRefOp -> MemRef_GlobalOp LoadOp -> MemRef_LoadOp PrefetchOp -> MemRef_PrefetchOp ReshapeOp -> MemRef_ReshapeOp StoreOp -> MemRef_StoreOp SubViewOp -> MemRef_SubViewOp TransposeOp -> MemRef_TransposeOp TensorLoadOp -> MemRef_TensorLoadOp TensorStoreOp -> MemRef_TensorStoreOp TensorToMemRefOp -> MemRef_BufferCastOp ViewOp -> MemRef_ViewOp
The roadmap to split the memref dialect from std is discussed here: https://llvm.discourse.group/t/rfc-split-the-memref-dialect-from-std/2667
Differential Revision: https://reviews.llvm.org/D98041
show more ...
|
#
a89035d7 |
| 18-Feb-2021 |
Alexander Belyaev <pifon@google.com> |
Revert "[MLIR] Create memref dialect and move several dialect-specific ops from std."
This commit introduced a cyclic dependency: Memref dialect depends on Standard because it used ConstantIndexOp.
Revert "[MLIR] Create memref dialect and move several dialect-specific ops from std."
This commit introduced a cyclic dependency: Memref dialect depends on Standard because it used ConstantIndexOp. Std depends on the MemRef dialect in its EDSC/Intrinsics.h
Working on a fix.
This reverts commit 8aa6c3765b924d86f623d452777eb76b83bf2787.
show more ...
|
#
8aa6c376 |
| 10-Feb-2021 |
Julian Gross <julian.gross@dfki.de> |
[MLIR] Create memref dialect and move several dialect-specific ops from std.
Create the memref dialect and move several dialect-specific ops without dependencies to other ops from std dialect to thi
[MLIR] Create memref dialect and move several dialect-specific ops from std.
Create the memref dialect and move several dialect-specific ops without dependencies to other ops from std dialect to this dialect.
Moved ops: AllocOp -> MemRef_AllocOp AllocaOp -> MemRef_AllocaOp DeallocOp -> MemRef_DeallocOp MemRefCastOp -> MemRef_CastOp GetGlobalMemRefOp -> MemRef_GetGlobalOp GlobalMemRefOp -> MemRef_GlobalOp PrefetchOp -> MemRef_PrefetchOp ReshapeOp -> MemRef_ReshapeOp StoreOp -> MemRef_StoreOp TransposeOp -> MemRef_TransposeOp ViewOp -> MemRef_ViewOp
The roadmap to split the memref dialect from std is discussed here: https://llvm.discourse.group/t/rfc-split-the-memref-dialect-from-std/2667
Differential Revision: https://reviews.llvm.org/D96425
show more ...
|
#
e21adfa3 |
| 04-Feb-2021 |
River Riddle <riddleriver@gmail.com> |
[mlir] Mark LogicalResult as LLVM_NODISCARD
This makes ignoring a result explicit by the user, and helps to prevent accidental errors with dropped results. Marking LogicalResult as no discard was al
[mlir] Mark LogicalResult as LLVM_NODISCARD
This makes ignoring a result explicit by the user, and helps to prevent accidental errors with dropped results. Marking LogicalResult as no discard was always the intention from the beginning, but got lost along the way.
Differential Revision: https://reviews.llvm.org/D95841
show more ...
|
#
05d5125d |
| 25-Jan-2021 |
Nicolas Vasilache <nicolas.vasilache@gmail.com> |
[mlir] Generalize OpFoldResult usage in ops with offsets, sizes and operands.
This revision starts evolving the APIs to manipulate ops with offsets, sizes and operands towards a ValueOrAttr abstract
[mlir] Generalize OpFoldResult usage in ops with offsets, sizes and operands.
This revision starts evolving the APIs to manipulate ops with offsets, sizes and operands towards a ValueOrAttr abstraction that is already used in folding under the name OpFoldResult.
The objective, in the future, is to allow such manipulations all the way to the level of ODS to avoid all the genuflexions involved in distinguishing between values and attributes for generic constant foldings.
Once this evolution is accepted, the next step will be a mechanical OpFoldResult -> ValueOrAttr.
Differential Revision: https://reviews.llvm.org/D95310
show more ...
|
#
c0755726 |
| 20-Jan-2021 |
Nicolas Vasilache <nicolas.vasilache@gmail.com> |
[mlir][Linalg] NFC - Expose getSmallestBoundingIndex as an utility function
|
#
b7ae1d3d |
| 21-Dec-2020 |
nicolasvasilache <ntv@google.com> |
[mlir][Linalg] Revisit the Linalg on tensors abstraction
This revision drops init_tensor arguments from Linalg on tensors and instead uniformizes the output buffers and output tensors to be consiste
[mlir][Linalg] Revisit the Linalg on tensors abstraction
This revision drops init_tensor arguments from Linalg on tensors and instead uniformizes the output buffers and output tensors to be consistent. This significantly simplifies the usage of Linalg on tensors and is a stepping stone for its evolution towards a mixed tensor and shape abstraction discussed in https://llvm.discourse.group/t/linalg-and-shapes/2421/19.
Differential Revision: https://reviews.llvm.org/D93469
show more ...
|
#
1b97cdf8 |
| 17-Dec-2020 |
River Riddle <riddleriver@gmail.com> |
[mlir][IR][NFC] Move context/location parameters of builtin Type::get methods to the start of the parameter list
This better matches the rest of the infrastructure, is much simpler, and makes it eas
[mlir][IR][NFC] Move context/location parameters of builtin Type::get methods to the start of the parameter list
This better matches the rest of the infrastructure, is much simpler, and makes it easier to move these types to being declaratively specified.
Differential Revision: https://reviews.llvm.org/D93432
show more ...
|
#
c4a04059 |
| 28-Nov-2020 |
Christian Sigg <csigg@google.com> |
Add `Operation* OpState::operator->()` to provide more convenient access to members of Operation.
Given that OpState already implicit converts to Operator*, this seems reasonable.
The alternative w
Add `Operation* OpState::operator->()` to provide more convenient access to members of Operation.
Given that OpState already implicit converts to Operator*, this seems reasonable.
The alternative would be to add more functions to OpState which forward to Operation.
Reviewed By: rriddle, ftynse
Differential Revision: https://reviews.llvm.org/D92266
show more ...
|
#
11ea2e24 |
| 23-Nov-2020 |
MaheshRavishankar <ravishankarm@google.com> |
[mlir][Linalg] NFC: Expose some utility functions used for promotion.
Exposing some utility functions from Linalg to allow for promotion of fused views outside of the core tile+fuse logic. This is a
[mlir][Linalg] NFC: Expose some utility functions used for promotion.
Exposing some utility functions from Linalg to allow for promotion of fused views outside of the core tile+fuse logic. This is an alternative to patch D91322 which adds the promotion logic to the tileAndFuse method. Downside with that approach is that it is not easily customizable based on needs.
Differential Revision: https://reviews.llvm.org/D91503
show more ...
|
#
0caa82e2 |
| 20-Nov-2020 |
Mikhail Goncharov <goncharov.mikhail@gmail.com> |
Revert "[mlir][Linalg] Fuse sequence of Linalg operation (on buffers)"
This reverts commit f8284d21a8e294d58a0acd4b8b2e906d7a9f110c.
Revert "[mlir][Linalg] NFC: Expose some utility functions used f
Revert "[mlir][Linalg] Fuse sequence of Linalg operation (on buffers)"
This reverts commit f8284d21a8e294d58a0acd4b8b2e906d7a9f110c.
Revert "[mlir][Linalg] NFC: Expose some utility functions used for promotion."
This reverts commit 0c59f51592ef5c014352994369f5216c6376fae1.
Revert "Remove unused isZero function"
This reverts commit 0f9f0a4046e11c2b4c130640f343e3b2b5db08c1.
Change f8284d21 led to multiple failures in IREE compilation.
show more ...
|
#
0c59f515 |
| 20-Nov-2020 |
MaheshRavishankar <ravishankarm@google.com> |
[mlir][Linalg] NFC: Expose some utility functions used for promotion.
Exposing some utility functions from Linalg to allow for promotion of fused views outside of the core tile+fuse logic. This is a
[mlir][Linalg] NFC: Expose some utility functions used for promotion.
Exposing some utility functions from Linalg to allow for promotion of fused views outside of the core tile+fuse logic. This is an alternative to patch D91322 which adds the promotion logic to the tileAndFuse method. Downside with that approach is that it is not easily customizable based on needs.
Differential Revision: https://reviews.llvm.org/D91503
show more ...
|
#
41b09f4e |
| 28-Oct-2020 |
Kazuaki Ishizaki <ishizaki@jp.ibm.com> |
[mlir] NFC: fix trivial typos fix typos in comments and documents
Reviewed By: jpienaar
Differential Revision: https://reviews.llvm.org/D90089
|
#
9db53a18 |
| 07-Jul-2020 |
River Riddle <riddleriver@gmail.com> |
[mlir][NFC] Remove usernames and google bug numbers from TODO comments.
These were largely leftover from when MLIR was a google project, and don't really follow LLVM guidelines.
|
#
7d9518c8 |
| 01-Jul-2020 |
Nicolas Vasilache <ntv@google.com> |
[mlir][Linalg] Add an option to use Alloca instead of malloc/free pairs.
Summary: A relevant test is also added.
Subscribers: mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, arpith-jacob, mg
[mlir][Linalg] Add an option to use Alloca instead of malloc/free pairs.
Summary: A relevant test is also added.
Subscribers: mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, stephenneuendorffer, Joonsoo, grosul1, Kayjukh, jurahul, msifontes
Tags: #mlir
Differential Revision: https://reviews.llvm.org/D82959
show more ...
|
#
0ed2d4c7 |
| 26-May-2020 |
MaheshRavishankar <ravishankarm@google.com> |
[mlir][linalg] Allow promotion to use callbacks for alloc/dealloc/copies.
Add options to LinalgPromotion to use callbacks for implementating the allocation, deallocation of buffers used for the prom
[mlir][linalg] Allow promotion to use callbacks for alloc/dealloc/copies.
Add options to LinalgPromotion to use callbacks for implementating the allocation, deallocation of buffers used for the promoted subviews, and to copy data into and from the original subviews to the allocated buffers. Also some misc. cleanup of the code.
Differential Revision: https://reviews.llvm.org/D80365
show more ...
|