Refactoring build rules to support custom tools.
PiperOrigin-RevId: 285470582
diff --git a/iree/tools/BUILD b/iree/tools/BUILD
index cacd36f..0ec5cab 100644
--- a/iree/tools/BUILD
+++ b/iree/tools/BUILD
@@ -32,8 +32,8 @@
"//iree/compiler/Dialect/HAL/Target/VulkanSPIRV",
]
-cc_binary(
- name = "iree-opt",
+cc_library(
+ name = "iree_opt_library",
deps = [
"//integrations/tensorflow/compiler:tensorflow",
"//iree/compiler/Dialect",
@@ -56,12 +56,20 @@
"@llvm//:support",
"@local_config_mlir//:AffineDialectRegistration",
"@local_config_mlir//:MlirOptLib",
- "@local_config_mlir//:MlirOptMain",
"@local_config_mlir//:StandardDialectRegistration",
"@org_tensorflow//tensorflow/compiler/mlir/xla:hlo",
"@org_tensorflow//tensorflow/compiler/mlir/xla:xla_dialect_registration",
"@org_tensorflow//tensorflow/compiler/mlir/xla:xla_legalize_control_flow",
] + TARGET_COMPILER_BACKENDS,
+ alwayslink = 1,
+)
+
+cc_binary(
+ name = "iree-opt",
+ deps = [
+ ":iree_opt_library",
+ "@local_config_mlir//:MlirOptMain",
+ ],
)
cc_binary(
@@ -108,8 +116,8 @@
],
)
-cc_binary(
- name = "iree-translate",
+cc_library(
+ name = "iree_translate_library",
srcs = ["iree_translate_main.cc"],
deps = [
"//iree/compiler/Dialect/VM/Target/Bytecode",
@@ -127,6 +135,14 @@
"@local_config_mlir//:Translation",
"@org_tensorflow//tensorflow/compiler/mlir/xla:xla_dialect_registration",
] + TARGET_COMPILER_BACKENDS,
+ alwayslink = 1,
+)
+
+cc_binary(
+ name = "iree-translate",
+ deps = [
+ ":iree_translate_library",
+ ],
)
cc_binary(
diff --git a/iree/tools/compilation.bzl b/iree/tools/compilation.bzl
index 5978bb0..6fdcc23 100644
--- a/iree/tools/compilation.bzl
+++ b/iree/tools/compilation.bzl
@@ -21,6 +21,7 @@
name,
src,
translation = "-mlir-to-iree-module",
+ translate_tool = "//iree/tools:iree-translate",
cc_namespace = None,
visibility = None):
native.genrule(
@@ -31,15 +32,13 @@
],
cmd = " && ".join([
" ".join([
- "$(location //iree/tools:iree-translate)",
+ "$(location %s)" % (translate_tool),
translation,
"-o $(location %s.emod)" % (name),
"$(location %s)" % (src),
]),
]),
- tools = [
- "//iree/tools:iree-translate",
- ],
+ tools = [translate_tool],
message = "Compiling IREE module %s..." % (name),
output_to_bindir = 1,
)