blob: 4e874dea3d03f2fab8a0843ef53fdfc2ccabdec2 [file] [log] [blame]
# Copyright 2019 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
package(
default_visibility = ["//visibility:public"],
features = ["layering_check"],
licenses = ["notice"], # Apache 2.0
)
config_setting(
name = "open_source_build",
define_values = {"open_source_build": "true"},
)
cc_library(
name = "tensorflow",
srcs = [
"ConvertToMHLO.cpp",
"LowerExportedFunctions.cpp",
"LowerGlobalTensors.cpp",
"Passes.cpp",
"PropagateResourceCasts.cpp",
"StripMetadata.cpp",
"VerifyFullyConverted.cpp",
],
hdrs = [
"Passes.h",
],
defines = [
"IREE_COMPILER_TENSORFLOW_ENABLED",
],
deps = [
"//integrations/tensorflow/compiler/dialect/tf_strings/conversion:convert_tf_to_tf_strings",
"//integrations/tensorflow/compiler/dialect/tf_strings/ir:dialect",
"//integrations/tensorflow/compiler/dialect/tf_tensorlist/conversion:convert_tf_to_tf_tensorlist",
"//integrations/tensorflow/compiler/dialect/tf_tensorlist/ir:tf_tensorlist_dialect",
"//iree/base:signature_mangle",
"//iree/compiler/Dialect/Flow/IR",
"//iree/compiler/Dialect/IREE/IR",
"//iree/compiler/Dialect/Shape/Conversion",
"//iree/compiler/Dialect/Shape/Transforms",
"@llvm-project//llvm:Support",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:Pass",
"@llvm-project//mlir:Shape",
"@llvm-project//mlir:ShapeTransforms",
"@llvm-project//mlir:StandardOps",
"@llvm-project//mlir:Support",
"@llvm-project//mlir:TransformUtils",
"@org_tensorflow//tensorflow/compiler/mlir/hlo",
"@org_tensorflow//tensorflow/compiler/mlir/hlo:chlo_legalize_to_hlo",
"@org_tensorflow//tensorflow/compiler/mlir/tensorflow",
"@org_tensorflow//tensorflow/compiler/mlir/tensorflow:lower_tf_lib",
"@org_tensorflow//tensorflow/compiler/mlir/tensorflow:tensorflow_types",
"@org_tensorflow//tensorflow/compiler/mlir/tensorflow:tf_saved_model_passes",
"@org_tensorflow//tensorflow/compiler/mlir/xla:xla_legalize_tf",
],
)
cc_binary(
name = "iree-tf-opt",
srcs = ["iree-tf-opt-main.cpp"],
deps = [
":tensorflow",
"//integrations/tensorflow/compiler/dialect/tf_strings/ir:dialect",
"//integrations/tensorflow/compiler/dialect/tf_tensorlist/ir:tf_tensorlist_dialect",
"//iree/tools:init_passes_and_dialects",
"//iree/tools:init_targets",
"@llvm-project//llvm:Support",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:MlirOptLib",
"@llvm-project//mlir:Support",
"@org_tensorflow//tensorflow/compiler/mlir/tensorflow",
"@org_tensorflow//tensorflow/compiler/mlir/tensorflow:tensorflow_passes",
"@org_tensorflow//tensorflow/compiler/mlir/tensorflow:tf_saved_model_passes",
"@org_tensorflow//tensorflow/compiler/mlir/xla:xla_legalize_tf",
],
)
cc_binary(
name = "iree-tf-translate",
deps = [
":tensorflow",
"//iree/tools:iree_translate_main",
],
)
cc_binary(
name = "iree-tf-import",
srcs = ["iree-tf-import-main.cpp"],
deps = [
":tensorflow",
"@llvm-project//llvm:Support",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:Pass",
"@llvm-project//mlir:Support",
"@org_tensorflow//tensorflow/cc/saved_model:loader",
"@org_tensorflow//tensorflow/compiler/mlir:init_mlir",
"@org_tensorflow//tensorflow/compiler/mlir/tensorflow",
"@org_tensorflow//tensorflow/compiler/mlir/tensorflow:convert_graphdef",
"@org_tensorflow//tensorflow/core/platform:errors",
] + select({
":open_source_build": [],
"//conditions:default": [
# TODO: Enable this for all builds once dependency bug is fixed.
#"@org_tensorflow//tensorflow/compiler/mlir/tensorflow:tf_dialect_passes", # Note: always_links in random foo that makes constant folding work
],
}),
)
cc_binary(
name = "iree-import-tflite",
srcs = ["iree-import-tflite-main.cpp"],
deps = [
"@llvm-project//llvm:Support",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:Support",
"@llvm-project//mlir:QuantOps",
"@llvm-project//mlir:StandardOps",
"@llvm-project//mlir:TosaDialect",
"@org_tensorflow//tensorflow/compiler/mlir/lite:flatbuffer_import",
"@org_tensorflow//tensorflow/compiler/mlir/lite:tensorflow_lite",
"@org_tensorflow//tensorflow/compiler/mlir/tosa:tosa_legalize_tfl",
] + [
# TODO: See about removing this dep (TFLite shouldn't need tf ops).
"@org_tensorflow//tensorflow/compiler/mlir/tensorflow:tensorflow",
# TODO: There are layering violations upstream. Fix and remove these.
"@org_tensorflow//tensorflow/compiler/mlir/tosa:tosa_legalize_common",
"@org_tensorflow//tensorflow/compiler/mlir/tosa:tosa_pipelines",
"@org_tensorflow//tensorflow/compiler/mlir/tosa:tfl_tosa_passes",
"@llvm-project//mlir:Transforms",
],
)
cc_binary(
name = "iree-import-xla",
srcs = ["iree-import-xla-main.cpp"],
deps = [
"@llvm-project//llvm:Support",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:Support",
"@org_tensorflow//tensorflow/compiler/mlir/xla:hlo_to_mlir_hlo",
"@org_tensorflow//tensorflow/compiler/xla/service:hlo_proto_cc",
"@org_tensorflow//tensorflow/core:lib",
],
)