Splitting the memref dialect lead to an introduction of several dependencies
to avoid compilation issues. The canonicalize pass also depends on the
memref dialect, but it shouldn't. This patch resolves the dependencies
and the unintuitive includes are removed. However, the dependency moves
to the constructor of the std dialect.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Thanks!
mlir/include/mlir/Dialect/StandardOps/IR/Ops.td | ||
---|---|---|
30 | Can you add a comment / TODO on where the dependency is coming from? I assume it is a pattern but it'd be nice to say which one. |
Comment Actions
We should commit this, but it is unfortunate, because now we have a dependency cycle between std and memref, e.g. MemRefDialect::materializeConstant uses mlir::ConstantOp (actually, it seems like a bug that we don't have a dependentDialects for the memref dialect depending on std)
(well, the cycle already existed, this is just formalizing it)
Comment Actions
Is this getting ready to land?
mlir/include/mlir/Dialect/StandardOps/IR/Ops.td | ||
---|---|---|
30 | Ping on this? |
Can you add a comment / TODO on where the dependency is coming from? I assume it is a pattern but it'd be nice to say which one.