[all-commits] [llvm/llvm-project] 32b6c1: [SDAG] Use UnknownSize for masked load/store MMO size

David Green via All-commits all-commits at lists.llvm.org
Tue Nov 23 01:48:09 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 32b6c17b29079e7d2ac61cdc90b10983ee97d78d
      https://github.com/llvm/llvm-project/commit/32b6c17b29079e7d2ac61cdc90b10983ee97d78d
  Author: David Green <david.green at arm.com>
  Date:   2021-11-23 (Tue, 23 Nov 2021)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
    M llvm/test/CodeGen/Thumb2/mve-masked-store-mmo.ll
    M llvm/test/CodeGen/X86/masked_compressstore.ll
    M llvm/test/CodeGen/X86/vmaskmov-offset.ll

  Log Message:
  -----------
  [SDAG] Use UnknownSize for masked load/store MMO size

A masked load or store will load a potentially unknown number of bytes
from a memory location - that is not generally known at compile time.
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).

This makes sure that the MMO is given an unknown size to represent this.
which is less accurate that "may load/store from up to 16 bytes", but
less incorrect that "will load/store from 16 bytes".

Differential Revision: https://reviews.llvm.org/D113888




More information about the All-commits mailing list