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

Mehdi Amini llvmlistbot at llvm.org
Fri Feb 23 15:00:52 PST 2024


joker-eph wrote:

Breaking circular dependencies is commonly done by splitting a library in two.
But I'm not sure what kind of circular dependency are we talking about really here:

> Are we okay with having #include "mlir/Dialects/Bufferization from mlir/IR, for example?

This is not precise enough, if this is ` #include "mlir/Dialects/Bufferization/Interface.h` which itself does not include anything else, then there is no circular dependency here. 
It's only a circular dependency if you want to think exclusively in terms of "mlir/Dialects/Bufferization" is a single node  for the purpose of your conceptual "dependency graph".
However changing the prefix for the "splitter" interface to `mlir/Dialects/Bufferization_Interface/" would fix this (assuming no dependency from Bufferization_Interface to Bufferization), but that's only because of a self-imposed constraint on the granularity you want to look at.

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


More information about the Mlir-commits mailing list