This simplifies the vector to LLVM lowering. Previously, both vector.load/store and vector.transfer_read/write lowered directly to LLVM. With this commit, there is a single path to LLVM vector load/store instructions and vector.transfer_read/write ops must first be lowered to vector.load/store ops.
- Remove vector.transfer_read/write to LLVM lowering.
- Allow non-unit memref strides on all but the most minor dimension for vector.load/store ops.
- Add maxTransferRank option to populateVectorTransferLoweringPatterns.
- vector.transfer_reads with changing element type can no longer be lowered to LLVM. (This functionality is needed only for SPIRV.)
Depends On D106117