blob: b5c85520eeefb150025c35e42e14ca9bedbe772a [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
)
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.cc"],
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.cc"],
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/compiler/mlir/tensorflow:tf_dialect_passes", # Note: always_links in random foo that makes constant folding work
"@org_tensorflow//tensorflow/core/platform:errors",
],
)