Skip to content

Commit

Permalink
[mlir][bazel] Port llvm@517800e (llvm#127544)
Browse files Browse the repository at this point in the history
Introduces a `LinalgInterfaces` target so that `TensorDialect` doesn't
need to depend on `LinalgDialect`, which would introduce a circular
dependency.
  • Loading branch information
chsigg authored and wldfngrs committed Feb 19, 2025
1 parent 3153708 commit e446677
Show file tree
Hide file tree
Showing 4 changed files with 67 additions and 25 deletions.
2 changes: 0 additions & 2 deletions mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@
#include "mlir/Dialect/Arith/Utils/Utils.h"
#include "mlir/Dialect/Complex/IR/Complex.h"
#include "mlir/Dialect/Linalg/IR/Linalg.h"
#include "mlir/Dialect/MemRef/IR/MemRef.h"
#include "mlir/Dialect/Tensor/IR/Tensor.h"
#include "mlir/IR/AffineExpr.h"
#include "mlir/IR/AffineExprVisitor.h"
#include "mlir/IR/AffineMap.h"
Expand Down
2 changes: 1 addition & 1 deletion mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/Dialect/Arith/Utils/Utils.h"
#include "mlir/Dialect/Complex/IR/Complex.h"
#include "mlir/Dialect/Linalg/IR/Linalg.h"
#include "mlir/Dialect/Linalg/IR/LinalgInterfaces.h"
#include "mlir/Dialect/Tensor/IR/Tensor.h"
#include "mlir/Dialect/Tensor/Utils/Utils.h"
#include "mlir/Dialect/Utils/IndexingUtils.h"
Expand Down
87 changes: 65 additions & 22 deletions utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -7763,7 +7763,6 @@ td_library(
name = "TensorOpsTdFiles",
srcs = [
"include/mlir/Dialect/Tensor/IR/TensorBase.td",
"include/mlir/Dialect/Tensor/IR/TensorInterfaces.td",
"include/mlir/Dialect/Tensor/IR/TensorOps.td",
],
includes = ["include"],
Expand Down Expand Up @@ -7813,23 +7812,6 @@ gentbl_cc_library(
deps = [":TensorOpsTdFiles"],
)

gentbl_cc_library(
name = "TensorInterfacesIncGen",
tbl_outs = [
(
["--gen-op-interface-decls"],
"include/mlir/Dialect/Tensor/IR/TensorInterfaces.h.inc",
),
(
["--gen-op-interface-defs"],
"include/mlir/Dialect/Tensor/IR/TensorInterfaces.cpp.inc",
),
],
tblgen = ":mlir-tblgen",
td_file = "include/mlir/Dialect/Tensor/IR/TensorInterfaces.td",
deps = [":TensorOpsTdFiles"],
)

cc_library(
name = "TensorDialect",
srcs = [
Expand Down Expand Up @@ -7859,13 +7841,13 @@ cc_library(
":InferIntRangeInterface",
":InferTypeOpInterface",
":InliningUtils",
":LinalgInterfaces",
":LoopLikeInterface",
":ParallelCombiningOpInterface",
":ShapedOpInterfaces",
":SideEffectInterfaces",
":SubsetOpInterface",
":Support",
":TensorInterfacesIncGen",
":TensorOpsIncGen",
":TilingInterface",
":TransformDialectInterfaces",
Expand Down Expand Up @@ -11206,6 +11188,23 @@ gentbl_cc_library(
deps = [":LinalgOpsTdFiles"],
)

gentbl_cc_library(
name = "LinalgRelayoutOpsIncGen",
tbl_outs = [
(
["-gen-op-decls"],
"include/mlir/Dialect/Linalg/IR/LinalgRelayoutOps.h.inc",
),
(
["-gen-op-defs"],
"include/mlir/Dialect/Linalg/IR/LinalgRelayoutOps.cpp.inc",
),
],
tblgen = ":mlir-tblgen",
td_file = "include/mlir/Dialect/Linalg/IR/LinalgRelayoutOps.td",
deps = [":LinalgOpsTdFiles"],
)

gentbl_cc_library(
name = "LinalgEnumsIncGen",
tbl_outs = [
Expand Down Expand Up @@ -11532,10 +11531,50 @@ cc_library(
],
)

cc_library(
name = "LinalgInterfaces",
srcs = [
"include/mlir/Dialect/Linalg/IR/Linalg.h",
"lib/Dialect/Linalg/IR/LinalgInterfaces.cpp",
],
hdrs = ["include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h"],
includes = ["include"],
deps = [
":AffineDialect",
":ArithDialect",
":ArithUtils",
":BytecodeOpInterface",
":ComplexDialect",
":ControlFlowInterfaces",
":CopyOpInterface",
":DestinationStyleOpInterface",
":DialectUtils",
":IR",
":InferTypeOpInterface",
":LinalgEnumsIncGen",
":LinalgInterfacesIncGen",
":LinalgOpsIncGen",
":LinalgRelayoutOpsIncGen",
":LinalgStructuredOpsIncGen",
":SideEffectInterfaces",
":Support",
":TilingInterface",
":ViewLikeInterface",
"//third_party/llvm/llvm-project/llvm:Support",
],
)

cc_library(
name = "LinalgDialect",
srcs = glob(["lib/Dialect/Linalg/IR/*.cpp"]),
hdrs = glob(["include/mlir/Dialect/Linalg/IR/*.h"]),
srcs = [
"lib/Dialect/Linalg/IR/LinalgDialect.cpp",
"lib/Dialect/Linalg/IR/LinalgOps.cpp",
"lib/Dialect/Linalg/IR/ValueBoundsOpInterfaceImpl.cpp",
],
hdrs = [
"include/mlir/Dialect/Linalg/IR/Linalg.h",
"include/mlir/Dialect/Linalg/IR/ValueBoundsOpInterfaceImpl.h",
],
includes = ["include"],
deps = [
":AffineDialect",
Expand All @@ -11554,9 +11593,10 @@ cc_library(
":InferTypeOpInterface",
":InliningUtils",
":LinalgEnumsIncGen",
":LinalgInterfacesIncGen",
":LinalgInterfaces",
":LinalgNamedStructuredOpsYamlIncGen",
":LinalgOpsIncGen",
":LinalgRelayoutOpsIncGen",
":LinalgStructuredOpsIncGen",
":MathDialect",
":MemRefDialect",
Expand All @@ -11568,6 +11608,7 @@ cc_library(
":SubsetOpInterface",
":Support",
":TensorDialect",
":TensorUtils",
":TilingInterface",
":ValueBoundsOpInterface",
":ViewLikeInterface",
Expand Down Expand Up @@ -11599,6 +11640,7 @@ cc_library(
":IR",
":IndexDialect",
":LinalgDialect",
":LinalgInterfaces",
":LinalgMatchOpsIncGen",
":LinalgTransformEnumsIncGen",
":LinalgTransformOpsIncGen",
Expand Down Expand Up @@ -11710,6 +11752,7 @@ cc_library(
":IR",
":IndexDialect",
":LinalgDialect",
":LinalgInterfaces",
":LinalgPassIncGen",
":LinalgStructuredOpsIncGen",
":LinalgUtils",
Expand Down
1 change: 1 addition & 0 deletions utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -425,6 +425,7 @@ cc_library(
"//mlir:LLVMDialect",
"//mlir:LLVMIRToLLVMTranslation",
"//mlir:LinalgDialect",
"//mlir:LinalgInterfaces",
"//mlir:LoopLikeInterface",
"//mlir:MemorySlotInterfaces",
"//mlir:Pass",
Expand Down

0 comments on commit e446677

Please sign in to comment.