blob: c290963ac6051491272096b3f0e9249d2635bb74 [file] [edit]
# Copyright 2019 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",
)
package(
default_visibility = ["//visibility:public"],
features = ["layering_check"],
licenses = ["notice"], # Apache 2.0
)
iree_compiler_cc_library(
name = "Transforms",
srcs = [
"AnnotateFunctions.cpp",
"Conversion.cpp",
"ConvertToYieldableCalls.cpp",
"DeduplicateRodata.cpp",
"DropEmptyModuleInitializers.cpp",
"DropOptimizationBarriers.cpp",
"DropUnusedCalls.cpp",
"GlobalInitialization.cpp",
"HoistInlinedRodata.cpp",
"MaterializeRefDiscards.cpp",
"OrdinalAllocation.cpp",
"Passes.cpp",
"ReifyRodataTables.cpp",
"ResolveRodataLoads.cpp",
"SinkDefiningOps.cpp",
],
hdrs = [
"Passes.h",
"Passes.h.inc",
],
deps = [
":PassesIncGen",
"//compiler/src/iree/compiler/Codegen/Common",
"//compiler/src/iree/compiler/Dialect/Util/Analysis",
"//compiler/src/iree/compiler/Dialect/Util/Conversion",
"//compiler/src/iree/compiler/Dialect/Util/Conversion/MemRefToUtil",
"//compiler/src/iree/compiler/Dialect/Util/IR",
"//compiler/src/iree/compiler/Dialect/Util/Transforms",
"//compiler/src/iree/compiler/Dialect/VM/Analysis",
"//compiler/src/iree/compiler/Dialect/VM/Analysis:ValueLiveness",
"//compiler/src/iree/compiler/Dialect/VM/Conversion",
"//compiler/src/iree/compiler/Dialect/VM/Conversion/ArithToVM",
"//compiler/src/iree/compiler/Dialect/VM/Conversion/MathToVM",
"//compiler/src/iree/compiler/Dialect/VM/Conversion/StandardToVM",
"//compiler/src/iree/compiler/Dialect/VM/Conversion/UtilToVM",
"//compiler/src/iree/compiler/Dialect/VM/IR",
"//compiler/src/iree/compiler/Transforms",
"//compiler/src/iree/compiler/Utils",
"@llvm-project//llvm:Support",
"@llvm-project//mlir:AffineDialect",
"@llvm-project//mlir:AffineToStandard",
"@llvm-project//mlir:AffineTransforms",
"@llvm-project//mlir:AffineUtils",
"@llvm-project//mlir:Analysis",
"@llvm-project//mlir:ArithTransforms",
"@llvm-project//mlir:ControlFlowInterfaces",
"@llvm-project//mlir:FuncDialect",
"@llvm-project//mlir:FunctionInterfaces",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:InliningUtils",
"@llvm-project//mlir:MathDialect",
"@llvm-project//mlir:MemRefDialect",
"@llvm-project//mlir:Pass",
"@llvm-project//mlir:SCFToControlFlow",
"@llvm-project//mlir:SCFTransforms",
"@llvm-project//mlir:SideEffectInterfaces",
"@llvm-project//mlir:Support",
"@llvm-project//mlir:TransformUtils",
"@llvm-project//mlir:Transforms",
],
)
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_tablegen_doc(
name = "VMPassesDocGen",
category = "Passes",
tbl_outs = [
(
[
"--gen-pass-doc",
],
"VMPasses.md",
),
],
tblgen = "@llvm-project//mlir:mlir-tblgen",
td_file = "Passes.td",
deps = [
"@llvm-project//mlir:PassBaseTdFiles",
],
)