[PATCH] D113888: [SDAG] Use UnknownSize for masked load/store MMO size

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 16 11:22:34 PST 2021


efriedma added a comment.

> They do not necessarily load/store the entire vector width, and treating them as such can lead to incorrect aliasing information (for example, if the underlying object is smaller than the size of the vector).

Does this mean any operation that's a mayload/maystore needs to have the size of the operand set to "unknown"?  I suspect we need to do significantly more work than just this patch if we want memory operands to work this way.  (e.g. type legalization, if conversion.)  What happens if we just say that size of a memory location is supposed to represent an upper bound, at least for now?

> we shouldn't be passing MemoryLocation::UnknownSize

If that's true, maybe we need to assert this?  Apparently we are actually passing in MemoryLocation::UnknownSize in some places.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D113888/new/

https://reviews.llvm.org/D113888



More information about the llvm-commits mailing list