Overview of the most significant passes and their function below.
Channels Last Reshape
ExecuTorch tensors tend to be contiguous before passing them into delegates, while XNNPACK only accepts channels-last memory layout. This pass minimizes the number of permutation operators inserted to pass in channels-last memory format.
Conv1d to Conv2d
Allows us to delegate Conv1d nodes by transforming them to Conv2d
Conv and BN Fusion
Fuses batch norm operations with the previous convolution node
Applying the partitioner
Dynamic quantization should be applied first by xnnpack when both xnnpack and xnnpack_extended_ops are enabled