[mlir][LLVM] Add support for arrays in `SplitStores` pattern
The pattern so far has only supported splitting stores into struct types, marking arrays as explicitly unsupported. This would lead to stores into arrays not being made type-consistent like structs and therefore also not being properly split by SROA and mem2reg. This patch adds support for array types by creating a common abstraction for both structs and arrays, making an array of size n essentially be treated like a struct with n fields of the arrays element type. This gives us immediate feature parity without special casing for either of the types. Differential Revision: https://reviews.llvm.org/D154840
Loading
Please sign in to comment