[Mlir-commits] [mlir] [mlir] Declare promised interfaces for all dialects (PR #78368)

Oleksandr Alex Zinenko llvmlistbot at llvm.org
Thu Feb 22 11:04:10 PST 2024


ftynse wrote:

> I was just fly on the wall reviewing this to try to learn and was trying to see the issue here. I can't spot the dep being talked about from builtin. Could someone help me see where this is happening in the code? (Or is this a hypothetical about possible future issues?)

Let's say we want to provide an implementation of bufferization interface for builtin operations/types. We don't really want builtin dialect to depend (in library sense) on the bufferization machinery unless bufferizaiton is being performed. We also don't want bufferization to silently ignore builtin operations because project setup forgot to register the implementation model. So builtin can promise that the implementation exists and that somebody else will provided it before the first `isa`. Where do we put this promise? Are we okay with having `#include "mlir/Dialects/Bufferization` from `mlir/IR`, for example?

https://github.com/llvm/llvm-project/pull/78368


More information about the Mlir-commits mailing list