Files
apache--tvm/python
HoYi 90c678abc9 [Relax][Frontend][TFLite] Fix STRIDED_SLICE negative stride and add STRIDED_SLICE/SPLIT_V tests (#19468)
## Summary

This PR continues the TFLite frontend work tracked in #18971 for
`STRIDED_SLICE` and `SPLIT_V`.

Since the dynamic `FILL` / `SPLIT_V` partial-implementation work has
already been handled separately in #19433, this PR focuses on the
remaining pieces in this branch:
- fixing negative-stride `STRIDED_SLICE` conversion in the TFLite
frontend
  - adding regression coverage for `STRIDED_SLICE` and static `SPLIT_V`

  Relates to #18971.

  ## Changes

  1. **`STRIDED_SLICE` negative-stride fix**
- Update the TFLite frontend `convert_strided_slice` handling of
`end_mask` when `stride < 0`.
- Use an exclusive lower bound compatible with Relax slicing semantics
so reverse slices like `x[::-1]` include index `0` correctly.

  2. **TFLite frontend test coverage**
- Add `test_strided_slice_stride` to cover non-unit stride handling.
- Add `test_strided_slice_negative_stride` to cover reverse slicing with
negative strides.
     - Add `test_split_v_static` to cover static `SPLIT_V` conversion.

  3. **Scope clarification**
- Keep this PR focused on the remaining `STRIDED_SLICE` / `SPLIT_V` work
from #18971.
- Exclude the dynamic `FILL` / `SPLIT_V` changes that are already
addressed in #19433.

  ## Testing

  ```bash
python -m pytest -n 1
tests/python/relax/test_frontend_tflite.py::test_split_v_static -q
python -m pytest -n 1
tests/python/relax/test_frontend_tflite.py::test_strided_slice_stride -q
python -m pytest -n 1
tests/python/relax/test_frontend_tflite.py::test_strided_slice_negative_stride
-q
```
  ## Result

  - The added STRIDED_SLICE and SPLIT_V tests passed locally.
  - The negative-stride STRIDED_SLICE path now matches Relax slicing semantics.
2026-04-29 16:53:59 -04:00
..