Merge branch 'google' into main-to-google
diff --git a/.gitmodules b/.gitmodules index c6ec233..f5306b8 100644 --- a/.gitmodules +++ b/.gitmodules
@@ -50,3 +50,6 @@ [submodule "third_party/llvm-bazel"] path = third_party/llvm-bazel url = https://github.com/google/llvm-bazel.git +[submodule "third_party/liburing"] + path = third_party/liburing + url = https://github.com/axboe/liburing.git
diff --git a/CMakeLists.txt b/CMakeLists.txt index 7bf87db..ae9e25e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt
@@ -45,7 +45,6 @@ option(IREE_BUILD_SAMPLES "Builds IREE sample projects." ON) option(IREE_BUILD_DEBUGGER "Builds the IREE debugger app." OFF) option(IREE_BUILD_JAVA_BINDINGS "Builds the IREE java bindings." OFF) -option(IREE_BUILD_EXPERIMENTAL "Builds experimental projects." OFF) option(IREE_BUILD_TENSORFLOW_COMPILER "Builds TensorFlow compiler frontend." OFF) option(IREE_BUILD_TFLITE_COMPILER "Builds the TFLite compiler frontend." OFF) option(IREE_BUILD_XLA_COMPILER "Builds TensorFlow XLA compiler frontend." OFF) @@ -72,7 +71,18 @@ option(IREE_BUILD_PYTHON_BINDINGS "Builds the IREE python bindings" OFF) endif() -if(${IREE_BUILD_SAMPLES} OR ${IREE_BUILD_EXPERIMENTAL}) +#------------------------------------------------------------------------------- +# Experimental project flags +#------------------------------------------------------------------------------- + +option(IREE_BUILD_EXPERIMENTAL_MODEL_BUILDER "Builds experimental Model-Builder sub-project." OFF) +option(IREE_BUILD_EXPERIMENTAL_REMOTING "Builds experimental remoting support." OFF) + +#------------------------------------------------------------------------------- +# Derived flags based on primary options +#------------------------------------------------------------------------------- + +if(${IREE_BUILD_SAMPLES} OR ${IREE_BUILD_EXPERIMENTAL_MODEL_BUILDER}) set(IREE_BUILD_COMPILER ON CACHE BOOL "Build the IREE compiler for sample projects." FORCE) endif() @@ -323,7 +333,7 @@ set(_CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}") # experimental model builder uses vulkan runner. - if(${IREE_BUILD_EXPERIMENTAL}) + if(${IREE_BUILD_EXPERIMENTAL_MODEL_BUILDER}) set(MLIR_VULKAN_RUNNER_ENABLED ON) endif() @@ -497,11 +507,7 @@ add_subdirectory(iree/schemas) add_subdirectory(iree/testing) add_subdirectory(iree/test) - -if(${IREE_ENABLE_MLIR}) - # The VM requires LLVM to build its op definitions. - add_subdirectory(iree/vm) -endif() +add_subdirectory(iree/vm) if(${IREE_BUILD_COMPILER}) add_subdirectory(iree/compiler) @@ -527,8 +533,19 @@ add_subdirectory(iree/samples) endif() -if(${IREE_BUILD_EXPERIMENTAL}) - add_subdirectory(experimental) +if(${IREE_BUILD_EXPERIMENTAL_MODEL_BUILDER}) + add_subdirectory(experimental/ModelBuilder) +endif() + +if(${IREE_BUILD_EXPERIMENTAL_REMOTING}) + # NOTE: Currently liburing is only used by the experimental remoting + # support, so keeping it scoped here. If this broadens, then include along + # with other dependencies as normal. + if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") + message(STATUS "Enabling liburing") + add_subdirectory(build_tools/third_party/liburing EXCLUDE_FROM_ALL) + endif() + add_subdirectory(experimental/remoting) endif() if(${IREE_ENABLE_TENSORFLOW})
diff --git a/SUBMODULE_VERSIONS b/SUBMODULE_VERSIONS index 2d11c38..fc15b61 100644 --- a/SUBMODULE_VERSIONS +++ b/SUBMODULE_VERSIONS
@@ -3,6 +3,7 @@ 63b254577ed77a8004a9be6ac707f3dccc4e1fd9 third_party/cpuinfo 4fb0ff7069bd88ee85902f4d0bb62794e5f6d021 third_party/flatcc b1fbd33c06cdb0024c67733c6fdec2009d17b384 third_party/googletest +88b845dee001723c4a0db1fe5477de735b6d3bb0 third_party/liburing b355c694790b8e69e1bb320db0c8a5047a5c382c third_party/llvm-bazel c3acda0798f9b10ac3187ad941bbd8af82fb84a1 third_party/llvm-project a438d3b2e9e2e4699b94787b7fb6e8b45d4e92c6 third_party/mlir-emitc
diff --git a/bindings/javatests/CMakeLists.txt b/bindings/javatests/CMakeLists.txt index 268f43b..cec74ee 100644 --- a/bindings/javatests/CMakeLists.txt +++ b/bindings/javatests/CMakeLists.txt
@@ -12,4 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +if (NOT ${IREE_BUILD_TESTS}) + return() +endif() + add_subdirectory(com/google/iree)
diff --git a/bindings/javatests/com/google/iree/CMakeLists.txt b/bindings/javatests/com/google/iree/CMakeLists.txt index 15f9896..1d983f2 100644 --- a/bindings/javatests/com/google/iree/CMakeLists.txt +++ b/bindings/javatests/com/google/iree/CMakeLists.txt
@@ -12,25 +12,27 @@ # See the License for the specific language governing permissions and # limitations under the License. -iree_bytecode_module( - NAME - simple_mul_bytecode_module - SRC - "simple_mul.mlir" - CC_NAMESPACE - "iree::java" - FLAGS - "-iree-mlir-to-vm-bytecode-module" - "-iree-hal-target-backends=vmla" -) +if(${IREE_BUILD_COMPILER}) + iree_bytecode_module( + NAME + simple_mul_bytecode_module + SRC + "simple_mul.mlir" + CC_NAMESPACE + "iree::java" + FLAGS + "-iree-mlir-to-vm-bytecode-module" + "-iree-hal-target-backends=vmla" + ) -iree_cc_binary( - NAME - integration_test - SRCS - "integration_test.cc" - DEPS - bindings::java::com::google::iree::native::cc_wrappers - bindings::javatests::com::google::iree::simple_mul_bytecode_module_cc - iree::base::status -) + iree_cc_binary( + NAME + integration_test + SRCS + "integration_test.cc" + DEPS + bindings::java::com::google::iree::native::cc_wrappers + bindings::javatests::com::google::iree::simple_mul_bytecode_module_cc + iree::base::status + ) +endif()
diff --git a/build_tools/cmake/external_cc_library.cmake b/build_tools/cmake/external_cc_library.cmake index d9cd38e..88c0f82 100644 --- a/build_tools/cmake/external_cc_library.cmake +++ b/build_tools/cmake/external_cc_library.cmake
@@ -130,13 +130,15 @@ ${_RULE_COPTS} ${IREE_DEFAULT_COPTS} ) - target_link_libraries(${_NAME} - PUBLIC - ${_RULE_DEPS} + target_link_options(${_NAME} PRIVATE ${IREE_DEFAULT_LINKOPTS} ${_RULE_LINKOPTS} ) + target_link_libraries(${_NAME} + PUBLIC + ${_RULE_DEPS} + ) target_compile_definitions(${_NAME} PUBLIC ${_RULE_DEFINES} @@ -169,10 +171,13 @@ ${IREE_DEFAULT_COPTS} ${_RULE_COPTS} ) - target_link_libraries(${_NAME} + target_link_options(${_NAME} INTERFACE ${IREE_DEFAULT_LINKOPTS} ${_RULE_LINKOPTS} + ) + target_link_libraries(${_NAME} + INTERFACE ${_RULE_DEPS} ) iree_add_data_dependencies(NAME ${_NAME} DATA ${_RULE_DATA})
diff --git a/build_tools/cmake/iree_cc_library.cmake b/build_tools/cmake/iree_cc_library.cmake index fc7cb5d..41738dc 100644 --- a/build_tools/cmake/iree_cc_library.cmake +++ b/build_tools/cmake/iree_cc_library.cmake
@@ -128,14 +128,15 @@ ${IREE_DEFAULT_COPTS} ${_RULE_COPTS} ) - - target_link_libraries(${_NAME} - PUBLIC - ${_RULE_DEPS} + target_link_options(${_NAME} PRIVATE ${IREE_DEFAULT_LINKOPTS} ${_RULE_LINKOPTS} ) + target_link_libraries(${_NAME} + PUBLIC + ${_RULE_DEPS} + ) iree_add_data_dependencies(NAME ${_NAME} DATA ${_RULE_DATA}) target_compile_definitions(${_NAME} @@ -168,12 +169,15 @@ ${IREE_DEFAULT_COPTS} ${_RULE_COPTS} ) - target_link_libraries(${_NAME} + target_link_options(${_NAME} INTERFACE ${IREE_DEFAULT_LINKOPTS} - ${_RULE_DEPS} ${_RULE_LINKOPTS} ) + target_link_libraries(${_NAME} + INTERFACE + ${_RULE_DEPS} + ) iree_add_data_dependencies(NAME ${_NAME} DATA ${_RULE_DATA}) target_compile_definitions(${_NAME} INTERFACE
diff --git a/build_tools/cmake/iree_check_test.cmake b/build_tools/cmake/iree_check_test.cmake index 2974a93..96cdfa8 100644 --- a/build_tools/cmake/iree_check_test.cmake +++ b/build_tools/cmake/iree_check_test.cmake
@@ -36,6 +36,8 @@ return() endif() + # When *not* cross compiling, respect the IREE_BUILD_COMPILER option. + # Cross compilation uses its own "IREE_HOST_BUILD_COMPILER" option. if(NOT IREE_BUILD_COMPILER AND NOT CMAKE_CROSSCOMPILING) return() endif() @@ -184,6 +186,10 @@ return() endif() + # Note: we could check IREE_BUILD_COMPILER here, but cross compilation makes + # that a little tricky. Instead, we let iree_check_test handle the checks, + # meaning this function may run some configuration but generate no targets. + cmake_parse_arguments( _RULE ""
diff --git a/build_tools/cmake/iree_cross_compile.cmake b/build_tools/cmake/iree_cross_compile.cmake index 4257410..7bb8ab9 100644 --- a/build_tools/cmake/iree_cross_compile.cmake +++ b/build_tools/cmake/iree_cross_compile.cmake
@@ -87,7 +87,6 @@ iree_to_bool(_CONFIG_BUILD_DEBUGGER "${IREE_${CONFIG_NAME}_BUILD_DEBUGGER}") iree_to_bool(_CONFIG_BUILD_PYTHON_BINDINGS "${IREE_${CONFIG_NAME}_BUILD_PYTHON_BINDINGS}") iree_to_bool(_CONFIG_BUILD_JAVA_BINDINGS "${IREE_${CONFIG_NAME}_BUILD_JAVA_BINDINGS}") - iree_to_bool(_CONFIG_BUILD_EXPERIMENTAL "${IREE_${CONFIG_NAME}_BUILD_EXPERIMENTAL}") iree_to_bool(_CONFIG_BUILD_TENSORFLOW_COMPILER "${IREE_${CONFIG_NAME}_BUILD_TENSORFLOW_COMPILER}") # Escape semicolons in the targets list so that CMake doesn't expand them to
diff --git a/build_tools/cmake/iree_lit_test.cmake b/build_tools/cmake/iree_lit_test.cmake index 1a80cb4..e6974b9 100644 --- a/build_tools/cmake/iree_lit_test.cmake +++ b/build_tools/cmake/iree_lit_test.cmake
@@ -35,6 +35,14 @@ return() endif() + # When *not* cross compiling, respect the IREE_BUILD_COMPILER option. + # Cross compilation uses its own "IREE_HOST_BUILD_COMPILER" option. + # Note: lit tests are not *required* to be "compiler" tests, but we only use + # them for compiler tests in practice. + if(NOT IREE_BUILD_COMPILER AND NOT CMAKE_CROSSCOMPILING) + return() + endif() + cmake_parse_arguments( _RULE "" @@ -112,6 +120,10 @@ return() endif() + # Note: we could check IREE_BUILD_COMPILER here, but cross compilation makes + # that a little tricky. Instead, we let iree_check_test handle the checks, + # meaning this function may run some configuration but generate no targets. + cmake_parse_arguments( _RULE ""
diff --git a/build_tools/third_party/liburing/.clang-format b/build_tools/third_party/liburing/.clang-format new file mode 100644 index 0000000..7968b43 --- /dev/null +++ b/build_tools/third_party/liburing/.clang-format
@@ -0,0 +1,3 @@ +DisableFormat: true +SortIncludes: false +
diff --git a/build_tools/third_party/liburing/CMakeLists.txt b/build_tools/third_party/liburing/CMakeLists.txt new file mode 100644 index 0000000..da4f232 --- /dev/null +++ b/build_tools/third_party/liburing/CMakeLists.txt
@@ -0,0 +1,37 @@ +# Copyright 2020 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. + +set(LIBURING_ROOT "${IREE_ROOT_DIR}/third_party/liburing/src/") + +external_cc_library( + PACKAGE + liburing + NAME + liburing + ROOT + ${LIBURING_ROOT} + INCLUDES + ${LIBURING_ROOT}/include + ${CMAKE_CURRENT_SOURCE_DIR}/default_config/src/include + SRCS + "queue.c" + "register.c" + "setup.c" + "syscall.c" + "syscall.h" + HDRS + "include/liburing.h" + "include/liburing/barrier.h" + "include/liburing/io_uring.h" +)
diff --git a/build_tools/third_party/liburing/default_config/config-host.h b/build_tools/third_party/liburing/default_config/config-host.h new file mode 100644 index 0000000..21af714 --- /dev/null +++ b/build_tools/third_party/liburing/default_config/config-host.h
@@ -0,0 +1,9 @@ +/* + * Automatically generated by configure - do not modify + * Configured with: * '/home/stella/src/iree/build_tools/third_party/liburing/../../../third_party/liburing/configure' + */ +#define CONFIG_HAVE_KERNEL_RWF_T +#define CONFIG_HAVE_KERNEL_TIMESPEC +#define CONFIG_HAVE_STATX +#define CONFIG_HAVE_CXX +#define CONFIG_HAVE_UCONTEXT
diff --git a/build_tools/third_party/liburing/default_config/config-host.mak b/build_tools/third_party/liburing/default_config/config-host.mak new file mode 100644 index 0000000..a024aee --- /dev/null +++ b/build_tools/third_party/liburing/default_config/config-host.mak
@@ -0,0 +1,16 @@ +# Automatically generated by configure - do not modify +# Configured with: '/home/stella/src/iree/build_tools/third_party/liburing/../../../third_party/liburing/configure' +prefix=/usr +includedir=/usr/include +libdir=/usr/lib +libdevdir=/usr/lib +relativelibdir= +mandir=/usr/man +datadir=/usr/share +CONFIG_HAVE_KERNEL_RWF_T=y +CONFIG_HAVE_KERNEL_TIMESPEC=y +CONFIG_HAVE_STATX=y +CONFIG_HAVE_CXX=y +CONFIG_HAVE_UCONTEXT=y +CC=clang-10 +CXX=clang++-10
diff --git a/build_tools/third_party/liburing/default_config/src/include/liburing/compat.h b/build_tools/third_party/liburing/default_config/src/include/liburing/compat.h new file mode 100644 index 0000000..2e46c5f --- /dev/null +++ b/build_tools/third_party/liburing/default_config/src/include/liburing/compat.h
@@ -0,0 +1,15 @@ +/* SPDX-License-Identifier: MIT */ +#ifndef LIBURING_COMPAT_H +#define LIBURING_COMPAT_H + +#include <linux/time_types.h> + +#include <inttypes.h> + +struct open_how { + uint64_t flags; + uint64_t mode; + uint64_t resolve; +}; + +#endif
diff --git a/build_tools/third_party/liburing/update_config.sh b/build_tools/third_party/liburing/update_config.sh new file mode 100755 index 0000000..666b0fd --- /dev/null +++ b/build_tools/third_party/liburing/update_config.sh
@@ -0,0 +1,40 @@ +#!/bin/bash + +# Copyright 2020 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. + +# Runs the liburing configure script to update compat headers here. +# At the time of this writing, this facility is very simple and ok to just +# snapshot (which will need to be done for cross-compilation anyway). If this +# ever changes, something more exotic than a manual update will need to be +# done. + +this_dir="$(cd $(dirname $0) && pwd)" +liburing_dir="$this_dir/../../../third_party/liburing" + +if ! [ -d "$liburing_dir" ]; then + echo "ERROR: Could not find directory $liburing_dir" + exit 1 +fi + +# The configure script outputs files into the current directory and a +# src/include/liburing directory, matching the source tree. +config_dir="$this_dir/default_config" +mkdir -p "$config_dir/src/include/liburing" +cd "$config_dir" + +if ! bash "$liburing_dir/configure"; then + echo "ERROR: Could not configure" + exit 2 +fi
diff --git a/experimental/CMakeLists.txt b/experimental/CMakeLists.txt deleted file mode 100644 index 92557d4..0000000 --- a/experimental/CMakeLists.txt +++ /dev/null
@@ -1,19 +0,0 @@ -# Copyright 2020 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. - -# NOTE: not all projects require a cmake build. If you are adding a directory -# that is only expected to build with bazel (such as something depending on -# TensorFlow) you can ignore cmake. -# -iree_add_all_subdirs()
diff --git a/experimental/BUILD b/experimental/remoting/CMakeLists.txt similarity index 80% rename from experimental/BUILD rename to experimental/remoting/CMakeLists.txt index 0e6ae3d..0ca47f8 100644 --- a/experimental/BUILD +++ b/experimental/remoting/CMakeLists.txt
@@ -11,9 +11,3 @@ # 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 -)
diff --git a/experimental/remoting/README.md b/experimental/remoting/README.md new file mode 100644 index 0000000..cee8ec3 --- /dev/null +++ b/experimental/remoting/README.md
@@ -0,0 +1,5 @@ +# Experimental support for IREE remoting + +Building a remoting layer for IREE is a relatively large project. This +directory contains prototype-quality code that is intended to graduate into +such an effort once the approach stabilizes.
diff --git a/iree/base/wait_handle_poll.c b/iree/base/wait_handle_poll.c index 2ba2eb1..0af174d 100644 --- a/iree/base/wait_handle_poll.c +++ b/iree/base/wait_handle_poll.c
@@ -56,13 +56,13 @@ // One or more events set. *out_signaled_count = rv; return iree_ok_status(); - } else if (rv == 0) { - // Timeout; no events set. - return iree_status_from_code(IREE_STATUS_DEADLINE_EXCEEDED); } else if (IREE_UNLIKELY(rv < 0)) { return iree_make_status(iree_status_code_from_errno(errno), "poll failure %d", errno); } + // rv == 0 + // Timeout; no events set. + return iree_status_from_code(IREE_STATUS_DEADLINE_EXCEEDED); } #elif IREE_WAIT_API == IREE_WAIT_API_PPOLL static iree_status_t iree_syscall_poll(struct pollfd* fds, nfds_t nfds, @@ -105,13 +105,13 @@ // One or more events set. *out_signaled_count = rv; return iree_ok_status(); - } else if (rv == 0) { - // Timeout; no events set. - return iree_status_from_code(IREE_STATUS_DEADLINE_EXCEEDED); - } else { + } else if (rv < 0) { return iree_make_status(iree_status_code_from_errno(errno), "ppoll failure %d", errno); } + // rv == 0 + // Timeout; no events set. + return iree_status_from_code(IREE_STATUS_DEADLINE_EXCEEDED); } #else #error "unsupported IREE_WAIT_API value"
diff --git a/iree/modules/strings/BUILD b/iree/modules/strings/BUILD index fcb1a40..da6012d 100644 --- a/iree/modules/strings/BUILD +++ b/iree/modules/strings/BUILD
@@ -1,3 +1,4 @@ +load("//iree:build_defs.oss.bzl", "iree_cmake_extra_content") load("//iree/tools:compilation.bzl", "iree_bytecode_module") package( @@ -31,6 +32,15 @@ ], ) +iree_cmake_extra_content( + content = """ +if (NOT ${IREE_BUILD_COMPILER} OR NOT ${IREE_BUILD_TESTS}) + return() +endif() +""", + inline = True, +) + cc_test( name = "strings_module_test", srcs = ["strings_module_test.cc"],
diff --git a/iree/modules/strings/CMakeLists.txt b/iree/modules/strings/CMakeLists.txt index 5aac9ba..4dcbcf0 100644 --- a/iree/modules/strings/CMakeLists.txt +++ b/iree/modules/strings/CMakeLists.txt
@@ -38,6 +38,10 @@ PUBLIC ) +if (NOT ${IREE_BUILD_COMPILER} OR NOT ${IREE_BUILD_TESTS}) + return() +endif() + iree_cc_test( NAME strings_module_test
diff --git a/iree/modules/tensorlist/BUILD b/iree/modules/tensorlist/BUILD index 74deecd..86f1c2a 100644 --- a/iree/modules/tensorlist/BUILD +++ b/iree/modules/tensorlist/BUILD
@@ -12,6 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. +load("//iree:build_defs.oss.bzl", "iree_cmake_extra_content") load("//iree/tools:compilation.bzl", "iree_bytecode_module") package( @@ -20,6 +21,32 @@ licenses = ["notice"], # Apache 2.0 ) +cc_library( + name = "native_module", + srcs = ["native_module.cc"], + hdrs = ["native_module.h"], + deps = [ + "//iree/base:api", + "//iree/base:ref_ptr", + "//iree/base:status", + "//iree/hal:api", + "//iree/modules/hal", + "//iree/vm", + "//iree/vm:cc", + "@com_google_absl//absl/container:inlined_vector", + "@com_google_absl//absl/types:span", + ], +) + +iree_cmake_extra_content( + content = """ +if (NOT ${IREE_BUILD_COMPILER} OR NOT ${IREE_BUILD_TESTS}) + return() +endif() +""", + inline = True, +) + iree_bytecode_module( name = "tensorlist_test_module", src = "tensorlist_test.mlir", @@ -49,20 +76,3 @@ "@com_google_absl//absl/types:span", ], ) - -cc_library( - name = "native_module", - srcs = ["native_module.cc"], - hdrs = ["native_module.h"], - deps = [ - "//iree/base:api", - "//iree/base:ref_ptr", - "//iree/base:status", - "//iree/hal:api", - "//iree/modules/hal", - "//iree/vm", - "//iree/vm:cc", - "@com_google_absl//absl/container:inlined_vector", - "@com_google_absl//absl/types:span", - ], -)
diff --git a/iree/modules/tensorlist/CMakeLists.txt b/iree/modules/tensorlist/CMakeLists.txt index 1092601..a82e5f5 100644 --- a/iree/modules/tensorlist/CMakeLists.txt +++ b/iree/modules/tensorlist/CMakeLists.txt
@@ -14,6 +14,30 @@ iree_add_all_subdirs() +iree_cc_library( + NAME + native_module + HDRS + "native_module.h" + SRCS + "native_module.cc" + DEPS + absl::inlined_vector + absl::span + iree::base::api + iree::base::ref_ptr + iree::base::status + iree::hal::api + iree::modules::hal + iree::vm + iree::vm::cc + PUBLIC +) + +if (NOT ${IREE_BUILD_COMPILER} OR NOT ${IREE_BUILD_TESTS}) + return() +endif() + iree_bytecode_module( NAME tensorlist_test_module @@ -49,23 +73,3 @@ iree::vm::bytecode_module iree::vm::cc ) - -iree_cc_library( - NAME - native_module - HDRS - "native_module.h" - SRCS - "native_module.cc" - DEPS - absl::inlined_vector - absl::span - iree::base::api - iree::base::ref_ptr - iree::base::status - iree::hal::api - iree::modules::hal - iree::vm - iree::vm::cc - PUBLIC -)
diff --git a/iree/vm/BUILD b/iree/vm/BUILD index e613f40..17d82ab 100644 --- a/iree/vm/BUILD +++ b/iree/vm/BUILD
@@ -12,6 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. +load("//iree:build_defs.oss.bzl", "iree_cmake_extra_content") load("//iree/tools:compilation.bzl", "iree_bytecode_module") package( @@ -212,6 +213,13 @@ # ], # ) +iree_cmake_extra_content( + content = """ +if(${IREE_BUILD_COMPILER} AND ${IREE_BUILD_TESTS}) +""", + inline = True, +) + cc_test( name = "bytecode_module_test", srcs = [ @@ -271,6 +279,13 @@ flags = ["-iree-vm-ir-to-bytecode-module"], ) +iree_cmake_extra_content( + content = """ +endif() +""", + inline = True, +) + #===------------------------------------------------------------------------===# # Emit-C modules #===------------------------------------------------------------------------===#
diff --git a/iree/vm/CMakeLists.txt b/iree/vm/CMakeLists.txt index dd6d63e..88c3fb7 100644 --- a/iree/vm/CMakeLists.txt +++ b/iree/vm/CMakeLists.txt
@@ -177,6 +177,8 @@ PUBLIC ) +if(${IREE_BUILD_COMPILER} AND ${IREE_BUILD_TESTS}) + iree_cc_test( NAME bytecode_module_test @@ -247,6 +249,8 @@ PUBLIC ) +endif() + iree_cc_library( NAME c_funcs
diff --git a/iree/vm/test/BUILD b/iree/vm/test/BUILD index 616efd0..b2ed44d 100644 --- a/iree/vm/test/BUILD +++ b/iree/vm/test/BUILD
@@ -12,6 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. +load("//iree:build_defs.oss.bzl", "iree_cmake_extra_content") load("//iree/tools:compilation.bzl", "iree_bytecode_module") load("//build_tools/embed_data:build_defs.bzl", "cc_embed_data") @@ -21,6 +22,15 @@ licenses = ["notice"], # Apache 2.0 ) +iree_cmake_extra_content( + content = """ +if (NOT ${IREE_BUILD_COMPILER} OR NOT ${IREE_BUILD_TESTS}) + return() +endif() +""", + inline = True, +) + cc_embed_data( name = "all_bytecode_modules_cc", srcs = [
diff --git a/iree/vm/test/CMakeLists.txt b/iree/vm/test/CMakeLists.txt index 282b4cf..3f86f3f 100644 --- a/iree/vm/test/CMakeLists.txt +++ b/iree/vm/test/CMakeLists.txt
@@ -14,6 +14,10 @@ iree_add_all_subdirs() +if (NOT ${IREE_BUILD_COMPILER} OR NOT ${IREE_BUILD_TESTS}) + return() +endif() + iree_cc_embed_data( NAME all_bytecode_modules_cc
diff --git a/third_party/liburing b/third_party/liburing new file mode 160000 index 0000000..88b845d --- /dev/null +++ b/third_party/liburing
@@ -0,0 +1 @@ +Subproject commit 88b845dee001723c4a0db1fe5477de735b6d3bb0