Skip to content

Unify IterDomain::split with SplitTransform and similar for merge#1329

Merged
jacobhinkle merged 11 commits intomainfrom
unify_split_merge
Nov 20, 2023
Merged

Unify IterDomain::split with SplitTransform and similar for merge#1329
jacobhinkle merged 11 commits intomainfrom
unify_split_merge

Conversation

@jacobhinkle
Copy link
Collaborator

Currently, MergeTransform and SplitTransform, which are the classes used to perform reshape operations, do not re-use the splitting and merging operations used in scheduling, namely the static methods IterDomain::{split,merge}. This leads to needing to maintain changes in both as I recently found out when debugging #1174. We can actually already notice they have diverged with respect to IndexType::GatherScatter handling.

This PR simply calls the static IterDomain method from each of the reshape *Transform classes. Since those classes also need to set the rfactor-product flag on the produced IterDomains, I added a flag to the static methods that is only used during reshape.

@jacobhinkle
Copy link
Collaborator Author

!build

@jacobhinkle jacobhinkle marked this pull request as ready for review November 17, 2023 19:44
@jacobhinkle
Copy link
Collaborator Author

!build --diff

@jacobhinkle
Copy link
Collaborator Author

!build --diff

@jacobhinkle jacobhinkle merged commit 60ce44d into main Nov 20, 2023
@jacobhinkle jacobhinkle deleted the unify_split_merge branch November 20, 2023 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants