tqchen opened a new pull request, #19933: URL: https://github.com/apache/tvm/pull/19933
## Rationale After `PrimExpr` and `Expr` share one typed expression hierarchy, an expression’s type is part of its semantic identity. Structurally identical syntax with different types must compare and hash differently, while source spans remain diagnostic metadata. ## Invariant `ExprNode::ty` participates in structural equality and hashing unless a node has explicit symbol identity. Relax variables retain exact type identity, while global variables remain module-symbol identities whose types are derived from their definitions. `SeqExpr` establishes mappings from bindings before comparing symbolic result types. ## Changes - include expression types in generic structural equality and hashing - preserve explicit global-variable and Relax-variable identity semantics - compare and hash `SeqExpr` fields in definition-safe order - normalize narrow construction and transformation boundaries exposed by type-sensitive identity - add focused coverage for calls, literals, variables, hashing, ignored spans, and mismatch paths -- 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]
