Lunderberg opened a new pull request, #16826: URL: https://github.com/apache/tvm/pull/16826
Prior to this commit, `relax.op.strided_slice` stored the `axes`, `begin`, `end`, and `strides` in the `CallNode::attrs`. However, the attributes are only intended to store static values. The indices used used for `relax.op.strided_slice` must frequently be in terms of symbolic shape variables, which should not be stored in the attributes. While some utilities have special handling for `relax.op.strided_slice` (e.g. `tvm::relax::Bind`), many do not (e.g. `tvm::relax::WellFormed` and `tvm::relax::FreeSymbolicVars`). As a result, the symbolic expressions in `relax.op.strided_slice` will fail to be updated in generic utilities, and will fail to trigger safeguards when this occurs. This commit changes the representation of `relax.op.strided_slice` to store all arguments in the `relax::CallNode::args`, rather than the `relax::CallNode::attrs`. As mentioned in a comment from https://github.com/apache/tvm/pull/13987, which initially implemented `relax.op.strided_slice`, this was an intended refactor once `relax::PrimValue` was fully supported. -- 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]
