Skip to content

[Bump] tvm-ffi to 59da4c0#19681

Merged
tlopex merged 1 commit into
apache:mainfrom
tqchen:tvm-bump-tvm-ffi-submodule-to-latest-upstream
Jun 6, 2026
Merged

[Bump] tvm-ffi to 59da4c0#19681
tlopex merged 1 commit into
apache:mainfrom
tqchen:tvm-bump-tvm-ffi-submodule-to-latest-upstream

Conversation

@tqchen

@tqchen tqchen commented Jun 6, 2026

Copy link
Copy Markdown
Member

[Bump] tvm-ffi to 59da4c0

Bumps 3rdparty/tvm-ffi from 98d0029 to 59da4c0, picking up seven
commits from apache/tvm-ffi:

The bump range is additive for almost all of the above (performance
improvements to Expected, new Python tensor methods, AnyView ABI
alignment, CI toolchain switch). One commit required a TVM-side
migration:

apache/tvm-ffi#598 moved the __ffi_repr__ hooks for
ffi::reflection::AccessPath and AccessStep into tvm-ffi itself
(src/ffi/extra/reflection_extra.cc, compiled into libtvm_ffi.so).
TVM already registered the same hooks in src/ir/access_path_repr.cc,
causing a double-registration abort at library load time. This commit
removes the duplicate AccessPath/AccessStep __ffi_repr__ registrations
from access_path_repr.cc, keeping only the node.AsRepr global function
that tvm-ffi does not provide. The format emitted by tvm-ffi's hooks is
equivalent for common cases; missing-item steps now use the
[<missing:...>] notation from tvm-ffi rather than the ...? suffix
that TVM used previously.

Bumps `3rdparty/tvm-ffi` from 98d0029 to 59da4c0, picking up seven
commits from apache/tvm-ffi:

- [FEAT] Optimize Expected<T> for minimal compiled code and efficiency (apache#599)
- [FEAT] Streamline AccessPath/AccessStep print format (apache#598)
- [CI] Use uv tool run for sdist build instead of pipx (apache#600)
- [CORE] Make AnyView trivially copyable — match C-ABI struct passing (apache#602)
- feat(python): add tensor methods to align with C++ APIs (apache#604)
- [FIX] Drop test_empty_tensor_attributes (numpy dlpack stride change) (apache#607)
- [TEST] Relax test_shared_dag_hash_scaling_not_exponential ratio to 4x (apache#612)

The bump range is additive for almost all of the above (performance
improvements to Expected<T>, new Python tensor methods, AnyView ABI
alignment, CI toolchain switch). One commit required a TVM-side
migration:

apache/tvm-ffi#598 moved the `__ffi_repr__` hooks for
`ffi::reflection::AccessPath` and `AccessStep` into tvm-ffi itself
(src/ffi/extra/reflection_extra.cc, compiled into libtvm_ffi.so).
TVM already registered the same hooks in src/ir/access_path_repr.cc,
causing a double-registration abort at library load time. This commit
removes the duplicate AccessPath/AccessStep `__ffi_repr__` registrations
from access_path_repr.cc, keeping only the `node.AsRepr` global function
that tvm-ffi does not provide. The format emitted by tvm-ffi's hooks is
equivalent for common cases; missing-item steps now use the
`[<missing:...>]` notation from tvm-ffi rather than the `...?` suffix
that TVM used previously.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the 3rdparty/tvm-ffi subproject commit to 59da4c0b82af0d499dae34bd89ef010f64d3ff45. Consequently, duplicate registrations of __ffi_repr__ hooks for ffi::reflection::AccessPath and AccessStep in src/ir/access_path_repr.cc have been removed, as they are now handled directly by tvm-ffi to prevent double-registration aborts at library load time. Unused headers and stream inclusions were also cleaned up. There are no review comments, and I have no additional feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@tlopex tlopex merged commit 498b8ed into apache:main Jun 6, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants