This is an archive of the discontinued LLVM Phabricator instance.

Multiple fixes to affine loop tiling return status and checks
ClosedPublic

Authored by bondhugula on Jan 6 2022, 5:17 AM.

Details

Summary

Fix crash in the presence of yield values. Multiple fixes to affine loop
tiling pre-condition checks and return status. Do not signal pass
failure on a failure to tile since the IR is still valid. Detect index
set computation failure in checkIfHyperrectangular and return failure.
Replace assertions with proper status return. Move checks to an
appropriate place earlier in the utility before mutation happens.

Diff Detail

Event Timeline

bondhugula created this revision.Jan 6 2022, 5:17 AM
bondhugula requested review of this revision.Jan 6 2022, 5:17 AM
bondhugula updated this revision to Diff 397869.Jan 6 2022, 6:31 AM

More cleanup.

bondhugula updated this revision to Diff 397870.Jan 6 2022, 6:34 AM

Handle trivial case.

ayzhuang accepted this revision.Jan 7 2022, 12:47 PM

Looks great, thanks!

This revision is now accepted and ready to land.Jan 7 2022, 12:47 PM
mlir/lib/Transforms/Utils/LoopUtils.cpp