tqchen opened a new pull request, #20032:
URL: https://github.com/apache/tvm/pull/20032

   ## Summary
   
   - bump tvm-ffi and include the device definition where its `DLDevice` traits 
are instantiated
   - keep only the required Tensor wrapper layout fix and register `ir.Type` 
before reflected `Expr` fields can materialize a fallback wrapper
   - preserve `BaseFunc.with_attr` callers by moving only method-private 
results, never the canonical `self` wrapper
   
   ## Rationale
   
   The tvm-ffi lifetime update requires a replacement wrapper to fit the layout 
already registered for the same type index. `runtime.Tensor` replaces the core 
`ffi.Tensor` wrapper, so it must use empty slots. The ordinary TVM mixins are 
first-registered with their concrete descendants and may safely retain normal 
Python dictionaries; the additional mixin and explicit-dictionary slot changes 
are not required.
   
   Object tying also means `BaseFuncCopy(self)` may return `self`. Passing that 
wrapper through `_move()` invalidates the caller. The first update now passes 
the alias as an lvalue, forcing native copy-on-write to create a private 
result. Only later dictionary updates move a result that is not `self` and has 
not escaped the method.
   
   ## Validation
   
   - built an exact CPython 3.12 wheel from tvm-ffi `21e30c3b1d` and rebuilt 
TVM against it
   - direct Type/function/detach regressions: 3 passed
   - complete IR plus focused Relax coverage: 111 passed
   - prior Relax failure set: 157 passed, 9 skipped
   - runtime probe for `relax.Function`, `relax.ExternFunc`, and 
`tirx.PrimFunc`: original wrappers preserved; single- and multi-attribute 
results distinct and valid
   - all touched-file pre-commit hooks passed
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to