blob: f9703a46d26d3fdc4183f7cc80b66b3a2557c6ac [file]
# Copyright 2024 The IREE Authors
#
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
load("//build_tools/bazel:build_defs.oss.bzl", "iree_compiler_cc_library", "iree_gentbl_cc_library", "iree_tablegen_doc", "iree_td_library")
load("//build_tools/bazel:enforce_glob.bzl", "enforce_glob")
package(
default_visibility = ["//visibility:public"],
features = ["layering_check"],
licenses = ["notice"], # Apache 2.0
)
iree_td_library(
name = "td_files",
srcs = enforce_glob(
[
"LinalgExtBase.td",
"LinalgExtInterfaces.td",
"LinalgExtOps.td",
],
include = ["*.td"],
),
deps = [
"@llvm-project//mlir:BuiltinDialectTdFiles",
"@llvm-project//mlir:CallInterfacesTdFiles",
"@llvm-project//mlir:ControlFlowInterfacesTdFiles",
"@llvm-project//mlir:DestinationStyleOpInterfaceTdFiles",
"@llvm-project//mlir:DialectUtilsTdFiles",
"@llvm-project//mlir:InferTypeOpInterfaceTdFiles",
"@llvm-project//mlir:LinalgOpsTdFiles",
"@llvm-project//mlir:OpBaseTdFiles",
"@llvm-project//mlir:PDLDialectTdFiles",
"@llvm-project//mlir:SideEffectInterfacesTdFiles",
"@llvm-project//mlir:TilingInterfaceTdFiles",
"@llvm-project//mlir:TransformDialectTdFiles",
"@llvm-project//mlir:ViewLikeInterfaceTdFiles",
],
)
iree_compiler_cc_library(
name = "IR",
srcs = [
"AggregatedOpInterfaceImpl.cpp",
"LinalgExtAttrs.cpp.inc",
"LinalgExtDialect.cpp",
"LinalgExtDialect.cpp.inc",
"LinalgExtInterfaces.cpp",
"LinalgExtInterfaces.cpp.inc",
"LinalgExtOps.cpp",
"LinalgExtOps.cpp.inc",
"LinalgExtTypes.cpp.inc",
"TilingInterfaceImpl.cpp",
],
hdrs = [
"LinalgExtAttrs.h.inc",
"LinalgExtDialect.h",
"LinalgExtDialect.h.inc",
"LinalgExtInterfaces.h",
"LinalgExtInterfaces.h.inc",
"LinalgExtOps.h",
"LinalgExtOps.h.inc",
"LinalgExtTypes.h.inc",
],
deps = [
":LinalgExtInterfacesIncGen",
":LinalgExtOpsIncGen",
":LinalgExtTypesGen",
"//compiler/src/iree/compiler/Dialect/LinalgExt/Utils",
"@llvm-project//llvm:Support",
"@llvm-project//mlir:AffineDialect",
"@llvm-project//mlir:AffineUtils",
"@llvm-project//mlir:ArithDialect",
"@llvm-project//mlir:ArithUtils",
"@llvm-project//mlir:ControlFlowInterfaces",
"@llvm-project//mlir:DestinationStyleOpInterface",
"@llvm-project//mlir:DialectUtils",
"@llvm-project//mlir:FuncDialect",
"@llvm-project//mlir:FunctionInterfaces",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:InferTypeOpInterface",
"@llvm-project//mlir:InliningUtils",
"@llvm-project//mlir:LinalgDialect",
"@llvm-project//mlir:LinalgStructuredOpsIncGen",
"@llvm-project//mlir:LinalgUtils",
"@llvm-project//mlir:MathDialect",
"@llvm-project//mlir:MemRefDialect",
"@llvm-project//mlir:Pass",
"@llvm-project//mlir:SCFDialect",
"@llvm-project//mlir:SideEffectInterfaces",
"@llvm-project//mlir:Support",
"@llvm-project//mlir:TensorDialect",
"@llvm-project//mlir:TensorUtils",
"@llvm-project//mlir:TilingInterface",
"@llvm-project//mlir:ViewLikeInterface",
],
)
iree_gentbl_cc_library(
name = "LinalgExtInterfacesIncGen",
tbl_outs = [
(
["--gen-op-interface-decls"],
"LinalgExtInterfaces.h.inc",
),
(
["--gen-op-interface-defs"],
"LinalgExtInterfaces.cpp.inc",
),
],
tblgen = "@llvm-project//mlir:mlir-tblgen",
td_file = "LinalgExtInterfaces.td",
deps = [":td_files"],
)
iree_gentbl_cc_library(
name = "LinalgExtOpsIncGen",
tbl_outs = [
(
["--gen-op-decls"],
"LinalgExtOps.h.inc",
),
(
["--gen-op-defs"],
"LinalgExtOps.cpp.inc",
),
(
[
"--dialect=iree_linalg_ext",
"--gen-dialect-decls",
],
"LinalgExtDialect.h.inc",
),
(
[
"--dialect=iree_linalg_ext",
"--gen-dialect-defs",
],
"LinalgExtDialect.cpp.inc",
),
],
tblgen = "@llvm-project//mlir:mlir-tblgen",
td_file = "LinalgExtOps.td",
deps = [
":td_files",
],
)
iree_gentbl_cc_library(
name = "LinalgExtTypesGen",
tbl_outs = [
(
[
"--gen-attrdef-decls",
"--attrdefs-dialect=iree_linalg_ext",
],
"LinalgExtAttrs.h.inc",
),
(
[
"--gen-attrdef-defs",
"--attrdefs-dialect=iree_linalg_ext",
],
"LinalgExtAttrs.cpp.inc",
),
(
[
"--gen-typedef-decls",
"--typedefs-dialect=iree_linalg_ext",
],
"LinalgExtTypes.h.inc",
),
(
[
"--gen-typedef-defs",
"--typedefs-dialect=iree_linalg_ext",
],
"LinalgExtTypes.cpp.inc",
),
],
tblgen = "@llvm-project//mlir:mlir-tblgen",
td_file = "LinalgExtBase.td",
deps = [":td_files"],
)
iree_tablegen_doc(
name = "LinalgExtDialectDocGen",
tbl_outs = [
(
[
"--gen-dialect-doc",
"-dialect=iree_linalg_ext",
],
"LinalgExtDialect.md",
),
],
tblgen = "@llvm-project//mlir:mlir-tblgen",
td_file = "LinalgExtOps.td",
deps = [
":td_files",
],
)