[Mlir-commits] [llvm] [mlir] [mlir][spirv] Fix cyclical dependency in bazel (PR #132785)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Mon Mar 24 10:21:12 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir
Author: Karlo Basioli (basioli-k)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/132785.diff
3 Files Affected:
- (modified) mlir/include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.h (+13)
- (modified) mlir/lib/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.cpp (+1-1)
- (modified) utils/bazel/llvm-project-overlay/mlir/BUILD.bazel (+48-26)
``````````diff
diff --git a/mlir/include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.h b/mlir/include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.h
index ca5a1dcd88171..4ba5d096a1b27 100644
--- a/mlir/include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.h
+++ b/mlir/include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.h
@@ -9,6 +9,19 @@
#ifndef MLIR_DIALECT_SPIRV_IMAGE_INTERFACES_H_
#define MLIR_DIALECT_SPIRV_IMAGE_INTERFACES_H_
+#include "mlir/IR/BuiltinOps.h"
+#include "mlir/IR/BuiltinTypes.h"
+#include "mlir/IR/OpDefinition.h"
+#include "mlir/IR/OpImplementation.h"
+#include "mlir/IR/Operation.h"
+#include "mlir/IR/Value.h"
+#include "mlir/Interfaces/CallInterfaces.h"
+#include "mlir/Interfaces/ControlFlowInterfaces.h"
+#include "mlir/Interfaces/FunctionInterfaces.h"
+#include "mlir/Interfaces/InferTypeOpInterface.h"
+#include "mlir/Interfaces/SideEffectInterfaces.h"
+#include "llvm/Support/PointerLikeTypeTraits.h"
+
#include "mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.h.inc"
#endif // MLIR_DIALECT_SPIRV_IMAGE_INTERFACES_H_
diff --git a/mlir/lib/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.cpp b/mlir/lib/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.cpp
index e10da60184eeb..fce341d3a5d72 100644
--- a/mlir/lib/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.cpp
+++ b/mlir/lib/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "mlir/Dialect/SPIRV/IR/SPIRVOps.h"
+#include "mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.h"
using namespace mlir;
diff --git a/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel b/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
index 64e8fba9168c0..bfea17fd18625 100644
--- a/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
@@ -6486,6 +6486,7 @@ cc_library(
":Pass",
":SPIRVCommonAttrToLLVMConversion",
":SPIRVDialect",
+ ":SPIRVImageInterfaces",
":SPIRVUtils",
":Support",
":TransformUtils",
@@ -7389,14 +7390,16 @@ cc_library(
],
)
+td_library(
+ name = "SPIRVImageInterfacesTdFiles",
+ srcs = ["include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.td"],
+ includes = ["include"],
+ deps = [":OpBaseTdFiles"],
+)
+
td_library(
name = "SPIRVOpsTdFiles",
- srcs = glob(["include/mlir/Dialect/SPIRV/IR/*.td"]) + [
- # TODO: resolve circular dep, e.g.
- # * SPIRVImageInterfaces.td uses SPIRVBase.td
- # * SPIRVOps.h uses SPIRVImageInterfaces.h
- "include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.td",
- ],
+ srcs = glob(["include/mlir/Dialect/SPIRV/IR/*.td"]),
includes = ["include"],
deps = [
":BuiltinDialectTdFiles",
@@ -7405,10 +7408,48 @@ td_library(
":FunctionInterfacesTdFiles",
":InferTypeOpInterfaceTdFiles",
":OpBaseTdFiles",
+ ":SPIRVImageInterfacesTdFiles",
":SideEffectInterfacesTdFiles",
],
)
+gentbl_cc_library(
+ name = "SPIRVImageInterfacesIncGen",
+ tbl_outs = [
+ (
+ ["-gen-op-interface-decls"],
+ "include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.h.inc",
+ ),
+ (
+ ["-gen-op-interface-defs"],
+ "include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.cpp.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.td",
+ deps = [
+ ":SPIRVImageInterfacesTdFiles",
+ ":SPIRVOpsTdFiles",
+ ],
+)
+
+cc_library(
+ name = "SPIRVImageInterfaces",
+ srcs = ["lib/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.cpp"],
+ hdrs = ["include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.h"],
+ includes = ["include"],
+ deps = [
+ ":CallOpInterfaces",
+ ":ControlFlowInterfaces",
+ ":FunctionInterfaces",
+ ":IR",
+ ":InferTypeOpInterface",
+ ":SPIRVImageInterfacesIncGen",
+ ":SideEffectInterfaces",
+ "//llvm:Support",
+ ],
+)
+
gentbl_cc_library(
name = "SPIRVOpsIncGen",
tbl_outs = [
@@ -7536,33 +7577,14 @@ gentbl_cc_library(
deps = [":SPIRVOpsTdFiles"],
)
-gentbl_cc_library(
- name = "SPIRVImageInterfacesIncGen",
- tbl_outs = [
- (
- ["-gen-op-interface-decls"],
- "include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.h.inc",
- ),
- (
- ["-gen-op-interface-defs"],
- "include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.cpp.inc",
- ),
- ],
- tblgen = ":mlir-tblgen",
- td_file = "include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.td",
- deps = [":SPIRVOpsTdFiles"],
-)
-
cc_library(
name = "SPIRVDialect",
srcs = glob([
"lib/Dialect/SPIRV/IR/*.cpp",
"lib/Dialect/SPIRV/IR/*.h",
- "lib/Dialect/SPIRV/Interfaces/*.cpp",
]),
hdrs = glob([
"include/mlir/Dialect/SPIRV/IR/*.h",
- "include/mlir/Dialect/SPIRV/Interfaces/*.h",
]),
includes = ["include"],
deps = [
@@ -7580,7 +7602,7 @@ cc_library(
":SPIRVAttributesIncGen",
":SPIRVAvailabilityIncGen",
":SPIRVCanonicalizationIncGen",
- ":SPIRVImageInterfacesIncGen",
+ ":SPIRVImageInterfaces",
":SPIRVOpsIncGen",
":SideEffectInterfaces",
":Support",
``````````
</details>
https://github.com/llvm/llvm-project/pull/132785
More information about the Mlir-commits
mailing list