This is an archive of the discontinued LLVM Phabricator instance.

[mlir][linalg] Update transformation marker if no other pattern matches.
AbandonedPublic

Authored by gysit on Dec 1 2021, 5:59 AM.

Details

Reviewers
nicolasvasilache
Summary

The Linalg Codegenstrategy uses transformation markers to keep track of which transformations have been applied to a specific operation. When working with multiple operations, for example after fusion, it may happen that specific transformations apply only to a subset of the operations. In this scenario, we nevertheless want to increment the transformation markers of all fused operations. This revision introduced a LinalgSkipPattern that has a low benefit and updates all operations that are not matched by another pattern of the current transformation stage. Only if the transformation markers of all operations are up to date, follow up transformations will run.

Depends On D114855

Diff Detail

Event Timeline

gysit created this revision.Dec 1 2021, 5:59 AM
gysit requested review of this revision.Dec 1 2021, 5:59 AM
gysit updated this revision to Diff 390998.Dec 1 2021, 6:13 AM

Improve comment.

This looks like a footgun to me, have we reached the point where we should outline to an scf.execute op?

gysit abandoned this revision.Dec 7 2021, 1:06 AM

As discussed offline, let`s abandon this revsion until we have a better solution not relying on markers.