[mlir] enable delayed registration of dialect interfaces
This introduces a mechanism to register interfaces for a dialect without making the dialect itself depend on the interface. The registration request happens on DialectRegistry and, if the dialect has not been loaded yet, the actual registration is delayed until the dialect is loaded. It requires DialectRegistry to become aware of the context that contains it and the context to expose methods for querying if a dialect is loaded. This mechanism will enable a simple extension mechanism for dialects that can have interfaces defined outside of the dialect code. It is particularly helpful for, e.g., translation to LLVM IR where we don't want the dialect itself to depend on LLVM IR libraries. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D96137
Loading
Please sign in to comment