Lunderberg opened a new pull request, #12724: URL: https://github.com/apache/tvm/pull/12724
When lowering a non-opaque TIR block to an opaque block in `tir.transform.ConvertBlocksToOpaque`, the iter vars in BlockNode::iter_vars` are replaced by their values in `BlockRealizeNode::iter_values` wherever they occur in `BlockRealize`. However, prior to this commit, the `BlockRealizeNode::predicate` was visited before the variable definition of `BlockNode::iter_vars`. As a result, StructuralHash and StructuralEqual would treat any occurrences as undefined variables, which is inconsistent with how they are handled in `ConvertBlocksToOpaque`. This commit resolves the inconsistency by changing the visit order such that `BlockRealizeNode::block` is visited before `BlockRealizeNode::predicate`. -- 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: commits-unsubscr...@tvm.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org