[all-commits] [llvm/llvm-project] c69a4d: [SelectionDAG] When splitting gathers/scatters in ...

topperc via All-commits all-commits at lists.llvm.org
Wed Mar 18 16:12:15 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: c69a4d6bef0a1350f509f35beb450dccc2a6c5e2
      https://github.com/llvm/llvm-project/commit/c69a4d6bef0a1350f509f35beb450dccc2a6c5e2
  Author: Craig Topper <craig.topper at intel.com>
  Date:   2020-03-18 (Wed, 18 Mar 2020)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp

  Log Message:
  -----------
  [SelectionDAG] When splitting gathers/scatters in type legalization, set MMO size to UnknownSize

Gather/scatter don't access one memory location, they access multiple disjoint locations. So using a fixed size isn't accurate. But we don't have a way to represent the true behavior so just use UnknownSize.

Previously we "split" the memory VT and use that size for the MMO of each half. But the memory VT is scalar so splitting usually just returned the original scalar VT, but on 32-bit X86 if the scalar VT was i64 it probably returned i32?

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




More information about the All-commits mailing list