This is an archive of the discontinued LLVM Phabricator instance.

[mlir] simpler transform dialect silenceable failures
ClosedPublic

Authored by ftynse on Jan 9 2023, 10:13 AM.

Details

Summary

Simplify the handling of silenceable failures in the transform dialect.
Previously, the logic of TransformEachOpTrait required that
applyToEach returned a list of null pointers when a silenceable
failure was emitted. This was not done consistently and also crept into
ops without this trait although they did not require it. Handle this
case earlier in the interpreter and homogeneously associated preivously
unset transform dialect values (both handles and parameters) with empty
lists of the matching kind. Ignore the results of applyToEach for the
targets for which it produced a silenceable failure. As a result, one
never needs to set results to lists containing nulls. Furthermore, the
objects associated with transform dialect values must never be null.

Depends On D140980

Diff Detail

Event Timeline

ftynse created this revision.Jan 9 2023, 10:13 AM
ftynse requested review of this revision.Jan 9 2023, 10:13 AM
Herald added a project: Restricted Project. · View Herald Transcript

Great, thanks!

This revision is now accepted and ready to land.Jan 18 2023, 12:13 PM
This revision was automatically updated to reflect the committed changes.