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

   ## Summary
   
   Two-commit PR:
   
   1. Bump `3rdparty/tvm-ffi` from `3c35034` to `98d0029` and migrate all 21 
in-tree `SEqHashDef()` call sites to `SEqHashDefRecursive()` (the conservative 
variant matching the prior default behavior). Six let-style sites carry 
`TODO(tqchen)` comments indicating they should flip to `SEqHashDefNonRecursive` 
after the new tvm-ffi ships on pypi.
   
   2. Phase out `include/tvm/ir/repr.h`. The bumped tvm-ffi now provides 
ostream `operator<<` for `Any`/`ObjectRef`/`Variant`/`Optional` directly in 
`tvm/ffi/extra/dataclass.h`, making the in-tree thin wrapper redundant. Rewrite 
8 includers, rename `src/ir/repr.cc` → `src/ir/access_path_repr.cc` (preserves 
`node.AsRepr` + AccessPath/AccessStep `__ffi_repr__` registrations; drops 
zero-caller `tvm::Dump()`), delete the header. Also fixes a Python-level import 
regression in `python/tvm/ir/attrs.py` caused by the bump: tvm_ffi 0.1.12.dev 
changes the field-registration guard from `not hasattr(cls, name)` to `name not 
in cls.__dict__`, which breaks `DictAttrs` because `DictAttrsNode` registers a 
reflection field named `"__dict__"` — Python forbids installing a class 
descriptor with that name via `setattr`. Fix: define `__dict__` as an explicit 
Python property on `DictAttrs` so the auto-installation is skipped.
   
   ## TODO follow-ups
   
   After the new tvm-ffi releases on pypi, flip the 6 `SEqHashDefRecursive()` 
sites that carry `TODO(tqchen)` comments to `SEqHashDefNonRecursive()`. 
Locations are enumerated in the commit body of commit 1.
   
   ## Test plan
   
   - [x] Full ninja build clean (638/638).
   - [x] 118/118 cpptest pass.
   - [x] `import tvm; tvm.cuda(0).exist` returns True.
   - [x] `tests/python/all-platform-minimal-test`: 37 passed, 105 skipped.
   - [x] `tests/python/relax/test_struct_info.py`: 9 passed.
   - [x] `git grep -nE 'SEqHashDef\(|"tvm/ir/repr\.h"'` is empty.
   - [x] `pre-commit run --all-files` clean.


-- 
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