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

   Prior to this commit, if a TIR variable was required to compute the output 
of `BlockBuilder.call_te`, but that TIR variable could not be inferred from the 
shape of any tensor arguments, it would be provided in an optional `tir_vars` 
argument to `R.call_tir`.  In C++, this would be then be accessed as an optional
   `call->args[2].as<ShapeExprNode>()`.
   
   This extra argument can cause unexpected bugs.  For example, the bug that 
was fixed in https://github.com/apache/tvm/pull/17086 was caused by 
`RewriteDataflowReshape` identifying the output buffer using 
`prim_func->buffer_map.Get(prim_func->params.back())`, which is only correct if 
`tir_vars` is empty.  Rather than fixing these issues as they come up, it would 
be better to make the general Relax guarantees stronger by removing the 
`tir_vars` argument altogether.
   
   Use of extra `R.shape` parameter to specify additional `tir_vars` predates 
the existence of `relax::PrimValue`, and is no longer required.  This commit 
updates `BlockBuilder.call_te` to use additional `relax.PrimValue` arguments to 
handle symbolic values that cannot be inferred from tensor shapes, rather than 
`tir_vars`.


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

Reply via email to