tflite-micro/tensorflow/lite/micro
David Davis 8f1f3b2623
WHILE operator input/output copy fix (#3633)
@tensorflow/micro

Remove extraneous tensor copy operation after first invocation of condition subgraph.

Move copy of operator inputs to outputs, such that it occurs before the first invocation of the condition subgraph. This preserves the operator inputs when one or more of them is the output of DECODE, and alternate decompression memory is in use. This is because the output of DECODE is for immediate consumption by the next operator in the graph (WHILE), yet it is possible for the WHILE subgraph invocations to share memory with the original DECODE output.

Update the unit test for multiple invocations of the condition and body subgraphs.

When copying tensors between operator inputs/outputs and subgraph inputs/outputs, check if the source and destination tensors share memory.

bug=fixes #3632
2026-07-20 17:58:59 +00:00
..
arc_custom
arc_emsdp Typo in code (#3447) 2026-02-11 20:34:42 +00:00
arena_allocator Typo in code (#3447) 2026-02-11 20:34:42 +00:00
benchmarks Typo in code (#3447) 2026-02-11 20:34:42 +00:00
bluepill
ceva
chre
compression feat(compression): add Huffman and Pruning compression support (#3612) 2026-06-30 22:53:59 +00:00
cortex_m_corstone_300
cortex_m_generic
docs Added Error Handling & Defensive Programming Guide (#3539) 2026-06-30 22:24:50 +00:00
examples Clean-up unused bzl load (#3576) 2026-05-26 22:55:55 +00:00
hexagon
integration_tests No tensorflow 2 (#3548) 2026-05-06 21:17:46 +00:00
kernels WHILE operator input/output copy fix (#3633) 2026-07-20 17:58:59 +00:00
memory_planner Typo in code (#3447) 2026-02-11 20:34:42 +00:00
models
python build(bazel): inject tflite_micro shim via tflm_py_* wrappers (#3573) 2026-05-26 19:51:58 +00:00
riscv32_generic
testing Typo in code (#3447) 2026-02-11 20:34:42 +00:00
tflite_bridge
tools Fix benchmark tool alternate profiler (#3629) 2026-07-13 18:10:56 +00:00
BUILD
build_def.bzl
compatibility.h
compression.h
debug_log.cc
debug_log.h
fake_micro_context.cc
fake_micro_context.h
fake_micro_context_test.cc [T2] Refactor Group 4 (#3371) 2026-01-30 17:29:19 +00:00
flatbuffer_utils.cc
flatbuffer_utils.h
flatbuffer_utils_test.cc [Testing] New Testing API (#3311) 2026-01-29 17:17:35 +00:00
hexdump.cc
hexdump.h
hexdump_test.cc [Testing] New Testing API (#3311) 2026-01-29 17:17:35 +00:00
memory_arena_threshold_test.cc [Testing] New Testing API (#3311) 2026-01-29 17:17:35 +00:00
memory_helpers.cc
memory_helpers.h
memory_helpers_test.cc [Testing] New Testing API (#3311) 2026-01-29 17:17:35 +00:00
micro_allocation_info.cc
micro_allocation_info.h
micro_allocation_info_test.cc [Testing] New Testing API (#3311) 2026-01-29 17:17:35 +00:00
micro_allocator.cc Typo in code (#3447) 2026-02-11 20:34:42 +00:00
micro_allocator.h Typo in code (#3447) 2026-02-11 20:34:42 +00:00
micro_allocator_test.cc [Testing] New Testing API (#3311) 2026-01-29 17:17:35 +00:00
micro_arena_constants.h
micro_common.h Typo in code (#3447) 2026-02-11 20:34:42 +00:00
micro_context.cc
micro_context.h
micro_graph.h
micro_interpreter.cc
micro_interpreter.h Typo in code (#3447) 2026-02-11 20:34:42 +00:00
micro_interpreter_context.cc
micro_interpreter_context.h
micro_interpreter_context_test.cc Typo in code (#3447) 2026-02-11 20:34:42 +00:00
micro_interpreter_graph.cc
micro_interpreter_graph.h
micro_interpreter_graph_test.cc [T2] Refactor Group 0 (#3367) 2026-01-30 17:23:04 +00:00
micro_interpreter_test.cc [Testing] New Testing API (#3311) 2026-01-29 17:17:35 +00:00
micro_log.cc
micro_log.h
micro_log_test.cc [Testing] New Testing API (#3311) 2026-01-29 17:17:35 +00:00
micro_mutable_op_resolver.h
micro_mutable_op_resolver_test.cc [Testing] New Testing API (#3311) 2026-01-29 17:17:35 +00:00
micro_op_resolver.cc
micro_op_resolver.h
micro_profiler.cc
micro_profiler.h
micro_profiler_interface.h
micro_resource_variable.cc
micro_resource_variable.h Typo in code (#3447) 2026-02-11 20:34:42 +00:00
micro_resource_variable_test.cc [T2] Refactor Group 0 (#3367) 2026-01-30 17:23:04 +00:00
micro_time.cc Typo in code (#3447) 2026-02-11 20:34:42 +00:00
micro_time.h
micro_time_test.cc [Testing] New Testing API (#3311) 2026-01-29 17:17:35 +00:00
micro_utils.cc
micro_utils.h
micro_utils_test.cc [Testing] New Testing API (#3311) 2026-01-29 17:17:35 +00:00
mock_micro_graph.cc
mock_micro_graph.h
recording_micro_allocator.cc
recording_micro_allocator.h
recording_micro_allocator_test.cc [T2] Refactor Group 0 (#3367) 2026-01-30 17:23:04 +00:00
recording_micro_interpreter.h
span.h
span_test.cc [Testing] New Testing API (#3311) 2026-01-29 17:17:35 +00:00
static_vector.h
static_vector_test.cc [Testing] New Testing API (#3311) 2026-01-29 17:17:35 +00:00
system_setup.cc
system_setup.h Typo in code (#3447) 2026-02-11 20:34:42 +00:00
test_helper_custom_ops.cc
test_helper_custom_ops.h
test_helpers.cc [Testing] New Testing API (#3311) 2026-01-29 17:17:35 +00:00
test_helpers.h
testing_helpers_test.cc [Testing] New Testing API (#3311) 2026-01-29 17:17:35 +00:00