This is an archive of the discontinued LLVM Phabricator instance.

[mlir][vector][NFC] Remove terminator from vector.mask
AbandonedPublic

Authored by springerm on Jan 12 2023, 2:23 AM.

Details

Summary

Use GraphRegionNoTerminator.traits instead.

Diff Detail

Event Timeline

springerm created this revision.Jan 12 2023, 2:23 AM
Herald added a project: Restricted Project. · View Herald Transcript
springerm requested review of this revision.Jan 12 2023, 2:23 AM
Herald added a project: Restricted Project. · View Herald Transcript
springerm planned changes to this revision.Jan 12 2023, 2:28 AM

There is one problem with this change: The wrapped op could DCE away.

Thanks, @springerm! I haven't used this trait before. What happens when the maskable op has results? Are they identified as results of the vector.mask op?
There are also cases where we may accidentally and temporarily have multiple operations within the same vector.mask, until the vector.mask is "legalized" (see reviews.llvm.org/D141559). Would those cases still work with this approach?

This works with results but the op could DCE away because there is no user of the results. So i think we actually need the terminator.

springerm abandoned this revision.Jan 19 2023, 12:14 AM