Substitute now takes a std::function to customize more replacing behaviors.
Co-authored-by: Siyuan Feng <hzfengsy@sjtu.edu.cn>
Co-authored-by: Siyuan Feng <hzfengsy@sjtu.edu.cn>
* [REFACTOR][TIR] Introduce ExprDeepEqual, Remove IRDeepCompare
This PR introduces ExprDeepEqual which reuses the StructuralEqual infra.
We migrated the usecases of ir_pass::Equal to ExprDeepEqual and StructuralEqual.
* Address comments