blob: ce7c715e34b0a0abcbc61690a2b5e93871feec99 [file] [log] [blame]
# Copyright 2023 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")
package(
default_visibility = ["//visibility:public"],
features = ["layering_check"],
licenses = ["notice"], # Apache 2.0
)
iree_gentbl_cc_library(
name = "PassesIncGen",
tbl_outs = [
(
["--gen-pass-decls"],
"Passes.h.inc",
),
],
tblgen = "@llvm-project//mlir:mlir-tblgen",
td_file = "Passes.td",
deps = [
"@llvm-project//mlir:PassBaseTdFiles",
],
)
iree_compiler_cc_library(
name = "PassHeaders",
hdrs = [
"Passes.h",
"Passes.h.inc",
"Rewriters.h",
],
deps = [
":PassesIncGen",
"@llvm-project//mlir:Pass",
"@llvm-project//mlir:Transforms",
],
)
iree_gentbl_cc_library(
name = "ComplexLoweringPatterns",
tbl_outs = [
(
["--gen-rewriters"],
"ComplexLoweringPatterns.h.inc",
),
],
tblgen = "@llvm-project//mlir:mlir-tblgen",
td_file = "ComplexLoweringPatterns.td",
deps = [
"@llvm-project//mlir:FuncTdFiles",
"@stablehlo//:stablehlo_ops_td_files",
],
)
iree_compiler_cc_library(
name = "Preprocessing",
srcs = [
"Canonicalization.cpp",
"DotGeneralToDot.cpp",
"EinsumToDotGeneral.cpp",
"FlattenTuplesInCFG.cpp",
"FlattenTuplesInSCF.cpp",
"GatherToTorchIndexSelect.cpp",
"LowerComplex.cpp",
"Passes.cpp",
"StableHLOToStableHLO.cpp",
"UnfuseBatchNorm.cpp",
],
hdrs = [
"Passes.h",
"Rewriters.h",
],
copts = [
"-Icompiler/plugins/input/StableHLO",
"-I$(GENDIR)/compiler/plugins/input/StableHLO",
],
deps = [
":ComplexLoweringPatterns",
":PassHeaders",
"@llvm-project//llvm:Support",
"@llvm-project//mlir:ArithDialect",
"@llvm-project//mlir:CommonFolders",
"@llvm-project//mlir:ControlFlowDialect",
"@llvm-project//mlir:FuncDialect",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:MathDialect",
"@llvm-project//mlir:Pass",
"@llvm-project//mlir:SCFDialect",
"@llvm-project//mlir:ShapeDialect",
"@llvm-project//mlir:SparseTensorDialect",
"@llvm-project//mlir:Support",
"@llvm-project//mlir:TensorDialect",
"@llvm-project//mlir:Transforms",
"@stablehlo//:chlo_ops",
"@stablehlo//:stablehlo_ops",
],
)