Arm backend: Align dim_order ops handling #14064
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Removes all use of the _to_copy/clone operator. These ops are lowered to _to_dim_order_copy/ clone_dim_order in the to_edge step when skip_dim_order=False, which we expect.
Remove all dim_order kwargs in the to_tosa_memory_format_pass since we set our own dim_order.
Add a pass for storing the initial output dim_order to verify that it has not changed unexpectedly.
Replace RemoveClonePass with more general RemoveNoopPass which also handles to_dim_order ops casting to the same dtype. Move to after the to_tosa_memory_pass to tidy up after it.
Change the delegation of to_copy_dim_order_support to pick up casts of the same dtype, as they are removed as noops anyways.
Minor fixes:
cc @digantdesai @freddan80 @per @zingo @oscarandersson8218