Page MenuHomePhabricator

[mlir] Add support for "promised" interfaces
Needs ReviewPublic

Authored by rriddle on Feb 22 2022, 4:19 PM.



Promised interfaces allow for a dialect to "promise" the implementation of an interface, i.e.
declare that it supports an interface, but have the interface defined in an extension in a library
separate from the dialect itself. A promised interface is powerful in that it alerts the user when
the interface is attempted to be used (e.g. via cast/dyn_cast/etc.) and the implementation has
not yet been provided. This makes the system much more robust against misconfiguration,
and ensures that we do not lose the benefit we currently have of defining the interface in
the dialect library.

Depends on D120367

Diff Detail

Event Timeline

rriddle created this revision.Feb 22 2022, 4:19 PM
Herald added a project: Restricted Project. · View Herald Transcript
rriddle requested review of this revision.Feb 22 2022, 4:19 PM
ormris removed a subscriber: ormris.Feb 24 2022, 10:06 AM