This is an archive of the discontinued LLVM Phabricator instance.

[mlir][transform] failure propagation mode in sequence
ClosedPublic

Authored by ftynse on Aug 12 2022, 6:59 AM.

Details

Summary

Introduce two different failure propagation mode in the Transform
dialect's Sequence operation. These modes specify whether silenceable
errors produced by nested ops are immediately propagated, thus stopping
the sequence, or suppressed. The latter is useful in end-to-end
transform application scenarios where the user cannot correct the
transformation, but it is robust enough to silenceable failures. It
can be combined with the "alternatives" operation. There is
intentionally no default value to avoid favoring one mode over the
other.

Downstreams can update their tests using:

S='s/sequence \(%.*\) {/sequence \1 failures(propagate) {/'
T='s/sequence {/sequence failures(propagate) {/'
git grep -l transform.sequence | xargs sed -i -e "$S"
git grep -l transform.sequence | xargs sed -i -e "$T"

Diff Detail

Event Timeline

ftynse created this revision.Aug 12 2022, 6:59 AM
Herald added a project: Restricted Project. · View Herald Transcript
ftynse requested review of this revision.Aug 12 2022, 6:59 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 12 2022, 6:59 AM
nicolasvasilache accepted this revision.Aug 12 2022, 7:00 AM
This revision is now accepted and ready to land.Aug 12 2022, 7:00 AM
This revision was landed with ongoing or failed builds.Aug 12 2022, 8:31 AM
This revision was automatically updated to reflect the committed changes.