This is an archive of the discontinued LLVM Phabricator instance.

[MLIR] Update/fix memref region computation for affine.parallel ops
ClosedPublic

Authored by bondhugula on Mar 9 2023, 12:31 AM.

Details

Summary

When the affine.parallel op was introduced, affine utilities weren't
extended to handle it. Extending these is straightforward and natural
given that addAffineParallelOpDomain has also been added.
Update/complete memref region compute to account for affine.parallel
ops. Handle failure cleanly.

Add and expose utilities missing for affine.parallel to be consistent
with affine.for.

All of these allow various affine passes to work with a combination of
affine.parallel and affine.for ops.

Diff Detail

Event Timeline

bondhugula created this revision.Mar 9 2023, 12:31 AM
bondhugula requested review of this revision.Mar 9 2023, 12:31 AM
bondhugula updated this revision to Diff 503686.Mar 9 2023, 1:22 AM
bondhugula edited the summary of this revision. (Show Details)

Update commit summary.

springerm accepted this revision.Mar 13 2023, 9:37 AM
springerm added inline comments.
mlir/include/mlir/Dialect/Affine/Analysis/Utils.h
42

ivs

mlir/lib/Dialect/Affine/Analysis/Utils.cpp
515–520

I think you can use mlir::getConstantIntValue(symbol) here.

This revision is now accepted and ready to land.Mar 13 2023, 9:37 AM
bondhugula marked 2 inline comments as done.

Address review comments.

Thanks for the review.

mlir/lib/Dialect/Affine/Analysis/Utils.cpp
515–520

Thanks, done.

This revision was landed with ongoing or failed builds.Mar 14 2023, 6:19 PM
This revision was automatically updated to reflect the committed changes.