[EarlyCSE][OpaquePointers]Replace assert with return for mask type check.
When EarlyCSE tries to common vector masked loads/stores, it first checks that they have same base operand and then assumes that this is enough for mask types to be equal. This is true for typed pointers but false for opaque ones - two loads of different vector sizes from same base pointer '%b' are the same, `ptr %b`. (For typed pointers, `%b` was cast to vector pointer type so bases were different). Change assert to return from lambda `isSubmask` so this transformation properly works with opaque pointers. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D131251
Loading
Please sign in to comment