Improve springbok bytecode and c module compilation
Improve springbok bytecode and c module compilation by taking advantage
of the latest upstream IREE improvements.
Merge springbok_bytecode_module and springbok_c_module into springbok_static_module and make it simpler.
Rename util to util_static for further vmvx expansion.
Change-Id: Ia81fb43f3bdab64372e0d9010211bddb39cce2b7
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 74835f8..d44e160 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -81,8 +81,7 @@
set(IREE_ROOT_DIR "${IREE_SOURCE_DIR}" CACHE PATH "IREE Root directory")
include(springbok_ops)
-include(springbok_bytecode_module)
-include(springbok_c_module)
+include(springbok_static_module)
include(springbok_modules)
include(iree_model_input)
include(springbok_test)
diff --git a/cmake/springbok_bytecode_module.cmake b/cmake/springbok_bytecode_module.cmake
deleted file mode 100644
index 87ffc12..0000000
--- a/cmake/springbok_bytecode_module.cmake
+++ /dev/null
@@ -1,159 +0,0 @@
-include(CMakeParseArguments)
-
-# springbok_bytecode_module()
-#
-# A wrapper for the iree_bytecode_module to apply common iree-compile flags
-# Parameters:
-# NAME: Name of target.
-# SRC: Source file to compile into a bytecode module. Support relative path.
-# FLAGS: Flags to pass to the translation tool (list of strings).
-# C_IDENTIFIER: Identifier to use for generate c embed code.
-# If omitted then no C embed code will be generated.
-# RVV_OFF: Indicate RVV is OFF (default: ON)
-#
-# Examples:
-# springbok_bytecode_module(
-# NAME
-# daredevel_bytecode_module_static
-# SRC
-# "daredevil_quant.tflite"
-# C_IDENTIFIER
-# "daredevil_bytecode_module_static"
-# FLAGS
-# "-iree-input-type=tosa"
-# )
-#
-# springbok_bytecode_module(
-# NAME
-# simple_float_mul_bytecode_module_static
-# SRC
-# "simple_float_mul.mlir"
-# C_IDENTIFIER
-# "simple_float_mul_bytecode_module_static"
-# FLAGS
-# "-iree-input-type=mhlo"
-# RVV_OFF
-# PUBLIC
-# )
-#
-function(springbok_bytecode_module)
- cmake_parse_arguments(
- _RULE
- "PUBLIC;RVV_OFF"
- "NAME;SRC;C_IDENTIFIER"
- "FLAGS"
- ${ARGN}
- )
-
- set(_MLIR_SRC "${_RULE_SRC}")
- string(FIND "${_RULE_SRC}" ".tflite" _IS_TFLITE REVERSE)
- if(${_IS_TFLITE} GREATER 0)
- iree_get_executable_path(IREE_IMPORT_TFLITE_TOOL "iree-import-tflite")
- set(_MLIR_SRC "${CMAKE_CURRENT_BINARY_DIR}/${_RULE_NAME}.mlir")
- get_filename_component(_SRC_PATH "${_RULE_SRC}" REALPATH)
- set(_ARGS "${_SRC_PATH}")
- list(APPEND _ARGS "-o")
- list(APPEND _ARGS "${_RULE_NAME}.mlir")
- # Only add the custom_command here. The output is passed to
- # iree_bytecode_module as the source.
- add_custom_command(
- OUTPUT
- "${_RULE_NAME}.mlir"
- COMMAND
- ${IREE_IMPORT_TFLITE_TOOL}
- ${_ARGS}
- DEPENDS
- ${IREE_IMPORT_TFLITE_TOOL}
- )
- endif()
-
- get_filename_component(_MLIR_SRC "${_MLIR_SRC}" REALPATH)
- iree_get_executable_path(_TRANSLATE_TOOL_EXECUTABLE "iree-compile")
- iree_get_executable_path(_LINKER_TOOL_EXECUTABLE "lld")
-
- # Replace dependencies passed by ::name with iree::package::name
- iree_package_ns(_PACKAGE_NS)
- list(TRANSFORM _RULE_DEPS REPLACE "^::" "${_PACKAGE_NS}::")
-
- # Prefix the library with the package name, so we get: iree_package_name.
- iree_package_name(_PACKAGE_NAME)
-
- set(_LIB_NAME "${_PACKAGE_NAME}_${_RULE_NAME}")
- set(_O_FILE_NAME ${_RULE_NAME}.o)
- set(_H_FILE_NAME ${_RULE_NAME}.h)
- set(_VMFB_FILE_NAME ${_RULE_NAME}.vmfb)
-
- set(_CPU_FEATURES "+m,+f,+zvl512b,+zve32x")
- if (${_RULE_RVV_OFF})
- set(_CPU_FEATURES "+m,+f")
- endif()
-
- ## Example with VM C module.
- # Setup args for iree-compile.
- set(_TRANSLATE_ARGS ${_RULE_FLAGS})
- list(APPEND _TRANSLATE_ARGS "-iree-llvm-debug-symbols=false")
- list(APPEND _TRANSLATE_ARGS "-iree-vm-bytecode-module-strip-source-map=true")
- list(APPEND _TRANSLATE_ARGS "-iree-vm-emit-polyglot-zip=false")
- list(APPEND _TRANSLATE_ARGS "-iree-hal-target-backends=llvm-cpu")
- list(APPEND _TRANSLATE_ARGS "-iree-llvm-target-triple=riscv32-pc-linux-elf")
- list(APPEND _TRANSLATE_ARGS "-iree-llvm-target-cpu=generic-rv32")
- list(APPEND _TRANSLATE_ARGS "-iree-llvm-target-cpu-features=${_CPU_FEATURES}")
- list(APPEND _TRANSLATE_ARGS "-iree-llvm-target-abi=ilp32")
- list(APPEND _TRANSLATE_ARGS "-iree-llvm-link-embedded=false")
- list(APPEND _TRANSLATE_ARGS "-iree-llvm-link-static")
- list(APPEND _TRANSLATE_ARGS "-iree-llvm-system-linker-path=\"${_LINKER_TOOL_EXECUTABLE}\"")
- list(APPEND _TRANSLATE_ARGS "-iree-llvm-static-library-output-path=${_O_FILE_NAME}")
- list(APPEND _TRANSLATE_ARGS "${_MLIR_SRC}")
- list(APPEND _TRANSLATE_ARGS "-o")
- list(APPEND _TRANSLATE_ARGS "${_VMFB_FILE_NAME}")
-
- # Custom command for iree-compile to generate static library and C module.
- add_custom_command(
- OUTPUT
- ${_H_FILE_NAME}
- ${_O_FILE_NAME}
- ${_VMFB_FILE_NAME}
- COMMAND ${_TRANSLATE_TOOL_EXECUTABLE} ${_TRANSLATE_ARGS}
- DEPENDS ${_TRANSLATE_TOOL_EXECUTABLE} ${_MLIR_SRC} ${_LINKER_TOOL_EXECUTABLE}
- )
-
- add_library(${_LIB_NAME}
- STATIC
- ${_O_FILE_NAME}
- )
-
- SET_TARGET_PROPERTIES(
- ${_LIB_NAME}
- PROPERTIES
- LINKER_LANGUAGE C
- )
-
- # Alias the iree_package_name library to iree::package::name.
- # This lets us more clearly map to Bazel and makes it possible to
- # disambiguate the underscores in paths vs. the separators.
- add_library(${_PACKAGE_NS}::${_RULE_NAME} ALIAS ${_LIB_NAME})
- iree_package_dir(_PACKAGE_DIR)
- if(${_RULE_NAME} STREQUAL ${_PACKAGE_DIR})
- add_library(${_PACKAGE_NS} ALIAS ${_LIB_NAME})
- endif()
-
- set(_RULE_C_NAME "${_RULE_NAME}_c")
- set(_H_FILE_NAME ${_RULE_C_NAME}.h)
- set(_C_FILE_NAME ${_RULE_C_NAME}.c)
-
- # Generate the embed data with the bytecode module
- iree_c_embed_data(
- NAME
- "${_RULE_C_NAME}"
- IDENTIFIER
- "${_RULE_C_IDENTIFIER}"
- GENERATED_SRCS
- "${_VMFB_FILE_NAME}"
- C_FILE_OUTPUT
- "${_C_FILE_NAME}"
- H_FILE_OUTPUT
- "${_H_FILE_NAME}"
- FLATTEN
- PUBLIC
- )
-endfunction()
diff --git a/cmake/springbok_c_module.cmake b/cmake/springbok_c_module.cmake
deleted file mode 100644
index bb9a53a..0000000
--- a/cmake/springbok_c_module.cmake
+++ /dev/null
@@ -1,153 +0,0 @@
-include(CMakeParseArguments)
-
-# springbok_c_module()
-#
-# A wrapper for the iree c module to apply common iree-compile flags
-# Parameters:
-# NAME: Name of target.
-# SRC: Source file to compile into an emitC module. Support relative path.
-# FLAGS: Flags to pass to the translation tool (list of strings).
-# C_IDENTIFIER: Identifier to use for generate c embed code.
-# If omitted then no C embed code will be generated.
-# RVV_OFF: Indicate RVV is OFF (default: ON)
-#
-# Examples:
-# springbok_c_module(
-# NAME
-# dare_devel_c_module_emitc_static
-# SRC
-# "daredevil_quant.tflite"
-# FLAGS
-# "-iree-input-type=tosa"
-# )
-#
-# springbok_c_module(
-# NAME
-# simple_float_mul_c_module_emitc_static
-# SRC
-# "simple_float_mul.mlir"
-# FLAGS
-# "-iree-input-type=mhlo"
-# RVV_OFF
-# PUBLIC
-# )
-#
-function(springbok_c_module)
- cmake_parse_arguments(
- _RULE
- "PUBLIC;RVV_OFF"
- "NAME;SRC"
- "FLAGS"
- ${ARGN}
- )
-
- set(_MLIR_SRC "${_RULE_SRC}")
- string(FIND "${_RULE_SRC}" ".tflite" _IS_TFLITE REVERSE)
- if(${_IS_TFLITE} GREATER 0)
- iree_get_executable_path(IREE_IMPORT_TFLITE_TOOL "iree-import-tflite")
- set(_MLIR_SRC "${CMAKE_CURRENT_BINARY_DIR}/${_RULE_NAME}.mlir")
- get_filename_component(_SRC_PATH "${_RULE_SRC}" REALPATH)
- set(_ARGS "${_SRC_PATH}")
- list(APPEND _ARGS "-o")
- list(APPEND _ARGS "${_RULE_NAME}.mlir")
- # Only add the custom_command here. The output is passed to
- # iree_bytecode_module as the source.
- add_custom_command(
- OUTPUT
- "${_RULE_NAME}.mlir"
- COMMAND
- ${IREE_IMPORT_TFLITE_TOOL}
- ${_ARGS}
- DEPENDS
- ${IREE_IMPORT_TFLITE_TOOL}
- )
- endif()
-
- get_filename_component(_MLIR_SRC "${_MLIR_SRC}" REALPATH)
- iree_get_executable_path(_TRANSLATE_TOOL_EXECUTABLE "iree-compile")
- iree_get_executable_path(_LINKER_TOOL_EXECUTABLE "lld")
-
- # Replace dependencies passed by ::name with iree::package::name
- iree_package_ns(_PACKAGE_NS)
- list(TRANSFORM _RULE_DEPS REPLACE "^::" "${_PACKAGE_NS}::")
-
- # Prefix the library with the package name, so we get: iree_package_name.
- iree_package_name(_PACKAGE_NAME)
-
- set(_RULE_C_NAME "${_RULE_NAME}_c")
- set(_LIB_NAME "${_PACKAGE_NAME}_${_RULE_C_NAME}")
- set(_O_FILE_NAME ${_RULE_C_NAME}.o)
- set(_H_FILE_NAME ${_RULE_C_NAME}.h)
- set(_RULE_EMITC_NAME "${_RULE_NAME}_emitc")
- set(_EMITC_LIB_NAME "${_PACKAGE_NAME}_${_RULE_EMITC_NAME}")
- set(_EMITC_FILE_NAME ${_RULE_EMITC_NAME}.h)
-
- set(_CPU_FEATURES "+m,+f,+zvl512b,+zve32x")
- if (${_RULE_RVV_OFF})
- set(_CPU_FEATURES "+m,+f")
- endif()
-
- ## Example with VM C module.
- # Setup args for iree-compile.
- set(_TRANSLATE_ARGS ${_RULE_FLAGS})
- list(APPEND _TRANSLATE_ARGS "-iree-llvm-debug-symbols=false")
- list(APPEND _TRANSLATE_ARGS "-iree-mlir-to-vm-c-module")
- list(APPEND _TRANSLATE_ARGS "-iree-hal-target-backends=llvm-cpu")
- list(APPEND _TRANSLATE_ARGS "-iree-llvm-target-triple=riscv32-pc-linux-elf")
- list(APPEND _TRANSLATE_ARGS "-iree-llvm-target-cpu=generic-rv32")
- list(APPEND _TRANSLATE_ARGS "-iree-llvm-target-cpu-features=${_CPU_FEATURES}")
- list(APPEND _TRANSLATE_ARGS "-iree-llvm-target-abi=ilp32")
- list(APPEND _TRANSLATE_ARGS "-iree-llvm-link-embedded=false")
- list(APPEND _TRANSLATE_ARGS "-iree-llvm-link-static")
- list(APPEND _TRANSLATE_ARGS "-iree-llvm-system-linker-path=\"${_LINKER_TOOL_EXECUTABLE}\"")
- list(APPEND _TRANSLATE_ARGS "-iree-llvm-static-library-output-path=${_O_FILE_NAME}")
- list(APPEND _TRANSLATE_ARGS "${_MLIR_SRC}")
- list(APPEND _TRANSLATE_ARGS "-o")
- list(APPEND _TRANSLATE_ARGS "${_EMITC_FILE_NAME}")
-
- # Custom command for iree-compile to generate static library and C module.
- add_custom_command(
- OUTPUT
- ${_H_FILE_NAME}
- ${_O_FILE_NAME}
- ${_EMITC_FILE_NAME}
- COMMAND ${_TRANSLATE_TOOL_EXECUTABLE} ${_TRANSLATE_ARGS}
- DEPENDS ${_TRANSLATE_TOOL_EXECUTABLE} ${_MLIR_SRC} ${_LINKER_TOOL_EXECUTABLE}
- )
-
- add_library(${_LIB_NAME}
- STATIC
- ${_O_FILE_NAME}
- )
-
- SET_TARGET_PROPERTIES(
- ${_LIB_NAME}
- PROPERTIES
- LINKER_LANGUAGE C
- )
-
- add_library(${_EMITC_LIB_NAME}
- STATIC
- ${_EMITC_FILE_NAME}
- )
- target_compile_definitions(${_EMITC_LIB_NAME} PUBLIC EMITC_IMPLEMENTATION)
-
- SET_TARGET_PROPERTIES(
- ${_EMITC_LIB_NAME}
- PROPERTIES
- LINKER_LANGUAGE C
- )
-
- # Alias the iree_package_name library to iree::package::name.
- # This lets us more clearly map to Bazel and makes it possible to
- # disambiguate the underscores in paths vs. the separators.
- add_library(${_PACKAGE_NS}::${_RULE_C_NAME} ALIAS ${_LIB_NAME})
- add_library(${_PACKAGE_NS}::${_RULE_EMITC_NAME} ALIAS ${_EMITC_LIB_NAME})
- iree_package_dir(_PACKAGE_DIR)
- if(${_RULE_C_NAME} STREQUAL ${_PACKAGE_DIR})
- add_library(${_PACKAGE_NS} ALIAS ${_LIB_NAME})
- endif()
- if(${_RULE_EMITC_NAME} STREQUAL ${_PACKAGE_DIR})
- add_library(${_PACKAGE_NS} ALIAS ${_EMITC_LIB_NAME})
- endif()
-endfunction()
diff --git a/cmake/springbok_modules.cmake b/cmake/springbok_modules.cmake
index d83be9e..1bb68ec 100644
--- a/cmake/springbok_modules.cmake
+++ b/cmake/springbok_modules.cmake
@@ -50,7 +50,7 @@
set(_RVV_OFF_ARG "RVV_OFF")
endif()
- springbok_bytecode_module(
+ springbok_static_module(
NAME
"${_RULE_NAME}_bytecode_module_static"
SRC
@@ -60,10 +60,9 @@
FLAGS
"${_RULE_FLAGS}"
"${_RVV_OFF_ARG}"
- PUBLIC
)
- springbok_c_module(
+ springbok_static_module(
NAME
"${_RULE_NAME}_c_module_static"
SRC
@@ -71,7 +70,7 @@
FLAGS
"${_RULE_FLAGS}"
"${_RVV_OFF_ARG}"
- PUBLIC
+ EMITC
)
endfunction()
diff --git a/cmake/springbok_static_module.cmake b/cmake/springbok_static_module.cmake
new file mode 100644
index 0000000..52ca1d6
--- /dev/null
+++ b/cmake/springbok_static_module.cmake
@@ -0,0 +1,146 @@
+include(CMakeParseArguments)
+
+# springbok_static_module()
+#
+# A modified version of iree_static_linker_test to apply common iree-compile flags
+# Parameters:
+# NAME: Name of target.
+# SRC: Source file to compile into a bytecode module. Support relative path.
+# C_IDENTIFIER: Identifier to use for generate c embed code.
+# FLAGS: Flags to pass to the translation tool (list of strings).
+# RVV_OFF: Indicate RVV is OFF (default: ON)
+# EMITC: Uses EmitC to output C code instead of VM bytecode.
+#
+# Examples:
+# springbok_static_module(
+# NAME
+# daredevel_bytecode_module_static
+# SRC
+# "daredevil_quant.tflite"
+# C_IDENTIFIER
+# "daredevil_bytecode_module_static"
+# FLAGS
+# "-iree-input-type=tosa"
+# )
+#
+# springbok_static_module(
+# NAME
+# simple_float_mul_c_module_static
+# SRC
+# "simple_float_mul.mlir"
+# C_IDENTIFIER
+# "simple_float_mul"
+# FLAGS
+# "-iree-input-type=mhlo"
+# RVV_OFF
+# EMITC
+# )
+#
+function(springbok_static_module)
+ cmake_parse_arguments(
+ _RULE
+ "RVV_OFF;EMITC"
+ "NAME;SRC;C_IDENTIFIER"
+ "FLAGS"
+ ${ARGN}
+ )
+
+ set(_MLIR_SRC "${_RULE_SRC}")
+ string(FIND "${_RULE_SRC}" ".tflite" _IS_TFLITE REVERSE)
+ if(${_IS_TFLITE} GREATER 0)
+ iree_get_executable_path(IREE_IMPORT_TFLITE_TOOL "iree-import-tflite")
+ set(_MLIR_SRC "${CMAKE_CURRENT_BINARY_DIR}/${_RULE_NAME}.mlir")
+ get_filename_component(_SRC_PATH "${_RULE_SRC}" REALPATH)
+ set(_ARGS "${_SRC_PATH}")
+ list(APPEND _ARGS "-o")
+ list(APPEND _ARGS "${_RULE_NAME}.mlir")
+ # Only add the custom_command here. The output is passed to
+ # iree_bytecode_module as the source.
+ add_custom_command(
+ OUTPUT
+ "${_RULE_NAME}.mlir"
+ COMMAND
+ ${IREE_IMPORT_TFLITE_TOOL}
+ ${_ARGS}
+ DEPENDS
+ ${IREE_IMPORT_TFLITE_TOOL}
+ )
+ endif()
+
+ iree_get_executable_path(_COMPILER_TOOL "iree-compile")
+ iree_package_name(_PACKAGE_NAME)
+ iree_package_ns(_PACKAGE_NS)
+
+ set(_CPU_FEATURES "+m,+f,+zvl512b,+zve32x")
+ if (${_RULE_RVV_OFF})
+ set(_CPU_FEATURES "+m,+f")
+ endif()
+
+ # Set common iree-compile flags
+ set(_COMPILER_ARGS ${_RULE_FLAGS})
+ list(APPEND _COMPILER_ARGS "--iree-hal-target-backends=llvm-cpu")
+ list(APPEND _COMPILER_ARGS "-iree-llvm-debug-symbols=false")
+ list(APPEND _COMPILER_ARGS "-iree-vm-bytecode-module-strip-source-map=true")
+ list(APPEND _COMPILER_ARGS "-iree-vm-emit-polyglot-zip=false")
+ list(APPEND _COMPILER_ARGS "-iree-llvm-target-triple=riscv32-pc-linux-elf")
+ list(APPEND _COMPILER_ARGS "-iree-llvm-target-cpu=generic-rv32")
+ list(APPEND _COMPILER_ARGS "-iree-llvm-target-cpu-features=${_CPU_FEATURES}")
+ list(APPEND _COMPILER_ARGS "-iree-llvm-target-abi=ilp32")
+ list(APPEND _COMPILER_ARGS "-iree-llvm-link-embedded=false")
+
+ if(_RULE_EMITC)
+ set(_O_FILE_NAME "${_RULE_NAME}_c.o")
+ set(_H_FILE_NAME "${_RULE_NAME}_emitc.h")
+ set(_MODULE_NAME "${_RULE_NAME}_emitc")
+ iree_c_module(
+ NAME
+ ${_MODULE_NAME}
+ SRC
+ "${_MLIR_SRC}"
+ FLAGS
+ ${_COMPILER_ARGS}
+ H_FILE_OUTPUT
+ "${_H_FILE_NAME}"
+ STATIC_LIB_PATH
+ "${_O_FILE_NAME}"
+ NO_RUNTIME
+ )
+ else() # bytecode module path
+ # Generate the embed data with the bytecode module.
+ set(_O_FILE_NAME "${_RULE_NAME}.o")
+ set(_H_FILE_NAME "${_RULE_NAME}.h")
+ set(_MODULE_NAME "${_RULE_NAME}")
+ if(NOT _RULE_C_IDENTIFIER)
+ set(_RULE_C_IDENTIFIER "${_PACKAGE_NAME}_${_RULE_NAME}")
+ endif()
+
+ iree_bytecode_module(
+ NAME
+ ${_MODULE_NAME}
+ SRC
+ "${_MLIR_SRC}"
+ FLAGS
+ ${_COMPILER_ARGS}
+ STATIC_LIB_PATH
+ "${_O_FILE_NAME}"
+ C_IDENTIFIER
+ "${_RULE_C_IDENTIFIER}"
+ PUBLIC
+ )
+ endif(_RULE_EMITC)
+
+ set(_NAME "${_RULE_NAME}_lib")
+ set(_LIB_NAME "${_PACKAGE_NAME}_${_NAME}")
+ add_library(${_LIB_NAME}
+ STATIC
+ ${_O_FILE_NAME}
+ )
+ SET_TARGET_PROPERTIES(
+ ${_LIB_NAME}
+ PROPERTIES
+ LINKER_LANGUAGE C
+ )
+
+ # Set alias for this static library to be used later in the function.
+ add_library(${_PACKAGE_NS}::${_NAME} ALIAS ${_LIB_NAME})
+endfunction()
diff --git a/model_util/CMakeLists.txt b/model_util/CMakeLists.txt
index 40c7118..ce3cae0 100644
--- a/model_util/CMakeLists.txt
+++ b/model_util/CMakeLists.txt
@@ -1,17 +1,15 @@
iree_cc_library(
NAME
- util
+ util_base
HDRS
"util.h"
SRCS
"util.c"
DEPS
::alloc
- device::device_static_loader
iree::base
iree::hal
iree::hal::local
- iree::hal::local::loaders::static_library_loader
iree::hal::drivers::local_sync::sync_driver
iree::modules::hal
iree::vm
@@ -20,6 +18,15 @@
iree_cc_library(
NAME
+ util_static
+ DEPS
+ ::util_base
+ device::device_static_loader
+ iree::hal::local::loaders::static_library_loader
+)
+
+iree_cc_library(
+ NAME
alloc
HDRS
"alloc.h"
diff --git a/samples/microbenchmarks/CMakeLists.txt b/samples/microbenchmarks/CMakeLists.txt
index df7230b..ee7135a 100644
--- a/samples/microbenchmarks/CMakeLists.txt
+++ b/samples/microbenchmarks/CMakeLists.txt
@@ -4,7 +4,7 @@
# https://github.com/llvm/llvm-project/blob/0eeab8b/llvm/lib/Target/RISCV/RISCVSubtarget.cpp#L30-L51
# -------------------------------------------------------------------------------
-springbok_c_module(
+springbok_static_module(
NAME
conv1x1_test
SRC
@@ -13,6 +13,7 @@
"-iree-input-type=tosa"
"-riscv-v-vector-bits-min=512"
"-riscv-v-fixed-length-vector-lmul-max=8"
+ EMITC
PUBLIC
)
@@ -22,9 +23,9 @@
SRCS
"conv1x1_test.c"
DEPS
- ::conv1x1_test_c
::conv1x1_test_emitc
- model_util::util
+ ::conv1x1_test_lib
+ model_util::util_static
LINKOPTS
"LINKER:--defsym=__stack_size__=64k"
COPTS
diff --git a/samples/simple_vec_mul/CMakeLists.txt b/samples/simple_vec_mul/CMakeLists.txt
index c521d7f..6f46eca 100644
--- a/samples/simple_vec_mul/CMakeLists.txt
+++ b/samples/simple_vec_mul/CMakeLists.txt
@@ -50,10 +50,10 @@
SRCS
"float_vec.c"
DEPS
- ::simple_float_mul_bytecode_module_static
::simple_float_mul_bytecode_module_static_c
+ ::simple_float_mul_bytecode_module_static_lib
iree::vm::bytecode_module
- model_util::util
+ model_util::util_static
LINKOPTS
"LINKER:--defsym=__stack_size__=20k"
)
@@ -64,9 +64,9 @@
SRCS
"float_vec.c"
DEPS
- ::simple_float_mul_c_module_static_c
::simple_float_mul_c_module_static_emitc
- model_util::util
+ ::simple_float_mul_c_module_static_lib
+ model_util::util_static
LINKOPTS
"LINKER:--defsym=__stack_size__=20k"
COPTS
@@ -79,10 +79,10 @@
SRCS
"int_vec.c"
DEPS
- ::simple_int_mul_bytecode_module_static
::simple_int_mul_bytecode_module_static_c
+ ::simple_int_mul_bytecode_module_static_lib
iree::vm::bytecode_module
- model_util::util
+ model_util::util_static
LINKOPTS
"LINKER:--defsym=__stack_size__=20k"
)
@@ -93,9 +93,9 @@
SRCS
"int_vec.c"
DEPS
- ::simple_int_mul_c_module_static_c
::simple_int_mul_c_module_static_emitc
- model_util::util
+ ::simple_int_mul_c_module_static_lib
+ model_util::util_static
LINKOPTS
"LINKER:--defsym=__stack_size__=20k"
COPTS