Files
clang-p2996/mlir/lib/Dialect/LLVMIR/Transforms
Markus Böck 569f073191 [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
2023-07-10 15:55:07 +02:00
..