|
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 |
|
| #
f2b94bd7 |
| 14-Jul-2022 |
Ashay Rane <[email protected]> |
[mlir] check whether region and block visitors are interrupted
The visitor functions for `Region` and `Block` types did not always check the value returned by recursive calls. This caused the top-l
[mlir] check whether region and block visitors are interrupted
The visitor functions for `Region` and `Block` types did not always check the value returned by recursive calls. This caused the top-level visitor invocation to return `WalkResult::advance()` even if one or more recursive invocations returned `WalkResult::interrupt()`. This patch fixes the problem by check if any recursive call is interrupted, and if so, return `WalkResult::interrupt()`.
Reviewed By: dcaballe
Differential Revision: https://reviews.llvm.org/D129718
show more ...
|
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3 |
|
| #
8067ced1 |
| 13-Jan-2022 |
Rahul Joshi <[email protected]> |
[MLIR] Introduce generic visitors.
- Generic visitors invoke operation callbacks before/in-between/after visiting the regions attached to an operation and use a `WalkStage` to indicate which regio
[MLIR] Introduce generic visitors.
- Generic visitors invoke operation callbacks before/in-between/after visiting the regions attached to an operation and use a `WalkStage` to indicate which regions have been visited. - This can be useful for cases where we need to visit the operation in between visiting regions attached to the operation.
Differential Revision: https://reviews.llvm.org/D116230
show more ...
|
|
Revision tags: llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, 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, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3 |
|
| #
2de6dbda |
| 05-Mar-2021 |
Diego Caballero <[email protected]> |
[mlir] Add 'Skip' result to Operation visitor
This patch is a follow-up on D97217. It adds a new 'Skip' result to the Operation visitor so that a callback can stop the ongoing visit of an operation/
[mlir] Add 'Skip' result to Operation visitor
This patch is a follow-up on D97217. It adds a new 'Skip' result to the Operation visitor so that a callback can stop the ongoing visit of an operation/block/region and continue visiting the next one without fully interrupting the walk. Skipping is needed to be able to erase an operation/block in pre-order and do not continue visiting the internals of that operation/block.
Related to the skipping mechanism, the patch also introduces the following changes: * Added new TestIRVisitors pass with basic testing for the IR visitors. * Fixed missing early increment ranges in visitor implementation. * Updated documentation of walk methods to include erasure information and walk order information.
Reviewed By: rriddle
Differential Revision: https://reviews.llvm.org/D97820
show more ...
|
| #
71a86245 |
| 05-Mar-2021 |
Diego Caballero <[email protected]> |
[mlir] Extend Operation visitor with pre-order traversal
This patch extends the Region, Block and Operation visitors to also support pre-order walks. We introduce a new template argument that dictat
[mlir] Extend Operation visitor with pre-order traversal
This patch extends the Region, Block and Operation visitors to also support pre-order walks. We introduce a new template argument that dictates the walk order (only pre-order and post-order are supported for now). The default order for Regions, Blocks and Operations is post-order. Mixed orders (e.g., Region/Block pre-order + Operation post-order) could easily be implemented, as shown in NumberOfExecutions.cpp.
Reviewed By: rriddle, frgossen, bondhugula
Differential Revision: https://reviews.llvm.org/D97217
show more ...
|
|
Revision tags: llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1 |
|
| #
1664462d |
| 04-Nov-2020 |
Frederik Gossen <[email protected]> |
[MLIR] Support walks over regions and blocks
Relands - [MLIR] Support walks over regions and blocks (dbae3d50f114a8ec0a7c3211e3b1b9fb6ef22dbd) - [MLIR] Use llvm::is_one_of in walk templates
[MLIR] Support walks over regions and blocks
Relands - [MLIR] Support walks over regions and blocks (dbae3d50f114a8ec0a7c3211e3b1b9fb6ef22dbd) - [MLIR] Use llvm::is_one_of in walk templates (56299b1e58bf3720dff2fe60163739ee1554a371)
Differential Revision: https://reviews.llvm.org/D90753
show more ...
|
| #
327bf5c2 |
| 02-Nov-2020 |
Frederik Gossen <[email protected]> |
Revert "[MLIR] Support walks over regions and blocks"
This reverts commit dbae3d50f114a8ec0a7c3211e3b1b9fb6ef22dbd. Cannot build with gcc/g++ 7.5.0.
|
| #
dbae3d50 |
| 29-Oct-2020 |
Frederik Gossen <[email protected]> |
[MLIR] Support walks over regions and blocks
Add specializations for `walk` to allow traversal of regions and blocks.
Differential Revision: https://reviews.llvm.org/D90379
|
|
Revision tags: llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4 |
|
| #
9db53a18 |
| 07-Jul-2020 |
River Riddle <[email protected]> |
[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.
|
|
Revision tags: llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1, llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1 |
|
| #
30857107 |
| 26-Jan-2020 |
Mehdi Amini <[email protected]> |
Mass update the MLIR license header to mention "Part of the LLVM project"
This is an artifact from merging MLIR into LLVM, the file headers are now aligned with the rest of the project.
|
| #
fc817b09 |
| 20-Jan-2020 |
Kazuaki Ishizaki <[email protected]> |
[mlir] NFC: Fix trivial typos in comments
Differential Revision: https://reviews.llvm.org/D73012
|
|
Revision tags: llvmorg-11-init |
|
| #
56222a06 |
| 23-Dec-2019 |
Mehdi Amini <[email protected]> |
Adjust License.txt file to use the LLVM license
PiperOrigin-RevId: 286906740
|
|
Revision tags: llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1, llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4 |
|
| #
037742cd |
| 30-Aug-2019 |
River Riddle <[email protected]> |
Add support for early exit walk methods.
This is done by providing a walk callback that returns a WalkResult. This result is either `advance` or `interrupt`. `advance` means that the walk should con
Add support for early exit walk methods.
This is done by providing a walk callback that returns a WalkResult. This result is either `advance` or `interrupt`. `advance` means that the walk should continue, whereas `interrupt` signals that the walk should stop immediately. An example is shown below:
auto result = op->walk([](Operation *op) { if (some_invariant) return WalkResult::interrupt(); return WalkResult::advance(); });
if (result.wasInterrupted()) ...;
PiperOrigin-RevId: 266436700
show more ...
|
|
Revision tags: llvmorg-9.0.0-rc3 |
|
| #
4bfae66d |
| 29-Aug-2019 |
River Riddle <[email protected]> |
Refactor the 'walk' methods for operations.
This change refactors and cleans up the implementation of the operation walk methods. After this refactoring is that the explicit template parameter for t
Refactor the 'walk' methods for operations.
This change refactors and cleans up the implementation of the operation walk methods. After this refactoring is that the explicit template parameter for the operation type is no longer needed for the explicit op walks. For example:
op->walk<AffineForOp>([](AffineForOp op) { ... });
is now accomplished via:
op->walk([](AffineForOp op) { ... });
PiperOrigin-RevId: 266209552
show more ...
|