This is an archive of the discontinued LLVM Phabricator instance.

[mlir] SCFToStandard: support any ops in and around the control flow ops
ClosedPublic

Authored by ftynse on May 18 2020, 9:12 AM.

Details

Summary

Originally, the SCFToStandard conversion only declared Ops from the Standard
dialect as legal after conversion. This is undesirable as it would fail the
conversion if the SCF ops contained ops from any other dialect. Furthermore,
this would be problematic for progressive lowering of scf.parallel to
scf.for after ensureRegionTerminator is made aware of the pattern rewriting
infrastructure because it creates temporary scf.yield operations declared
illegal. Change the legalization target to declare any op other than scf.for,
scf.if and scf.parallel legal.

Depends On D80136

Diff Detail

Event Timeline

ftynse created this revision.May 18 2020, 9:12 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 18 2020, 9:12 AM
nicolasvasilache accepted this revision.May 18 2020, 9:51 AM
This revision is now accepted and ready to land.May 18 2020, 9:51 AM
This revision was automatically updated to reflect the committed changes.