- Added support for return values in affine.for yield along the same lines as scf.for and affine.parallel.
Signed-off-by: Abhishek Varma <abhishek.varma@polymagelabs.com>
Paths
| Differential D87437
[MLIR] Support for return values in Affine.For yield ClosedPublic Authored by avarmapml on Sep 10 2020, 12:22 AM.
Details Summary
Signed-off-by: Abhishek Varma <abhishek.varma@polymagelabs.com>
Diff Detail
Event Timelinebondhugula added inline comments. bondhugula added inline comments. This revision now requires changes to proceed.Sep 10 2020, 9:02 AM Comment Actions LGTM! Just some nit comments! Thanks for contributing this feature!
What do you mean exactly? The example in the doc is a reduction. Do you mean that this patch doesn't include the analysis to deal with reductions described using iter_args?
Comment Actions I think we definitely need a test for the builder API here to make sure it's working as intended. Please see the other builder API tests for reference in test/EDSC/builder-api-test.cpp. This revision now requires changes to proceed.Sep 14 2020, 4:10 AM Comment Actions Added test case for build method and bug fix
This revision now requires changes to proceed.Sep 14 2020, 11:28 PM
avarmapml marked 8 inline comments as done. Comment ActionsHandled review comments and updated test case bondhugula added inline comments.
This revision now requires changes to proceed.Sep 15 2020, 9:22 PM
This revision is now accepted and ready to land.Sep 17 2020, 1:46 AM Closed by commit rG296e97ae8f71: [MLIR] Support for return values in Affine.For yield (authored by avarmapml, committed by bondhugula). · Explain WhySep 17 2020, 11:05 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 291719 mlir/include/mlir/Dialect/Affine/EDSC/Builders.h
mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
mlir/lib/Dialect/Affine/EDSC/Builders.cpp
mlir/lib/Dialect/Affine/IR/AffineOps.cpp
mlir/test/Dialect/Affine/invalid.mlir
mlir/test/Dialect/Affine/ops.mlir
mlir/test/EDSC/builder-api-test.cpp
|
3 loop control values ... <-- this would be inaccurate (copy/paste error).