blob: 530e8359acac51bbdcfcff8c2c4dcde5d7d06222 [file] [log] [blame]
Geoffrey Martin-Noblebb37bb82019-11-06 14:35:36 -08001# Copyright 2019 Google LLC
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
Stella Laurenzobd659a12019-10-23 10:17:48 -070015# Misc tools used to optimize, translate, and evaluate IREE.
Geoffrey Martin-Noble48efde62020-03-23 13:23:44 -070016# Compiler tooling, like the compiler, is not designed to run on device and is tagged as "hostonly".
Stella Laurenzobd659a12019-10-23 10:17:48 -070017
Stella Laurenzo23c9b852020-05-12 17:27:49 -070018load(
19 "//iree:build_defs.oss.bzl",
20 "IREE_DRIVER_MODULES",
21 "PLATFORM_VULKAN_DEPS",
22 iree_cc_binary = "cc_binary",
23)
Stella Laurenzobd659a12019-10-23 10:17:48 -070024
25package(
26 default_visibility = ["//visibility:public"],
Geoffrey Martin-Noble083ac8e2020-07-15 20:10:49 -070027 features = ["layering_check"],
Stella Laurenzobd659a12019-10-23 10:17:48 -070028 licenses = ["notice"], # Apache 2.0
29)
30
31exports_files([
32 "run_lit.sh",
33 "sanitizer_suppressions.txt",
34])
35
Stella Laurenzo23c9b852020-05-12 17:27:49 -070036iree_cc_binary(
Geoffrey Martin-Noble34190262020-02-06 10:43:58 -080037 name = "iree-benchmark-module",
38 testonly = True,
Geoffrey Martin-Noble0a6b9cc2020-09-22 20:17:05 -070039 srcs = ["iree-benchmark-module-main.cc"],
Geoffrey Martin-Noble34190262020-02-06 10:43:58 -080040 deps = [
41 ":vm_util",
42 "@com_google_absl//absl/flags:flag",
43 "@com_google_absl//absl/strings",
44 "@com_google_benchmark//:benchmark",
Ahmed S. Taeif1678df2020-08-26 20:38:50 -070045 "//iree/base:init",
Geoffrey Martin-Noble34190262020-02-06 10:43:58 -080046 "//iree/base:file_io",
Geoffrey Martin-Noble34190262020-02-06 10:43:58 -080047 "//iree/base:status",
Ben Vanik56d44bf2020-05-15 13:20:50 -070048 "//iree/base:tracing",
Geoffrey Martin-Noble34190262020-02-06 10:43:58 -080049 "//iree/modules/hal",
Ben Vanike8a9ec42020-07-16 22:04:57 -070050 "//iree/vm",
Geoffrey Martin-Noblebbec4782020-03-02 10:50:28 -080051 "//iree/vm:bytecode_module",
Geoffrey Martin-Noble34190262020-02-06 10:43:58 -080052 ] + PLATFORM_VULKAN_DEPS + IREE_DRIVER_MODULES,
53)
54
Stella Laurenzo23c9b852020-05-12 17:27:49 -070055iree_cc_binary(
Ben Vanik3555f142019-12-30 13:44:41 -080056 name = "iree-dump-module",
Geoffrey Martin-Noble0a6b9cc2020-09-22 20:17:05 -070057 srcs = ["iree-dump-module-main.cc"],
Ben Vanik3555f142019-12-30 13:44:41 -080058 deps = [
59 "//iree/base:file_io", # build-cleaner: keep
60 "//iree/base:flatbuffer_util",
61 "//iree/base:init",
Ben Vanik3555f142019-12-30 13:44:41 -080062 "//iree/schemas:bytecode_module_def_cc_fbs",
63 "@com_github_google_flatbuffers//:flatbuffers",
64 ],
65)
66
Ben Vanik52245042019-12-13 14:20:00 -080067cc_library(
Marius Brehler92f74b22020-05-28 14:37:49 -070068 name = "init_iree_passes_and_dialects",
Marius Brehler0c0cd9f2020-03-05 15:35:02 -080069 hdrs = [
Marius Brehler92f74b22020-05-28 14:37:49 -070070 "init_iree_dialects.h",
71 "init_iree_passes.h",
Marius Brehler0c0cd9f2020-03-05 15:35:02 -080072 ],
73 deps = [
Marius Brehlerc0cbab62020-04-16 16:25:21 -070074 "//iree/compiler/Dialect/Flow/Analysis",
Marius Brehler23f9a572020-04-07 14:20:52 -070075 "//iree/compiler/Dialect/Flow/IR",
Marius Brehler2dd57382020-04-14 15:05:12 -070076 "//iree/compiler/Dialect/Flow/Transforms",
Marius Brehler23f9a572020-04-07 14:20:52 -070077 "//iree/compiler/Dialect/HAL/IR:HALDialect",
Marius Brehler345a5572020-04-16 12:54:17 -070078 "//iree/compiler/Dialect/HAL/Transforms",
Marius Brehler23f9a572020-04-07 14:20:52 -070079 "//iree/compiler/Dialect/IREE/IR",
Marius Brehler2dd57382020-04-14 15:05:12 -070080 "//iree/compiler/Dialect/IREE/Transforms",
copybara-service[bot]a7442442020-07-01 13:12:23 -070081 "//iree/compiler/Dialect/Sequence/IR",
Sean Silva845dcde2020-04-29 17:17:39 -070082 "//iree/compiler/Dialect/Shape/Conversion",
Marius Brehler23f9a572020-04-07 14:20:52 -070083 "//iree/compiler/Dialect/Shape/IR",
Marius Brehler2dd57382020-04-14 15:05:12 -070084 "//iree/compiler/Dialect/Shape/Transforms",
Marius Brehler869a5742020-04-16 16:33:14 -070085 "//iree/compiler/Dialect/VM/Analysis",
Marius Brehler23f9a572020-04-07 14:20:52 -070086 "//iree/compiler/Dialect/VM/IR",
Marius Brehler2dd57382020-04-14 15:05:12 -070087 "//iree/compiler/Dialect/VM/Transforms",
Marius Brehler23f9a572020-04-07 14:20:52 -070088 "//iree/compiler/Dialect/VMLA/IR:VMLADialect",
Marius Brehler2dd57382020-04-14 15:05:12 -070089 "//iree/compiler/Dialect/VMLA/Transforms",
Marius Brehler23f9a572020-04-07 14:20:52 -070090 "//iree/compiler/Dialect/Vulkan/IR",
Marius Brehler15e59972020-05-12 16:03:00 -070091 "//iree/compiler/Translation:IREEVM",
Marius Brehler92f74b22020-05-28 14:37:49 -070092 "@llvm-project//mlir:IR",
93 ],
94)
95
96cc_library(
97 name = "init_mlir_passes_and_dialects",
98 hdrs = [
99 "init_mlir_dialects.h",
100 "init_mlir_passes.h",
101 ],
102 deps = [
Benjamin Kramerdbb23372020-03-23 12:42:40 -0700103 "@llvm-project//mlir:Affine",
104 "@llvm-project//mlir:AffineTransforms",
Marius Brehler0c0cd9f2020-03-05 15:35:02 -0800105 "@llvm-project//mlir:GPUDialect",
106 "@llvm-project//mlir:GPUToSPIRVTransforms",
107 "@llvm-project//mlir:GPUTransforms",
108 "@llvm-project//mlir:IR",
109 "@llvm-project//mlir:LLVMDialect",
110 "@llvm-project//mlir:LinalgOps",
Mahesh Ravishankarb78eda52020-06-12 16:34:30 -0700111 "@llvm-project//mlir:LinalgPassIncGen",
Marius Brehler0c0cd9f2020-03-05 15:35:02 -0800112 "@llvm-project//mlir:LinalgToLLVM",
113 "@llvm-project//mlir:LinalgToSPIRV",
114 "@llvm-project//mlir:LinalgTransforms",
Marius Brehler0c0cd9f2020-03-05 15:35:02 -0800115 "@llvm-project//mlir:QuantOps",
iree-copybara-bote76bf092020-05-11 13:01:44 -0700116 "@llvm-project//mlir:SCFDialect",
iree-copybara-botc5cc1012020-05-15 09:32:35 -0700117 "@llvm-project//mlir:SCFToGPUPass",
iree-copybara-bote76bf092020-05-11 13:01:44 -0700118 "@llvm-project//mlir:SCFTransforms",
Marius Brehler0c0cd9f2020-03-05 15:35:02 -0800119 "@llvm-project//mlir:SDBM",
120 "@llvm-project//mlir:SPIRVDialect",
121 "@llvm-project//mlir:SPIRVLowering",
Sean Silvad3d90372020-04-27 18:15:48 -0700122 "@llvm-project//mlir:Shape",
Marius Brehler0c0cd9f2020-03-05 15:35:02 -0800123 "@llvm-project//mlir:StandardOps",
124 "@llvm-project//mlir:StandardToSPIRVConversions",
125 "@llvm-project//mlir:Transforms",
126 "@llvm-project//mlir:VectorOps",
127 ],
128)
129
130cc_library(
Marius Brehler2301fcb2020-04-16 14:35:17 -0700131 name = "init_compiler_modules",
132 hdrs = ["init_compiler_modules.h"],
133 deps = [
134 "//iree/compiler/Dialect/Modules/Check/IR:CheckDialect",
135 "//iree/compiler/Dialect/Modules/Strings/IR:Dialect",
136 "//iree/compiler/Dialect/Modules/TensorList/IR:TensorListDialect",
137 ],
138)
139
140cc_library(
Ben Vanika3e50b52020-04-15 08:40:53 -0700141 name = "init_targets",
Scott Todd6132bb32020-08-11 12:04:40 -0700142 srcs = ["init_targets.cc"],
Ben Vanika3e50b52020-04-15 08:40:53 -0700143 hdrs = ["init_targets.h"],
Scott Todd6132bb32020-08-11 12:04:40 -0700144 copts = [
145 "-DIREE_HAVE_LLVMAOT_TARGET",
146 "-DIREE_HAVE_LLVMIR_TARGET",
147 "-DIREE_HAVE_VMLA_TARGET",
148 "-DIREE_HAVE_VULKANSPIRV_TARGET",
149 ],
Ben Vanika3e50b52020-04-15 08:40:53 -0700150 deps = [
Scott Todd8524cb92020-08-27 11:30:56 -0700151 "//iree/compiler/Dialect/HAL/Target/LLVM/AOT:LLVMAOT",
152 "//iree/compiler/Dialect/HAL/Target/LLVM/IR:LLVMIR",
Ben Vanika3e50b52020-04-15 08:40:53 -0700153 "//iree/compiler/Dialect/HAL/Target/VMLA",
154 "//iree/compiler/Dialect/HAL/Target/VulkanSPIRV",
155 ],
156)
157
158cc_library(
159 name = "init_translations",
Marius Brehlerab84e352020-04-14 15:47:00 -0700160 hdrs = [
161 "init_translations.h",
162 ],
163 deps = [
Marius Brehler0ea7b142020-05-13 10:20:49 -0700164 "//iree/compiler/Translation:IREEVM",
Marius Brehlerab84e352020-04-14 15:47:00 -0700165 "@llvm-project//mlir:SPIRVTranslateRegistration",
166 ],
167)
168
169cc_library(
Marius Brehlere9a84092020-05-06 14:20:27 -0700170 name = "init_xla_dialects",
171 hdrs = [
172 "init_xla_dialects.h",
173 ],
174 deps = [
175 "@llvm-project//mlir:IR",
Mehdi Amini896de172020-07-01 12:18:52 -0700176 "@org_tensorflow//tensorflow/compiler/mlir/hlo",
177 "@org_tensorflow//tensorflow/compiler/mlir/hlo:lhlo",
Marius Brehlere9a84092020-05-06 14:20:27 -0700178 ],
179)
180
181cc_library(
Marius Brehler8ea892d2020-03-04 11:02:25 -0800182 name = "iree_opt_main",
Geoffrey Martin-Noble0a6b9cc2020-09-22 20:17:05 -0700183 srcs = ["iree-opt-main.cc"],
Stella Laurenzobd659a12019-10-23 10:17:48 -0700184 deps = [
Marius Brehler2301fcb2020-04-16 14:35:17 -0700185 ":init_compiler_modules",
Marius Brehler92f74b22020-05-28 14:37:49 -0700186 ":init_iree_passes_and_dialects",
187 ":init_mlir_passes_and_dialects",
Ben Vanika3e50b52020-04-15 08:40:53 -0700188 ":init_targets",
Marius Brehlere9a84092020-05-06 14:20:27 -0700189 ":init_xla_dialects",
Lei Zhangbb44cf02020-05-13 11:15:38 -0700190 "//iree/compiler/Conversion:init_conversions",
191 "//iree/compiler/Conversion/HLOToLinalg",
Ben Vanik04dec982019-11-19 14:09:07 -0800192 "//iree/compiler/Dialect/Flow/Analysis",
193 "//iree/compiler/Dialect/Flow/IR",
194 "//iree/compiler/Dialect/Flow/Transforms",
Marius Brehler53f3c8e2020-05-12 16:05:11 -0700195 "//iree/compiler/Dialect/HAL/Conversion:Passes",
Ben Vanikf0eea2d2019-12-03 18:18:25 -0800196 "//iree/compiler/Dialect/HAL/Conversion/FlowToHAL",
Ben Vanikab0ece22019-12-09 17:16:59 -0800197 "//iree/compiler/Dialect/HAL/Conversion/HALToVM",
Ben Vanik9aa21c22019-11-25 11:59:04 -0800198 "//iree/compiler/Dialect/HAL/Transforms",
Marius Brehler2301fcb2020-04-16 14:35:17 -0700199 "//iree/compiler/Dialect/IREE/IR",
200 "//iree/compiler/Dialect/IREE/Transforms",
copybara-service[bot]a7442442020-07-01 13:12:23 -0700201 "//iree/compiler/Dialect/Sequence/IR",
Sean Silvad3d90372020-04-27 18:15:48 -0700202 "//iree/compiler/Dialect/Shape/Conversion",
Stella Laurenzo9f745542020-01-23 10:21:19 -0800203 "//iree/compiler/Dialect/Shape/IR",
Stella Laurenzo35012882020-01-24 15:09:51 -0800204 "//iree/compiler/Dialect/Shape/Transforms",
Ben Vanik4becc9e2019-11-12 08:25:31 -0800205 "//iree/compiler/Dialect/VM/Analysis",
Stella Laurenzo15c057f2019-11-18 19:20:07 -0800206 "//iree/compiler/Dialect/VM/Conversion/StandardToVM",
Ben Vanik7a6fa7a2019-11-06 14:01:41 -0800207 "//iree/compiler/Dialect/VM/IR",
Ben Vanik4becc9e2019-11-12 08:25:31 -0800208 "//iree/compiler/Dialect/VM/Transforms",
Ben Vanik6b820732020-01-29 20:24:24 -0800209 "//iree/compiler/Dialect/VMLA/Conversion/HLOToVMLA",
210 "//iree/compiler/Dialect/VMLA/Conversion/VMLAToVM",
Ben Vanik6b820732020-01-29 20:24:24 -0800211 "//iree/compiler/Dialect/VMLA/Transforms",
Lei Zhangb9e74a92020-03-02 13:25:25 -0800212 "//iree/compiler/Dialect/Vulkan/IR",
Ben Vanikb2136cb2019-12-06 17:11:42 -0800213 "//iree/compiler/Translation:IREEVM",
Geoffrey Martin-Noble9db81422020-06-10 18:28:13 -0700214 "@llvm-project//llvm:Support",
Lei Zhang07c63c22020-04-14 08:47:27 -0700215 "@llvm-project//mlir:IR",
Jacques Pienaar641453c2019-12-30 07:56:43 -0800216 "@llvm-project//mlir:MlirOptLib",
Marius Brehler92f74b22020-05-28 14:37:49 -0700217 "@llvm-project//mlir:Parser",
Marius Brehler406fead2020-03-03 11:05:28 -0800218 "@llvm-project//mlir:Pass",
219 "@llvm-project//mlir:Support",
Marius Brehler92f74b22020-05-28 14:37:49 -0700220 "@llvm-project//mlir:TransformUtils",
Mehdi Amini896de172020-07-01 12:18:52 -0700221 "@org_tensorflow//tensorflow/compiler/mlir/hlo",
Mehdi Amini552d4e62020-07-08 20:32:16 -0700222 "@org_tensorflow//tensorflow/compiler/mlir/hlo:legalize_control_flow",
Marius Brehler2301fcb2020-04-16 14:35:17 -0700223 ],
Ben Vanik52245042019-12-13 14:20:00 -0800224)
225
Stella Laurenzo23c9b852020-05-12 17:27:49 -0700226iree_cc_binary(
Ben Vanik52245042019-12-13 14:20:00 -0800227 name = "iree-opt",
Geoffrey Martin-Noble48efde62020-03-23 13:23:44 -0700228 tags = ["hostonly"],
Ben Vanik52245042019-12-13 14:20:00 -0800229 deps = [
Marius Brehler8ea892d2020-03-04 11:02:25 -0800230 ":iree_opt_main",
Ben Vanik52245042019-12-13 14:20:00 -0800231 ],
Stella Laurenzobd659a12019-10-23 10:17:48 -0700232)
233
Stella Laurenzo23c9b852020-05-12 17:27:49 -0700234iree_cc_binary(
Stella Laurenzobd659a12019-10-23 10:17:48 -0700235 name = "iree-run-mlir",
Geoffrey Martin-Noble0a6b9cc2020-09-22 20:17:05 -0700236 srcs = ["iree-run-mlir-main.cc"],
Geoffrey Martin-Noble48efde62020-03-23 13:23:44 -0700237 tags = ["hostonly"],
Stella Laurenzobd659a12019-10-23 10:17:48 -0700238 deps = [
Marius Brehler2301fcb2020-04-16 14:35:17 -0700239 ":init_compiler_modules",
Marius Brehler92f74b22020-05-28 14:37:49 -0700240 ":init_iree_passes_and_dialects",
241 ":init_mlir_passes_and_dialects",
Ben Vanika3e50b52020-04-15 08:40:53 -0700242 ":init_targets",
Geoffrey Martin-Noble92286702020-09-02 11:19:31 -0700243 ":init_xla_dialects",
Geoffrey Martin-Noble934f0b82020-02-03 15:55:11 -0800244 ":vm_util",
Stella Laurenzobd659a12019-10-23 10:17:48 -0700245 "@com_google_absl//absl/flags:flag",
246 "@com_google_absl//absl/strings",
Geoffrey Martin-Noble934f0b82020-02-03 15:55:11 -0800247 "@com_google_absl//absl/types:span",
Ben Vanik5f24fb52019-12-23 15:50:56 -0800248 "//iree/base:api",
Ben Vanik56d44bf2020-05-15 13:20:50 -0700249 "//iree/base:tracing",
Ben Vanik5f24fb52019-12-23 15:50:56 -0800250 "//iree/compiler/Dialect/Flow/Transforms",
251 "//iree/compiler/Dialect/HAL/Transforms",
Geoffrey Martin-Noble64ec45f2020-01-03 17:03:46 -0800252 "//iree/compiler/Dialect/IREE/Transforms",
Marius Brehler24decf32020-05-11 12:54:23 -0700253 "//iree/compiler/Dialect/VM/Target:init_targets",
Ben Vanik5f24fb52019-12-23 15:50:56 -0800254 "//iree/compiler/Dialect/VM/Target/Bytecode",
255 "//iree/compiler/Dialect/VM/Transforms",
256 "//iree/hal:api",
257 "//iree/modules/hal",
Ben Vanik97a824f2019-12-31 17:42:23 -0800258 "//iree/vm",
259 "//iree/vm:bytecode_module",
Geoffrey Martin-Noble9db81422020-06-10 18:28:13 -0700260 "@llvm-project//llvm:Support",
Jacques Pienaar641453c2019-12-30 07:56:43 -0800261 "@llvm-project//mlir:IR",
262 "@llvm-project//mlir:Parser",
263 "@llvm-project//mlir:Pass",
264 "@llvm-project//mlir:Support",
Ben Vanik5f24fb52019-12-23 15:50:56 -0800265 "//iree/base:init",
266 "//iree/base:status",
267 "//iree/compiler/Translation:IREEVM",
Marius Brehler2301fcb2020-04-16 14:35:17 -0700268 ] + PLATFORM_VULKAN_DEPS + IREE_DRIVER_MODULES,
Geoffrey Martin-Noblee64004d2020-02-03 16:13:46 -0800269)
270
Stella Laurenzo23c9b852020-05-12 17:27:49 -0700271iree_cc_binary(
Geoffrey Martin-Noblee64004d2020-02-03 16:13:46 -0800272 name = "iree-run-module",
Geoffrey Martin-Noble0a6b9cc2020-09-22 20:17:05 -0700273 srcs = ["iree-run-module-main.cc"],
Geoffrey Martin-Noblee64004d2020-02-03 16:13:46 -0800274 deps = [
275 ":vm_util",
276 "@com_google_absl//absl/flags:flag",
277 "@com_google_absl//absl/strings",
Geoffrey Martin-Noblee64004d2020-02-03 16:13:46 -0800278 "//iree/base:file_io",
279 "//iree/base:init",
Geoffrey Martin-Noblee64004d2020-02-03 16:13:46 -0800280 "//iree/base:status",
Ben Vanik56d44bf2020-05-15 13:20:50 -0700281 "//iree/base:tracing",
Geoffrey Martin-Noblee64004d2020-02-03 16:13:46 -0800282 "//iree/modules/hal",
Ben Vanike8a9ec42020-07-16 22:04:57 -0700283 "//iree/vm",
Geoffrey Martin-Noblee64004d2020-02-03 16:13:46 -0800284 "//iree/vm:bytecode_module",
285 ] + PLATFORM_VULKAN_DEPS + IREE_DRIVER_MODULES,
Ben Vanik5f24fb52019-12-23 15:50:56 -0800286)
287
Stella Laurenzo23c9b852020-05-12 17:27:49 -0700288iree_cc_binary(
Ben Vanik7a6fa7a2019-11-06 14:01:41 -0800289 name = "iree-tblgen",
Geoffrey Martin-Noble48efde62020-03-23 13:23:44 -0700290 tags = ["hostonly"],
Ben Vanik7a6fa7a2019-11-06 14:01:41 -0800291 deps = [
Ben Vanik0ef02562020-03-26 16:02:18 -0700292 "//iree/compiler/Dialect/IREE/Tools",
Ben Vanik7a6fa7a2019-11-06 14:01:41 -0800293 "//iree/compiler/Dialect/VM/Tools",
Jacques Pienaar641453c2019-12-30 07:56:43 -0800294 "@llvm-project//mlir:MlirTableGenMain",
295 "@llvm-project//mlir:Support",
296 "@llvm-project//mlir:TableGen",
Ben Vanik7a6fa7a2019-11-06 14:01:41 -0800297 ],
298)
299
Ben Vanik52245042019-12-13 14:20:00 -0800300cc_library(
Marius Brehler6d8b59b2020-03-05 19:22:35 -0800301 name = "iree_translate_main",
Geoffrey Martin-Noble0a6b9cc2020-09-22 20:17:05 -0700302 srcs = ["iree-translate-main.cc"],
Stella Laurenzobd659a12019-10-23 10:17:48 -0700303 deps = [
Marius Brehler2301fcb2020-04-16 14:35:17 -0700304 ":init_compiler_modules",
Marius Brehler92f74b22020-05-28 14:37:49 -0700305 ":init_iree_passes_and_dialects",
306 ":init_mlir_passes_and_dialects",
Ben Vanika3e50b52020-04-15 08:40:53 -0700307 ":init_targets",
Scott Todd43d00f42020-04-15 17:09:58 -0700308 ":init_translations",
Marius Brehlere9a84092020-05-06 14:20:27 -0700309 ":init_xla_dialects",
Lei Zhangbb44cf02020-05-13 11:15:38 -0700310 "//iree/compiler/Conversion:init_conversions",
Marius Brehler24decf32020-05-11 12:54:23 -0700311 "//iree/compiler/Dialect/VM/Target:init_targets",
Ben Vanik4becc9e2019-11-12 08:25:31 -0800312 "//iree/compiler/Dialect/VM/Target/Bytecode",
Ben Vanikdab870d2019-11-19 14:23:24 -0800313 "//iree/compiler/Translation:IREEVM",
Geoffrey Martin-Noble9db81422020-06-10 18:28:13 -0700314 "@llvm-project//llvm:Support",
Jacques Pienaar641453c2019-12-30 07:56:43 -0800315 "@llvm-project//mlir:IR",
316 "@llvm-project//mlir:Pass",
iree-copybara-bote76bf092020-05-11 13:01:44 -0700317 "@llvm-project//mlir:SCFTransforms",
Jacques Pienaar641453c2019-12-30 07:56:43 -0800318 "@llvm-project//mlir:Support",
Jacques Pienaar641453c2019-12-30 07:56:43 -0800319 "@llvm-project//mlir:Translation",
Marius Brehler2301fcb2020-04-16 14:35:17 -0700320 ],
Ben Vanik52245042019-12-13 14:20:00 -0800321)
322
Stella Laurenzo23c9b852020-05-12 17:27:49 -0700323iree_cc_binary(
Ben Vanik52245042019-12-13 14:20:00 -0800324 name = "iree-translate",
Geoffrey Martin-Noble48efde62020-03-23 13:23:44 -0700325 tags = ["hostonly"],
Ben Vanik52245042019-12-13 14:20:00 -0800326 deps = [
Marius Brehler6d8b59b2020-03-05 19:22:35 -0800327 ":iree_translate_main",
Ben Vanik52245042019-12-13 14:20:00 -0800328 ],
Stella Laurenzobd659a12019-10-23 10:17:48 -0700329)
330
Geoffrey Martin-Noble74d82182019-11-29 15:46:22 -0800331sh_binary(
332 name = "IreeFileCheck",
333 testonly = True,
334 srcs = ["IreeFileCheck.sh"],
Jacques Pienaar641453c2019-12-30 07:56:43 -0800335 data = ["@llvm-project//llvm:FileCheck"],
Geoffrey Martin-Noble48efde62020-03-23 13:23:44 -0700336 tags = ["hostonly"],
Geoffrey Martin-Noble74d82182019-11-29 15:46:22 -0800337)
Geoffrey Martin-Noble934f0b82020-02-03 15:55:11 -0800338
Geoffrey Martin-Noble94d7b6e2020-02-20 13:43:10 -0800339# TODO(b/146898896): Refactor these into more coherent packages.
Geoffrey Martin-Noble934f0b82020-02-03 15:55:11 -0800340cc_library(
341 name = "vm_util",
342 srcs = ["vm_util.cc"],
343 hdrs = ["vm_util.h"],
Geoffrey Martin-Noble934f0b82020-02-03 15:55:11 -0800344 deps = [
Han-Chung Wang19316be2020-07-17 05:53:02 -0700345 "//iree/base:file_io",
Geoffrey Martin-Noble934f0b82020-02-03 15:55:11 -0800346 "//iree/base:signature_mangle",
347 "//iree/base:status",
348 "//iree/hal:api",
349 "//iree/modules/hal",
Ben Vanike8a9ec42020-07-16 22:04:57 -0700350 "//iree/vm",
Geoffrey Martin-Noble934f0b82020-02-03 15:55:11 -0800351 "//iree/vm:bytecode_module",
Ben Vanike8a9ec42020-07-16 22:04:57 -0700352 "//iree/vm:ref_cc",
Geoffrey Martin-Noble934f0b82020-02-03 15:55:11 -0800353 "@com_google_absl//absl/strings",
354 "@com_google_absl//absl/types:span",
355 ],
356)
357
358cc_test(
359 name = "vm_util_test",
360 srcs = ["vm_util_test.cc"],
361 deps = [
362 ":vm_util",
363 "//iree/base:api",
Geoffrey Martin-Noble934f0b82020-02-03 15:55:11 -0800364 "//iree/hal:api",
Ben Vanik44860eb2020-03-10 12:24:06 -0700365 "//iree/hal/vmla:vmla_driver_module",
Geoffrey Martin-Noble934f0b82020-02-03 15:55:11 -0800366 "//iree/modules/hal",
Ben Vanik371a8652020-08-09 01:36:48 -0700367 "//iree/testing:gtest",
Geoffrey Martin-Noble934f0b82020-02-03 15:55:11 -0800368 "//iree/testing:gtest_main",
Ben Vanike8a9ec42020-07-16 22:04:57 -0700369 "//iree/vm",
Ben Vanik35a7a272020-08-11 14:11:39 -0700370 "@com_google_absl//absl/strings",
Geoffrey Martin-Noble934f0b82020-02-03 15:55:11 -0800371 ],
372)