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

Mehdi Amini llvmlistbot at llvm.org
Mon Mar 18 11:11:46 PDT 2024


joker-eph wrote:



>  I guess I can make it work through Bufferization's OpFilter, but that seems backwards to me. Why do I have to first load an extension interface just to not use it? Shouldn't I only load what I actually want to use?

If Bufferization is doing `dyn_cast<BufferizationInterface>(op)`, then from  the system point of view you are actually using it. But wouldn't OpFilter actually make it so that the dyn_cast is just not performed?



> > > It couples Tensor to Bufferization and to Transform dialect. While technically this can be made a header-only dependency (right now it's not),
> > 
> > 
> > The promise declarations are meant to be header only, why is it not right now?
> 
> It does depend on TypeIDs to be present.

Right we get a weak symbol injected, but that's still header-only to me, why do you consider it's not?
I mean this seems inherent to any header-only library usage: some "code" will be present into the user, unless you're only using macros from a header of course!
Inline functions from a header only library end up with similar symbols.

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


More information about the Mlir-commits mailing list