tqchen opened a new issue #4647: Track Refactor Items and Update Guide
URL: https://github.com/apache/incubator-tvm/issues/4647
 
 
   We are in the process of refactoring recently. Some of them are cleanup of 
legacy code in the new version, some other prepares code changes for #4617 
   
   This thread tracks related infra changes and guides to sync the code with 
the mainline as suggested by @merrymercy . Please feel free to reply to add 
more suggestions
   
   ## Node Object Unification
   
   - Rationale: remove a few redirected macros and alias, unify node and object
   - PRs: https://github.com/apache/incubator-tvm/pull/4603
   - NodeXYZ -> ObjectXYZ
   - TVM_DEFINE_NODE_REF: define the class and TVM_DEFINE_OBJECT_REF_METHODS
   
   ## IRMutator Visitor Functor Unification
   
   - Rationale: Unify mutator and functor
   - PRs: https://github.com/apache/incubator-tvm/pull/4607 
https://github.com/apache/incubator-tvm/pull/4606
   - Add ```#include<tvm/ir_functor_ext.h>``` for places that need mutator
   - IRMutator: sub-class StmtMutator or StmtExprMutator instead
   - IRVisitor: sub-class StmtVisitor or StmtExprVisitor instead
   
   ## TVM_REGISTER_API
   
   - Rationale: remove indirection
   - PR: https://github.com/apache/incubator-tvm/pull/4621 
   - Rename to TVM_REGISTER_GLOBAL in ```runtime/registry.h```
   
   ## SeqStmt
   
   - Rationale: avoid nested recursion in long blocks
   - PR https://github.com/apache/incubator-tvm/pull/4627
   - Use SeqStmt instead to constructs sequences
   
   ## set_body_typed
   
   - Rationale: avoid duplication in terms of type signatures
   - https://github.com/apache/incubator-tvm/pull/4623
   - Remove type signature argument in set_body_typed
   ```c++
   // before
   TVM_REGISTER_GLOBAL("add")
   .set_body_typed<int(int)>([](int x) { return x + 1; }
   
   // after
   TVM_REGISTER_GLOBAL("add")
   .set_body_typed([](int x) { return x + 1; }
   ```
   
   
   
   

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to